• ベストアンサー

日付を含むCSVをExcel2019で開くと不正確

添付画像のようにCSV(画像左)の日付がExcelで不正確に解釈されます。 ・16/08/2021 これは、そのまま16/08/2021で取り扱われます。 ・09/08/2021 これは、日付として扱われ、September,8,2021 になります ・02/08/2021 これは、日付として扱われ、February,2,2021 になります CSVのコピペで発生、マクロでCSVを読み込んでも同じです。 CSVのデータをそのままの形(Excelの解釈不要)で扱いたいのですが、どうしたらよいでしょうか。

質問者が選んだベストアンサー

  • ベストアンサー
  • HohoPapa
  • ベストアンサー率65% (454/692)
回答No.3

>添付画像のようにCSV(画像左) タブ区切りのテキストファイルですね。 つまり、 comma-separated values:CSV ではなく、 character-separated values:CSVの一種ということでいいでしょうか。 また、 日付と思しき文字列が日付形式(日付Serial値)に変換されてしまうことを避けたい。 ということですね? エクセルの貼り付け先のとなるセルたちの表示形式を 予め文字列にしておき、 課題のテキスト(文字たち)をクリップボード経由で貼り付けることで 期待の動作になると思います。 それとも、これらの作業をVBAで行うコードを 期待していますか?

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (2)

  • asciiz
  • ベストアンサー率70% (6656/9434)
回答No.2

「日付っぽい物」を「適当に」解釈するのはExcelの悪癖ですので、ただの「文字列」として読み込ませればいいと思います。 Excelの操作で言うと、 ・新規シート作成 ・「データ」リボンから「外部データの取り込み:テキストファイル」を選択 ・ファイル選択ダイアログでCSVファイルを選択し、[インポート] で開く ・テキストファイルウイザード1/3→「カンマやタブなどの(略)」を選択して次へ ・テキストファイルウイザード2/3→「区切り文字:カンマ」を選択して次へ ・テキストファイルウイザード3/3→日付のある列をクリックし、「文字列」を指定。複数列あるならそれぞれ文字列指定。 ・[完了]ボタンで読み込み。 これで、どんな日付データが入っていようとも化けなくなると思います。 というか日付データ扱いされないので右寄せにならず、単なる文字列として左寄せでセルに入ります。 手動で出来るんだから、マクロでそういう読み込み指定もできると思うのですが、組んだことありません…。

全文を見る
すると、全ての回答が全文表示されます。
  • kzr260v2
  • ベストアンサー率48% (794/1630)
回答No.1

