- 締切済み
Excelで数値を文字列にした時
例えば0001の前に「’」をつけると、0001って文字列になりますよね。 で、A1に「0001」って表示されて、オートフィルを使ってドラッグすると A2以降に0002~の番号がふられます。(今回はA1:A10に0001~0010まで ふっているということで) で、この0001とか0002って文字列のはずですよね。 なのにB1のセルに=A1+A2にするとちゃんと「3」て出てくるんですよ。 でも、COUNT関数でA1:A10を指定すると「0」が表示され、COUNTA関数で A1:A10を指定すると「10」が表示されてるってことはやっぱA1:A10のデータ は文字列ですよね。 他にもフィルタオプションで「>=’0005」(シングルクォーテーションは半角) とかって指定してもちゃんと抽出されたりと、 この「’」をつけるというのは数値を完全に文字列にしているのでしょか? ご存知の方教えてください。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- kbonb
- ベストアンサー率51% (254/492)
こんにちは 以下のページがご参考になるのでは? [XL2000] 文字数値を数値に変換する方法 http://www.microsoft.com/JAPAN/support/kb/articles/J048/6/01.asp [XL2000] 数字を文字列として書式設定した場合の予期しない動作 http://www.microsoft.com/JAPAN/support/kb/articles/J048/7/87.asp [XL97] 数字を文字列として入力する方法 http://www.microsoft.com/japan/support/kb/articles/J023/4/30.asp [XL97] 表示形式を文字列から数値へ変更後も値が文字列の場合 http://www.microsoft.com/JAPAN/support/kb/articles/J031/0/94.asp
- kougasha
- ベストアンサー率32% (34/105)
Excelは、取り扱うデータ型について、よく言えば「融通がきく」、悪く言えば「厳密さに欠ける」ので、たとえセルの書式が文字であっても、演算子で指定された値が数値として認められるものであれば、自動的に内部で数値化して計算してくれるのです。 VBAなんかでいうと、データ型に「Valiant型」というのがあります。 このValiant型というのは、数値とも数字 (文字列) とも解釈できる値を変数が保持している場合でも、この変数に対して数値演算を正常に行うことができます。 たとえば、+ 演算子を使って数値データを保持している他のバリアント型変数や通常の数値型を持つ変数を Valiant型の値に加えると、その結果は 2 つの値の合計になります。