.csv ファイルのテキスト形式の日付を Excel の日付形式に変換しないようにするにはどうすればよいですか

.csv ファイルのテキスト形式の日付を Excel の日付形式に変換しないようにするにはどうすればよいですか

.csv または .txt ファイルを Excel にインポートすると、テキスト形式の日付、つまり「Nov-24」(2021) (ファイルには二重引用符がありますが、2021 はありません) が日付形式に変換され、現在の年 (つまり 11/24/2022) が追加され、24-Nov として表示されます。その後、日付で並べ替えてみてください。

Excel では、テキスト日付フィールドの二重引用符が無視されているようです。テキスト修飾子: フィールドは " に設定されています。テキスト日付をテキストとしてインポートするにはどうすればよいですか? Excel がテキスト日付をテキスト形式で保持できるように、二重引用符以外に .csv ファイルに何が必要ですか?

CSV ファイルは JavaScript を使用して作成されます。

答え1

.csv/.txt ファイルを Excel で開くのではなく、ファイル処理ダイアログを使用します。

標準のファイル ピッカーを使用してファイルを選択した後、データ メニュー > データの取得と変換グループ > データの取得ボタン > ファイルからオプション > テキスト/CSV からサブオプションを選択すると、ダイアログが表示されます。ファイル処理ダイアログでは、フィールドをそのままインポートできます。これにより、インポート ルーチンが「インテリジェンス」(決定ルール) を適用して、ファイルの内容がワークシートの値に変換される方法を「決定」することがなくなります。

次のテストファイル

シンプルなテキストファイル

インポート対象として選択され、ファイルを選択した後、ファイル処理ダイアログが表示されました。

ファイル処理ダイアログ

ダイアログは、.txt ファイル内の「Nov-24」が日付 01/11/2024 (または mm/dd/yyyy 規則では 11/01/2024) としてインポートされることを事実上示していることに注意してください。

ただし、「データ型の検出」というラベルの付いたコントロールで「データ型を検出しない」を選択すると、これが防止されました。

インポートされたデータは次のようになります

ワークシートにインポートされたファイル

セルの数式からわかるように、セルに表示されるE2値は数値ではなく (したがって日付でもありません)、単なるテキスト文字列です (ただし、.txt ファイルにある二重引用符は失われます)。Nov-24A2

実際、「データ型を検出しない」を選択した場合、12、87.2、25、42.1 などの数値を含む、インポートされたすべての値はテキスト文字列として扱われました。

上記は、Office 365 を使用して実行されました。Excel の以前のバージョンでは、ファイルのインポート ダイアログのバージョンがかなり異なり、記憶が正しければ、列レベルでより詳細な制御が可能です (そのため、一部の列のみをテキスト文字列としてインポートできます)。

関連情報