「CSVファイルをExcelで開いたら、先頭の0が落ちてしまったけど、どうやって対処したらいいかわからない・・・」
ExcelでCSVファイルを開いた時に先頭の0が落ちてしまって困った経験をお持ちの方は多いでしょう。
本記事はそんな方に向けた、CSVファイルの値の先頭が0落ちしてしまった時の解決方法について解説する記事です。
0落ちを発生させないようにする方法や、なぜ0落ちが発生するのか、上書き保存してしまった時の対処法などについてお話ししますので、ファイル編集作業の参考としてください。
それではご説明させていただきます。
そもそもなんでCSVファイルは0落ちするのか?
CSVファイルはデフォルトでExcelで開くように設定されていますので勘違いしがちですが、Excel形式のファイルとは異なるものです。
CSV(Comma-Separated Values)はその名の通り、カンマで区切った値であり、テキストファイルです。
そのため、ExcelでCSVファイルを開かずに、テキストエディタ(メモ帳、サクラエディタとか)で編集するのが正しい形です。
そしてExcelには自動的に値のデータ型を変換するはた迷惑な機能が実装されています。
このExcelマジックと言うべく勝手に値を編集した結果、
Excel「これは数値っぽいから数値にしておいた方が助かるよね!数値にしておいたから!!」
といらない気遣いが発生してしまい、「0089」が「89」に変換されてしまうという事象が発生します。(勝手に変えないでよ・・・・)
ExcelでCSVファイルを0落ちさせずに編集する方法
前述の通りテキストエディタで編集すれば0落ちは発生しないのですが、Excelで編集する場合は、インポート機能を活用すると良いです。
例えば、下記のようなCSVファイルがあります。
サンプルCSV画像
サクラエディタだと上記のように表示されますが・・・
エクセルで開くと、このように「項目1」の値の先頭0が落ちてしまう状態になります。
Excelのインポート機能の利用手順
新規ブックを開き、「データ」タブの「テキストまたはCSVから」を選択します。
編集したいCSVファイルを選択し、インポートを選択します。
このままだと0落ちしてしまいますので、「データ型検出」を「データ型を検出しない」を選択します。
こうすると、「項目1」が勝手に数値に変更されないため、原型を保ったままExcelに取り込むことができます。
「データの変換」を選択すると、下記の画面になりますので、左上の「閉じて読み込む」をクリックします。
これで0落ちせずに、ExcelでCSVファイルを読み込むことが可能です。
ExcelでCSVファイルを0落ちした状態で上書き保存してしまった時の対処法
知らず知らずのうちに、先頭0が落ちているのに気づかずにCSVファイルを上書き保存してしまうことはよくあります。
その場合は、下記の方法で対処が可能です。
Text関数を利用する
Text関数は、セルの値を任意の形式に変換した文字列にすることができます。
大概の場合は値の桁数が決まっているものと思いますので、サンプルとして0落ちした値を7桁に補正する場合の例を記載します。
★関数の例
・=Text(A1,"0000000")
上記の例は、A1セルの値を0ありの7桁の文字列に変換させる関数です。
このように関数で文字列に変換した値を、コピーして値貼り付けで元の位置に上書きしてあげれば、0落ちする前の状態に戻すことが可能です。
上記のText関数は色々なものに応用可能ですので、データ編集の際に小技として覚えておくととても便利ですよ!
あとがき
CSVファイルの値の先頭が0落ちしてしまう時の対処法に関する記事でした!
他にもCSVやExcelにまつわる記事がありますので、事務作業の参考としてくださいね。
www.withdrawal-civilservice.com
www.withdrawal-civilservice.com
↓PowerShellで指定したフォルダ配下の全ファイルのファイルパスと、容量を降順にソートしてCSV出力するスクリプトの記事です。ファイル整理作業のお供にどうぞ。