- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルで半角数字には数値と文字列がある?)
エクセルで半角数字のセル書式による違いとは?
このQ&Aのポイント
- エクセルで半角数字を入力する際に、セルの書式を文字列に設定すると数字は文字列として入力されます。セルの書式を数値に変えても、数字は左に寄ったまま文字列のままになりますが、セル内でエンターキーを押すと数値になります。一方、セルの書式を標準や数値に設定して数字を入力すると、数字は数値として入力されます。セルの書式を文字列に変えると数字は左に寄りますが、セル間の比較では文字列としては認識されません。つまり、半角数字にはセルの書式によって文字列と数値の二つがあると言えます。
- エクセルで半角数字を入力する際のセルの書式による違いについて調べました。セルの書式を文字列に設定して半角数字を入力すると、数字は文字列としてセルに入力されます。その後、セルの書式を数値に変えても、数字は左に寄ったまま文字列のままになりますが、セル内でエンターキーを押すと数値に変換されます。一方、セルの書式を標準や数値に設定して数字を入力すると、数字は数値としてセルに入力されます。セルの書式を文字列に変えると数字は左に寄るため、セル間の比較では文字列としては認識されません。半角数字にはセルの書式によって文字列と数値の二つの状態があるようです。
- エクセルで半角数字を入力する際のセルの書式について調べました。セルの書式を文字列に設定して半角数字を入力すると、数字は文字列としてセルに入力されます。セルの書式を数値に変えても、数字は左に寄ったまま文字列のままになりますが、セル内でエンターキーを押すと数値に変換されます。一方、セルの書式を標準や数値に設定して数字を入力すると、数字は数値としてセルに入力されます。セルの書式を文字列に変えると数字は左に寄りますが、セル間の比較では文字列としては認識されません。半角数字はセルの書式によって文字列と数値の状態が変わるようです。
- みんなの回答 (4)
- 専門家の回答
お礼
> 「活性化した数値」と「不活性な数値」というように分けています。 なるほど、よくわかる表現です。 > 例えば、外部データのインポートで、テキストファイルから、区切り位置を使ってインポートしますと、数字が、そのままになってインポート出来ますから、0123 というスタイルも存在してしまいます。 はい、この質問も出発点はここなんです。 で、そのデータをリストにもってくるとワークシート関数のVLOOKUPでHitせず、Cells(i, "A").Value = Cells(i, "B").ValueでもFALSEになり、困ってしまうわけです。 頭が0からはじまるものももあるので一律に活性化させるわけにもいかず、かといって全部が不活性な数値ならそれなりに対処できますが、手作業でデータを加えるとそこだけは 「活性化した数値」になってしまい混在すると非常に厄介なんで頭を痛めているんです。 すくなくともVBAなら CStr(Cells(i, "A").Value) = CStr(Cells(i, "B").Value) 'TRUEを返す あるいは Cells(i, "A").Text = Cells(i, "B").Text 'TRUEを返す で比較すればいいわけですね? ありがとうございました。