2016/1/26追記:
昔書いた記事ですが、今だにアクセスのあることに気づきました。マクロでもっと簡単にやる方法を現在のブログに書いてますのでリンクを貼っておきます。
昔書いた記事ですが、今だにアクセスのあることに気づきました。マクロでもっと簡単にやる方法を現在のブログに書いてますのでリンクを貼っておきます。
こちらだと複数列をまとめて直すこともできます。
Excelでファイルを開くと数値が「x.xxE+12」みたいに指数表示にされてしまうときがある。
なんかのシステムから吐き出されたテキストファイルとか。
表示するのに列幅が足りないだけという場合もあるが、図の例では列幅を広げても解決しない。
これをExcelが文字列として認識してくれればこんな問題は起きないが、自動では数値として認識してしまう。
使えねーヤツ。
と言ってもあくまで表示が「x.xxE+12」みたいにされているだけで、値としては保持されている。
使えねーヤツ。
と言ってもあくまで表示が「x.xxE+12」みたいにされているだけで、値としては保持されている。
なので、とりあえずセルの書式設定で「文字列」にしてみる。
書式設定を変えただけだと指数の表示がそのまま。なんでって、仕様なんでしょう。
いったん編集状態にしてから確定してやれば指数の表示は解除される。
でも何十行も何百行も指数表示があるときも、ひとつひとつ上のような操作で直すのか?
先日もそういうケースに遭遇して、みんなに分かりやすいシンプルな解決方法が必要になった。
要は、その列全体を文字列としてExcelに認識させればいい。
TXT形式のファイルを開くときだったら「テキストファイルウィザード」でデータ形式の指定があるよな・・・と言えば、お分かりかもしれない。
TXT形式のファイルを開くときだったら「テキストファイルウィザード」でデータ形式の指定があるよな・・・と言えば、お分かりかもしれない。
指数表示になっている列全体を選択して、メニューの「区切り位置」を実行する。
「区切り位置指定ウィザード」が開く。
「次へ」を2回クリックして最後の画面まで進む。
右上の「列のデータ形式」で「文字列」を選択して完了する。
これで解決する。列全体が文字列として認識され、指数表示が解除されている。
(ちゃんと表示されてなかったら列幅が足りないだけ。広げてあげましょう。)
ひとつ気をつけたいのは、ExcelファイルではなくCSVファイルで扱う場合。
CSVファイルはデフォルトだとExcelに関連付けられている。
なので、ダブルクリックすればあたかもExcelファイルであるかのように開いてしまう。
実際、周りでそう勘違いしている人も多い。
だがCSVはただのテキストファイルであって書式は保存されない。
なので開くたびに指数表示を解除してやるしかない。
恐ろしいのは、指数表示を解除しないままExcel上でファイルを保存した場合。
指数なのが原因でExcelはご丁寧にも数値を丸めてしまうのだ。
なので開くたびに指数表示を解除してやるしかない。
恐ろしいのは、指数表示を解除しないままExcel上でファイルを保存した場合。
指数なのが原因でExcelはご丁寧にも数値を丸めてしまうのだ。
アフォよのう。
でもなんかのシステムとデータをやり取りするときには、CSVなことも多いので要注意です。