Excelである1つのセルに「2018-12-15 14:00」と入力してcsv形式で保存したいのですが、どうしても「2018/12/15 14:00」となってしまい、「-ハイフォン」から「/スラッシュ」になってしまいます。
このセルを右クリックして、セルの書式設定の表示形式・ユーザー定義のところで「yyyy-m-d h:mm」と修正すると、一旦セルの表示では「2018-12-15 14:00」となるものの、csv形式で保存をし、再度保存したファイルを開けると「2018/12/15 14:00」となってしまい困っています。
これはセルの書式設定ではなく、別のところで設定が必要となるのでしょうか?アドバイスをお願いします。
A 回答 (5件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
推測ですが、
日付情報は、EXCELではシリアル値で保存しており、
書式設定で見た目を変えています。
それが、EXCELを再読み込みすると、
読み込んだEXCELの標準設定で表示されてしまう、
という事かもしれません。
CSVにしたら、それをテキストファイルで開いて、どのように表示されているか、
そのテキストファイルの文字をコピーして、EXCELに貼り付けたらどうなるか、
その貼り付け時に「テイスト貼り付け」を指定したらどうなるか、
等々、お試しください。
一番簡単なのは、「’2018-12-15 14:00」(先頭に「’」)で、
文字列にしてしまうことぐらいでしょう。
No.2
- 回答日時:
csvで保存したところまではちゃんと2018-12-15 14:00になってます。
メモ帳で開いて確認しましょう。悪いのは、csvをExcelで開くことです。アレはパッと見て数値になりそうだとか日付っぽいなとか勝手に判断して、好きな表示形式を勝手に適用します。住所の番地だけでも日付に見えそうなら日付にしちゃうほどです。
csvをどうしてもExcelで開きたいならちゃんとテキストQuery機能を使いましょう。csvファイルをむやみにダブルクリックしてはいけません。
No.3
- 回答日時:
日本版 Excel 2013 の[セルの書式設定]で[分類]を“日付”にしたときの[種類]は、
下記がリストされているだけで、「2012-3-14 13:30」なる表記はありません。
だから、少なくとも日本版 Excel 2013 ではCSVファイル内で「2012-3-14 13:30」や「'2012-3-14 13:30」と記載されていても、該当CSVを読み込んだ Excel は無断で自分の都合だけで「2012/3/14 13:30」に改竄しちゃうンだぁ~、と私は邪推してます。
*2012/3/14
*2012年3月14日
2012年3月14日
2012年3月
3月14日
2012/3/14
2012/3/14 1:30 PM
2012/3/14 13:30
3/14
3/14/12
03/14/12
14-Mar
14-Mar-12
14-March-12
M
M-12
ちなみに、[ロケール(国または地域)]は“日本語”、[カレンダーの種類]は“グレゴリオ暦”です。
慰めに[ロケール]を“英語(米国)”にしたときの[種類]にも「2012-3-14 13:30」形式は見当たらず、しかし、[ロケール]を“英語(英国)”にしたときはギッチョン!「2012-03-14」があるではアーリませんか!
だからと云って、英国版 Excel を買えば好いなんてな無責任なことをいうつもりは毛頭ありません。
参考になるかどうか甚だ疑問だけど、…
セル A1 に「2012/3/14 13:30」と入力(それを“ユーザー定義”で「2012-3-14 13:30」と表示するとしても)し、別の列に式
="="""&TEXT(A1,"yyyy-m-d h:mm")&""""
を入力して、「="2018-12-15 14:00"」と表示させたものをCSV化する手は如何でせうか?
当該CSVを読み込んだとき、該当部分は「2018-12-15 14:00」と表示されますよ。ただし、CSV内では「"=""2018-1-2 1:02"""」となってかも知れないし、Excel内では文字列だけど。
「ソレはイヤ」ならもう知りません。(*^_^*)
【独白】Access が作成するCSVは、Excelのものとは異なるという噂を、昔、耳にしたことがあるけど・・・
No.4
- 回答日時:
csv形式のファイルがExcelと関連付けしてあると、見た目がExcel
ファイルのようなので、Excelの機能とと同じものが保存されると
勘違いされる方がいますが、全く違うものだと認識してください。
https://www.pc-master.jp/sousa/csv.html
カンマ区切りされた値のみのファイルであり、書式情報やセル内の
値以外のオブジェクト情報をを持たないファイルです。
書式情報を持たないのですから、[ユーザー定義]としての書式情報
も保持されません。
[ユーザー定義]で表示した形式で値として保存されますが、これは
[文字列]であって日時として保存されているわけではありません。
Excelなどのソフト側で、[文字列]の値を日時として判断すれば、
いったんシリアル値として置き換え、日時として表示します。
このときの表示形式は、[ユーザー定義]ではなく通常の日時として
表示されてしまいます。
このようにExcelで関連付けをして直接開いた場合には、いったん
数値化することがあり、全角数字や括弧付きの数値なども、勝手に
判断されて、別形式の表示になってしまう仕様があるのです。
https://forest.watch.impress.co.jp/docs/special/ …
勝手に別表示されないようにするには[文字列]として取り込めば、
表示上は保存データのままになります。
けれども、あくまでも[文字列]なので日時や括弧付き数値のような
[ユーザー定義]された数値ではありません。
なので、別の[ユーザー定義]を指定しても変わりません。
このことを理解して[文字列]として取り込むようにしてはいかが。
http://www4.synapse.ne.jp/yone/excel2010/faq/csv …
http://www4.synapse.ne.jp/yone/excel2019/excel20 …
No.5
- 回答日時:
こんにちは。
Excel では、CSVのインポートにしろ、エクスポートにしろ、最低限度のことしかしないから、そういうことが起きるのではないのかなと思います。Excelは、CSVは不得意な分野ではないでしょうか。
私は、3つの対処の仕方があると思います。
1. は、No.4さん の紹介してくださった EmEditor というツールや他にも専用ツールがありますから、それで、日付値をテキスト値に変える方法です。
2.マクロによる処理。テキスト値に置き換えてエクスポートする。でも、それをインポートしても、日付値にはなりませんので、何らかの処理が必要です。(やることは、No.3 さんがお示しの通りです)
3. スタートメニュー・設定-時刻と言語-から「日付と時刻の形式を変更する」で、日付(短い形式)で、「yyyy-MM-dd」に変更する。そうすれば、デフォルト値は、ずっと同じ形式でインポートも可能になります。
後は、手間を惜しまずマニュアルで書式を変更する、ということになります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルについて教えてください。 1 2022/12/26 09:01
- Excel(エクセル) ユーザー定義について質問です。 2 2023/06/28 13:21
- Excel(エクセル) エクセルの書式設定の表示形式で設定した文字を文字列としてコピーしたい 1 2022/12/21 10:41
- Excel(エクセル) Excelの関数について教えてください。 5 2023/07/28 11:27
- Excel(エクセル) 【再度】Excelの関数について教えてください。 4 2023/07/28 13:06
- Excel(エクセル) 年月表示を取り出すには 5 2023/02/23 22:51
- Excel(エクセル) 条件付き書式を使ってユーザー定義。「数字のみ」も「数字+アルファベット」も認識させたい。 2 2022/05/28 07:22
- Excel(エクセル) 至急 Excel日付表示設定教えてください Excelの日付表示ですが、他者から送られてくるExce 6 2023/02/03 11:01
- Excel(エクセル) Excelのセル上の日付の不具合 3 2022/05/22 18:20
- Excel(エクセル) EXCELの書式設定を固定することはできませんか? 5 2023/06/20 17:05
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
EXCELで○ヶ月を○年○ヶ月に変換...
-
Excelのセルに数字を入れるが、...
-
リンク元の日付が空白の時リン...
-
エクセルの曜日表示が正しく表...
-
エクセル 4ケタの数字を年月に...
-
Excelで「20080707」を『2007/0...
-
Excel2013 表示形式で「1,000...
-
斜線が入ったセルのカウント
-
EXCEL (0.5)の表示の仕方
-
エクセルでアポストロフィーが...
-
EXCELで勝手に約分されてしまう
-
~時間~分 を数値として認識...
-
エクセル。ユーザー定義された...
-
EXCELからCSVへ変換すると0が...
-
エクセルで9と入力したら時刻...
-
エクセルで和暦年を西暦年に
-
Excel 2010で軸の書式設定の変...
-
【Excel】24:00と表示したい!
-
エクセルで日付を全角にしたい
-
EXCEL VBAで、日付の後に曜日を...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
EXCELで○ヶ月を○年○ヶ月に変換...
-
リンク元の日付が空白の時リン...
-
エクセルの曜日表示が正しく表...
-
【エクセル】数値にスラッシュ...
-
Excel2013 表示形式で「1,000...
-
Excelで「20080707」を『2007/0...
-
Excelのセルに数字を入れるが、...
-
エクセルでアポストロフィーが...
-
斜線が入ったセルのカウント
-
EXCELからCSVへ変換すると0が...
-
エクセルで日付を全角にしたい
-
西暦から、曜日を表示⇒何も入力...
-
エクセルで9と入力したら時刻...
-
EXCELで勝手に約分されてしまう
-
エクセル 4ケタの数字を年月に...
-
Excel 時間の表示形式 セルと...
-
Excelのセルの書式設定(100...
-
EXCEL (0.5)の表示の仕方
-
エクセル 日付の表示を200...
-
Excel時間の入力方法
おすすめ情報