Johnは、CSVファイルの先行ゼロの処理に関する問題について書いています。彼は会計プログラムにインポートするためのCSVファイルを作成しますが、ファイルの間違いを修正するために最初にCSVをExcelに再ロードする必要がある場合、CSVファイルに問題があります。

実際、ここで確認する必要があることが2つあります。まず、Excelは最初に作成するCSVファイルに先行ゼロを入れていますか?

次に、CSVファイルを再読み込みしてから再保存するときに、CSVファイルのゼロを維持していますか?これらは2つの別々の問題です。

最初の問題は簡単に確認できます。 CSVファイルの名前を変更してTXT拡張子を付けるだけで、メモ帳などのテキストエディタに読み込むことができます。そこで、Excelで作成された実際のCSVファイルを調べて、すべてが期待どおりの形式であることを確認できます。そうでない場合(たとえば、必要な場所に先行ゼロがない場合)、Excelが最初にCSVファイルをどのように作成しているかを考慮する必要があります。

元のExcel情報に先行ゼロがあるかどうかを確認する必要があります。存在し、それらが表示されている場合は、[セルの書式設定]ダイアログボックスの[数値]タブで、データが含まれている列がテキストとして書式設定されていることを確認する必要があります。そうでない場合は、ゼロを表示するカスタム数値形式を使用してセルをフォーマットする必要があります。どちらの場合も、先行ゼロはExcelで作成されたCSVファイルに含まれます。

これにより、2番目の問題が発生します。 CSVファイルをExcelにロードすると、ロードされるデータの形式を判別しようとします。 CSVファイルをメモ帳に読み込んだときに、Excelの出力ファイルに先行ゼロが含まれていても、フィールド自体に引用符がないことに気付いたと思います。これは、Excelがフィールドをインポートするときに、フィールドを数値として自動的に認識することを意味します。既定では、数値は数値フィールドの1つを使用して表示されるため、Excelで表示される先行ゼロはすべて消去されます。

この問題を回避する方法は、このヒントの前半の情報に基づいてかなり明白になります。どういうわけか、Excelに受信情報をテキストとして認識させ、先行ゼロを重要なものとして扱う必要があります。これを行う最も簡単な方法は、CSVファイルをロードする前に次の手順に従うことです。

。 CSVファイルの名前がTXT拡張子になるように変更してください。この手順を実行する必要があります。そうしないと、Excelが手順5でテキストインポートウィザードを開始しないため、残りの手順は機能しません。

。 Excel内で、ツールバーの[開く]ツールをクリックします。 Excelに[開く]ダイアログボックスが表示されます。 (Excel 2007でこのダイアログボックスを表示するには、[Office]ボタンをクリックしてから[開く]をクリックします。)

。ダイアログボックスの下部にある[ファイルの種類]ドロップダウンリストを使用して、テキストファイル(.prn; .txt; * .csv)を開くことを示します。

。手順1で名前を変更したファイルを選択します。

。 [開く]をクリックします。 Excelはテキストインポートウィザードを開始し、[ステップ1/3]ダイアログボックスを表示します。 (図1を参照)

。 [区切り]を選択していることを確認してから、[次へ]をクリックします。 Excelは、[ステップ2/3]ダイアログボックスを表示します。

。区切り文字としてカンマが選択されていることを確認し、[次へ]をクリックします。 Excelは、[ステップ3/3]ダイアログボックスを表示します。興味深いのは、TXTファイルのデータが、フィールドの先行ゼロを含めて、ダイアログボックスの下部に表示される必要があることです。

。ダイアログボックスの下部で、先行ゼロのあるフィールドをクリックします。これで、列全体が選択されます。

。 [列データ形式]領域で、[テキスト]ラジオボタンが選択されていることを確認します。

。先頭にゼロがある他のフィールドについて、手順8と9を繰り返します。

。 [完了]をクリックします。ファイルがインポートされますが、先行ゼロはそのままです。

これで、必要に応じてExcelで作業を行い、データをCSV形式で保存できます。 (ただし、単に[保存]を使用するのではなく、[名前を付けて保存]を使用する必要があります。)先行ゼロは、保存されるデータに含まれます。

_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。

このヒント(2588)は、Microsoft Excel 97、2000、2002、および2003に適用されます。Excel(Excel 2007以降)のリボンインターフェイス用のこのヒントのバージョンは、次の場所にあります。