Excelは、csv読み込み時に列ごとにデータ型を指定できる「テキストインポートウィザード」の機能があります。また最新バージョンでは「Power Query」という機能がさらに追加され、どちらも利用できるようです。 詳細な使い方については、Googleなどで以下のキーワード検索をお試しください。 Excel テキストインポートウィザード データ型 日付 Excel Power Query データ型 日付 ※ Power Queryは読み込み後にもデータ型の変更ができるようです。テキストインポートウィザードは、読み込み時の内容のままですが、古いバージョンのExcelとデータを共有しているときは、こちらのほうが良いかもしれないです。 以上、参考にならなかったらごめんなさい。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 複数CSVをエクセル複数シートに自動コピペ

    同じ形式のCSVファイル(計12)を一つのエクセルファイルの各12シートに コピペする作業を毎月行っています。 エクセルファイル・12個のCSVファイルは同じフォルダに保管していますが、 マクロ等を使って自動でコピペできる方法を教えて下さい。 ※現在、マクロを勉強中ですが、中々思うようなマクロが組めません…。

  • エクセルのマクロの記録でcsvファイルを開いたら日付が変わった

    エクセル2000のマクロの記録で「xxx.CSVファイルを開く」を作ってオート実行したところ、ある日付の列、2008/7/15 などがすべて2001/7/15、2025/7/1などとんでもない日付に変わってしまいます、手動で開くと正常です。一度手動で開いてファイルをxxx.xlsで保存してマクロを記録し、オートで実行すると正常です。セルの書式を見ると日付になっています、どこに問題があるのでしょうか。よろしくお願いします。

  • CSVで出力された予定表から必要な情報をEXCELファイルの対応箇所へ

    CSVで出力された予定表から必要な情報をEXCELファイルの対応箇所へマクロでコピーする お世話になります。 先ほど同じ内容で投稿したのですが画像が添付できませんでしたので、再度投稿させていただきます。 EXCELで月間の報告書を作成しています。 ひと月の作業内容を1日ずつ記載します。 そして、現在それとは別にグループウェアを使用しており、そちらにはスケジュールをCSVでエクスポートする機能があります。 ですので、グループウェアからCSVで出力されたデータをそのまま報告書の「作業内容」と「場所」の列の日付の対応する行へ挿入できるようなマクロを作りたいと思っています。 ただ、CSVで出力されたものと報告書では月間の行の使い方が違うのでどのようにしてやろうかと悩んでいます。 CSVファイルの内容から使用したいのは「予定詳細」「場所」で、EXCELのE列とF列に挿入したいと思っています。 エクスポートしたCSVの画像と、報告書のEXCELの画像を添付します。 説明が難しくてすみませんがお知恵をいただければと思います。 よろしくお願いします。

  • CSVファイルの扱いについて

    CSVファイルを業務で扱うにあたり、皆さんはどのようにされてますか? インターネットなんかでは、とかく「テキストファイル取込みウィザードを使う」とかの方法ばかり紹介されますが、あんな小難しく面倒な方法を、みんな使われているのでしょうか? 1回や2回ならともかく、何度もCSVを開くに当たっては、テキストファイル取込みウィザードをいちいち使ってたら時間がかかりすぎます。項目数の多いCSVを扱いますし。 周囲にそのやり方を説明しても、七面倒臭いので受け入れられません。私はマクロができるので、もうマクロで取り込むようにしてますが。 皆さんはどのようにされてますか?CSVはExcelで開いてコピペとかするようにしてますか?でもそれだと、Excelの独自解釈機能によって「0001」みたいな文字は先頭のゼロが欠損したりするし、困るんですよね。

  • csv取込マクロについて

    添付画像の通り、 csvファイルの各行を、エクセルの指定の行(場所)に取り入れるマクロを教えていただきたいです。

  • Excelの日付書式について

    Excelの日付書式についての質問です。 使用環境 OS:Windows7 Professional Office :Excel 2013 Excelを使っていて、 いつの間にか、日付の書式が変わってしまった現象が出ました。 今までは、 2015/04/23という書式が 2015 04 23になっています。 ※/(スラッシュ)が、スペースになっている。 現象のスクリーンショット画像を添付しておきますので どなたかこの現象を元に戻す方法を知っていれば教えてください。 よろしくお願いします。

  • CSVからエクセルへの取り込み

    エクセル・マクロ初心者です。 CSVファイルの一部分を、エクセルで読み込みたいのですが、 マクロでの作成は可能でしょうか。 (例) ・CSVファイル(読み込み側)  ABCDE 1 2 3 4 5 ・EXCELファイル(書き込み側)  ABCDE 1 2 3 4 5 ・CSV側は、複数のファイルがあります。 ・EXCEL側は、1つのシートにCSVのデータを書き込みます。 ・CSVファイルAの1B、2B、3B、4B、5Bを読み込み、EXCELファイルの、1A、1B、1C、1D、1Eに書き込みます。 ・CSVファイルBの1B、2B、3B、4B、5Bを読み込み、EXCELファイルの、2A、2B、2C、2D、2Eに書き込みます。 ・CSVファイルCの1B、2B、3B、4B、5Bを読み込み、EXCELファイルの、3A、3B、3C、3D、3Eに書き込みます。 というような事をやりたいのです。 どなたか、ご指導のほどよろしくお願いします。

  • Excel VBAでCSVファイルを読込むと何故か文字列が日付に変換さ

    Excel VBAでCSVファイルを読込むと何故か文字列が日付に変換されて困っています。 すごく困っております。どなたか教えて下さい。 状況を申し上げますと、以下のようなCSVデータがあります。 "住所1","住所2" "東京都港区青山","1-24-11" このとき、別なCSVにデータを移すという単純なものです。 通常は、 WsCount.Cells(1, 1).Value =Cells(2,1).value WsCount.Cells(1, 2).Value =Cells(2,2).value で、セルにある文字をそのまま、新しいシートのセルに移すだけのことですが、 何故か、"1-24-11"が日付に変換され、"2011/1/24"に変わってしまいます。 デバックなどで、途中経過を見ても既に日付にかわっており、 どうにも対応ができません。 以前は""で囲んである文字は、文字のまま認識していたと思いますが、 何故か今回はうまくいきません。 ちなみに、Excel2007です。 どなたか、教えて下さい。 宜しくお願いします。

  • 【エクセル】今日の日付に赤枠をつけたい【Excel】

    【エクセル】今日の日付に赤枠をつけたい【Excel】 無知なわたしめにどなたかお助けお願いします! エクセルを使ったカレンダーが必要なのですが、 画像のようなカレンダーで、今日の日付のところに自動的に赤枠をつけていきたいのです。 やればやる程深みにハマっていき・・・ やはり、マクロか何かの知識が必要になってくるのでしょうか。 どなたかご指南の程よろしくおねがいします。 画像:6月16日の場合になります 日にちのところには、関数は入っておらず、ただ数字が入力してあるだけになります。

  • エクセルのcsv保存で。。

    前と同じような質問ですみません。。。 エクセルのSheet5をcsv形式で保存する際、 名前を付けて保存のダイアログを表示させて、 ファイルの名前を常に「bonaplus.csv」と 既定値で表示させておくようなマクロは できないでしょうか? ※bonaplusの後には作成日付を入力します。 ※csvファイルを作成した後に元のエクセルファイルの  保存になります。

専門家に質問してみよう