• ベストアンサー

文字列から数値への変換

セルの書式設定(表示形式タブ)で文字列を数値に変えるのと、 VALUE関数で文字列を数値に変えるのとでは何か違いがありますか? (excel2000です。)

質問者が選んだベストアンサー

  • ベストアンサー
  • comv
  • ベストアンサー率52% (322/612)
回答No.3

こんにちは! 既に入力されている 文字列の数字 に対しての 扱いとしては、全然違うものです。 表示形式は 表示(見た目)を変えるだけでデータ自体の 形式を変えるものではありません VALUE関数 はご存知の通り 文字列の数字 を 数値 に 変えるもので 文字列形式→数値形式 と形式が変わります 例 A1に 書式設定 表示形式 文字列 で 数字を入力 123 当然 文字列として左揃えで表示されますが その後 表示形式を 数値 にしても データは 文字列のままです。 B1に =VALUE(A1) で返された結果は 数値 です。 両方試した時点で A2に =SUM(A1) B2に =SUM(B1) と入力してみて 下さい 結果は A2は0 B2は 123 となる筈です。 逆の入力と設定(数値→文字列) A1に 書式設定 数値(標準でも可) 123 と入力 その状態で 表示形式を 文字列 としても =SUM(A1) では 123 の結果が返ります 見た目は左揃えの文字列ですが入力した時点の数値の形式 はそのままです。 数式で数値から文字列への形式変換なら  =A1&"" とか =TEXT(A1,"0") などでしょうか! 再度上書き入力すれば設定通りの形式で入力されます! ま~これは「変える」わけではなく入力し直すだけですが

fuku_z
質問者

お礼

comvさん、こんにちは。 >表示形式は 表示(見た目)を変えるだけでデータ自体の >形式を変えるものではありません そうだったんですか!実は具体例に示されたとおり、 集計時に集計されるときと、そうでない時があったので、何でなのか なあといつも思っていたのです。 このような質問は調べることが難しくて今回、こちらを利用させて いただきました。回答ありがとうございました!

その他の回答 (3)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.4

「文字列を数値に変えるのと」とあるので、文字列も数字0-9を連ねた文字列のことを仰っていると思いますが、(1)「’」を先頭につけて入力する。(2)数値で入力して書式で文字列にするなどを指しておられるのでしょうが、元々エクセルでは入力する文字が0-9ばかりかどうかが差が出るだけです。 文字列で数字を入れるのが難しい。と言うのは(1)(2) とも=A1*2などの演算ができてしまう。自動的に型変換が行われるとも言えます。「’」のケースも文字列というよりは、左づめと言う意味合いである。差が出たのは=T(A1)の結果ぐらいでした。('2000の時は2000,2000の時はスペースとなる。) (3)'2000を書式-セル-表示形式-数値にしても表示も変わらず=T(A1)も2000(左詰のまま)でした。 したがって質問の意味がよくわかりません。 敢えて言えば、表示形式で数値化は何も効果が見えない。(この点反証があればどなたかご教示願いたい)。

fuku_z
質問者

お礼

回答ありがとうございます。No3の方の回答で解決しました。

  • Hageoyadi
  • ベストアンサー率40% (3145/7860)
回答No.2

うーん、出来上がったファイルの大きさに違いがあるのかもしれませんが・・・ たとえばセルA1に「=VALUE("$1,000")」とした場合は、セルの書式設定と結果は変わりませんね。 でもVALUE関数を使う場合は、入れ子として別のセルや計算の結果を放り込むことができて用途が広がりますよね。 例 A1に「$1,000」B1に「$3,000」C1には「=VALUE(TEXT(A1,0)&TEXT(B1,0)」と入力するとC1の表示は「10,003,000」となります(ってこのたとえじゃなんの役に立つか分からん)。

fuku_z
質問者

お礼

回答ありがとうございます。No3の方の回答で解決しました。

  • osamuy
  • ベストアンサー率42% (1231/2878)
回答No.1

内部的には違いあるかと。例えばファイルサイズが変わるとか。 ただし、ユーザーのオペレーションに対して、Excelが自動型変換を行うので、実用上違いはないと思います。 まあ、多分、私が違いを知らないだけなのでしょうが。

fuku_z
質問者

お礼

回答ありがとうございます。No3の方の回答で解決しました。

関連するQ&A