アプリ版:「スタンプのみでお礼する」機能のリリースについて

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件)

推測ですが、


日付情報は、EXCELではシリアル値で保存しており、
書式設定で見た目を変えています。
それが、EXCELを再読み込みすると、
読み込んだEXCELの標準設定で表示されてしまう、
という事かもしれません。

CSVにしたら、それをテキストファイルで開いて、どのように表示されているか、
そのテキストファイルの文字をコピーして、EXCELに貼り付けたらどうなるか、
その貼り付け時に「テイスト貼り付け」を指定したらどうなるか、
等々、お試しください。
一番簡単なのは、「’2018-12-15 14:00」(先頭に「’」)で、
文字列にしてしまうことぐらいでしょう。
    • good
    • 0

csvで保存したところまではちゃんと2018-12-15 14:00になってます。

メモ帳で開いて確認しましょう。

悪いのは、csvをExcelで開くことです。アレはパッと見て数値になりそうだとか日付っぽいなとか勝手に判断して、好きな表示形式を勝手に適用します。住所の番地だけでも日付に見えそうなら日付にしちゃうほどです。

csvをどうしてもExcelで開きたいならちゃんとテキストQuery機能を使いましょう。csvファイルをむやみにダブルクリックしてはいけません。
    • good
    • 0

日本版 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のものとは異なるという噂を、昔、耳にしたことがあるけど・・・
    • good
    • 0

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 …
    • good
    • 0

こんにちは。



Excel では、CSVのインポートにしろ、エクスポートにしろ、最低限度のことしかしないから、そういうことが起きるのではないのかなと思います。Excelは、CSVは不得意な分野ではないでしょうか。

私は、3つの対処の仕方があると思います。

1. は、No.4さん の紹介してくださった EmEditor というツールや他にも専用ツールがありますから、それで、日付値をテキスト値に変える方法です。

2.マクロによる処理。テキスト値に置き換えてエクスポートする。でも、それをインポートしても、日付値にはなりませんので、何らかの処理が必要です。(やることは、No.3 さんがお示しの通りです)

3. スタートメニュー・設定-時刻と言語-から「日付と時刻の形式を変更する」で、日付(短い形式)で、「yyyy-MM-dd」に変更する。そうすれば、デフォルト値は、ずっと同じ形式でインポートも可能になります。

後は、手間を惜しまずマニュアルで書式を変更する、ということになります。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!