こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

excelで日付を文字列として保存したい

excel(たぶんかなり新しいバーション)を使っています。
最近のexcelはバージョンすら、見方がわかりません。

さて、日付を"2015-01"という書式で、テキストファイルとしてアップロードしないといけなくなりました。2015-09 と入力すると 2015/9/1 として保存されてしまうので、セルの書式を 文字列にし、2015-09  や 2016-12などとうちこんでから.csvで保存しました。
このファイルを開けると、それらがすべて2015/09とか2016/12として保存されています! これを セルの書式を 文字列 に変更すると42248 とかになってしまいます。
そんなこんなで一日つぶしています。マイクロ●●●社は社会に、もはや善よりも悪をもたらしているように信じていますが、それはさておき、2015-01をあるがままの文字列として.csvに保存するにはどうすればよいのでしょうか。' を頭につけるて、ファイルをアップロードすると規則違反なので、別の方法をお教えください。

投稿日時 - 2018-06-11 18:05:40

QNo.9507294

困ってます

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

「csv」ファイルは、単なるテキストファイルです(メモ帳で開きます)。

ですから、まず、メモ帳(またはお持ちのテキストエディタ)で開いてみてください。

それで問題なければ、「csv」ファイルには問題ありません。

問題はエクセルに読み込むときです。

そのまま、ダブルクリックなどして開いた場合は、エクセルは勝手な事をしてしまうので、ダメなのです。

メニューの「データ」→「外部データの取り込み」→「テキストファイル」で、ファイルを選択し、「インポート」ボタンを押します。

「次へ」→「カンマ」にチェックを入れて、「次へ」

すべて「G/標準」となっているとおもいますので、すべての列で良ければ、「Shift」を押しながら、最終列をクリックすると、すべての列が選択されますので、「文字列」にチェックを入れて、「完了」すれば、すべての列が文字列として読み込まれますので、そのような勝手な変換は行われません。

もちろん、「2015-01」の列だけ、「文字列」にしたければ、その列だけが選択されている状態で、上記の操作を行ってください。

投稿日時 - 2018-06-14 13:09:32

お礼

なるほど、安易にダブルクリックで開いてはいけないということですね。列を選択して「文字列」として指定するわけですね。ありがとうございました。

投稿日時 - 2018-07-13 20:13:28

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(7)

ANo.7

こんにちは
>2015-09 と入力すると 2015/9/1
上記のように入力するとエクセルは無条件で日付(シリアル値)と
解釈して受けます。
テキスト宣言するにはシングルコーテーション(Shift+7)から始めます
’2015-09

投稿日時 - 2018-06-14 13:32:17

お礼

やはりそうでしたか。シングルクオーテーションがはいったファイルをアップロードすると、受け付けられないのでこまりますね。。。

投稿日時 - 2018-07-13 20:10:30

ANo.5

》 このファイルを開けると、それらがすべて
》 2015/09とか2016/12として保存されています!
それは貴方の勝手な誤解です。
メモ帳等のテキストエディタで開いてみてください。
チャンと 2015-09とか2016-12として保存されています。このことを知らない回答者もおられるようですね。
つまり、当該CSVを作成した Excel自身で開くと化けてしまうというお粗末なことになっているのです。
これはMSお得意の“小さな親切、余計なお世話”の仕業なのです。

私なら、「MSのヤツ~」の呪いながら、CSVファイルを読み込んだ後で、セルの書式を
yyyy-mm
に変更します。
あるいは、別セルに式 =TEXT(A1,"yyyy-mm") で変換します。

投稿日時 - 2018-06-12 06:57:03

お礼

なんかむずかしい原因があるのですね。
マイクロソフトの社会貢献は10年ほど前に終わって、あとは害毒しか流してないものと信じています。

投稿日時 - 2018-07-13 20:16:24

ANo.4

>セルの書式を 文字列にし、2015-09  や 2016-12などとうちこんでから.csvで保存しました。
csv形式でなくtxt形式で保存すれば良いのではないでしょうか?

>このファイルを開けると、それらがすべて2015/09とか2016/12として保存されています!
csv形式のファイルはExcelで開くと自動的にデータ形式を変換しますのでメモ帳やワードパットのような文書編集ソフトで開けば良いでしょう。(csv形式のファイルもメモ帳で編集できます)

>それはさておき、2015-01をあるがままの文字列として.csvに保存するにはどうすればよいのでしょうか。
csvファイルをExcelで直接開かずに新規ブックを開いてcsvファイルから外部データの取込みでcsvファイルからインポートするときに日付の列をテキストに指定すれば良いと思います。

投稿日時 - 2018-06-11 23:29:01

お礼

列がある程度多いと、テキストエディターで開いても、わけわかんないので、そのためにエクセルがあると思うのですが、そのエクセルが勝手なことをするので、困っています。
別の方も書かれていますが、ダブルクリックせずに、インポートするわけですね。

投稿日時 - 2018-07-13 20:20:27

ANo.3

質問者は、エクセルの初心者で、勉強不足で、見当違いの意見を述べているような気がする。
エクセルで、日付を入力すると、例えば、本日は、半角で2018/6/11のように入力するのが標準方法で、セルの値は43262という数字(に直して)で持っています(実は、時刻部分もあるので、小数点以下付の数)日付シリアル数といって1900年1月1日を第1番目とする、今日の日付の実カレンダーでの順序数(何日目に当たるか)です。
エクセルで、日付の演算や関数での加工や、セルの表示形式は、すべて日付シリアル値でセルにデータが入っていることが前提です。見た目は同じでも、文字列での入力はだめで、関数で文字列を日付シリアル値に変換しないといけない。
従って日付を省いた日付(年月のみ)は、処理がむつかしい。すべて1日にわざと入力して、表示形式で年月だけに見せたりする。
それをユーザーは、日付けの書式を指定する操作を行い、好みの表現にして見せて・見ているのです。
その際、日付をフル日付で見せないで、ユーザー定義で、「yyyy-mm」を適用すれば、見かけ上2018-06に見えます。
これを文字列の「2018-06」としたいなら、別列のセルで関数を使って
=TEXT(A1,"yyyy-mm")とします.別列が使わないなら、VBAというプログラムをつくることが必要です。
以上が基礎論です。
これらの点は、誰かエクセルのわかった人に聞くか、講習を受けるか、辛抱強く自習しないと、自ずとわかるというわけではないでしょう。
ーー
質問者の言うような日付文字の、CSVファイルを作るのは、また別テーマの問題です。エクセルは、できるだけ数字化してセルに数値データとしようとする工夫がされているので、なかなか梃子釣ります。
一番手軽のは「 '2018-06 」と一番先頭に、アポストロフィをつけて入力することじゃないかな。文字列の扱いになります。入力し直すとか。
これでうまく行くか、やってみてください。
アポストロフィをつけて入力して、
エクセルで保存し(拡張子csv)、メモ帳で開くと
2017-12
2018-05
2018-06
のようになりましたが。
私なら、上記の件がうるさいので、エクセルに頼らず、VBAでCSVファイルを作りますが。

投稿日時 - 2018-06-11 22:15:35

お礼

エクセルに打ち込まれている方ですね。ありがとうございました。

投稿日時 - 2018-07-13 20:25:50

ANo.2

> セルの書式を 文字列にし、2015-09  や 2016-12などとうちこんでから.csvで保存しました

これで大丈夫ですよ。「このファイルを開けると、それらがすべて2015/09とか2016/12として保存されています」というのは、そのファイルをエクセルで開けるからです。エクセルで開けるときに2015-09という文字列を自動的に2015年09月1日と解釈して適当な書式で表示するのです。csvファイルを開くときにエクセルを使わなければ、ちゃんと2015-09という文字列で保存できていることが確認できるでしょう。

投稿日時 - 2018-06-11 18:54:40

お礼

ありがとうございます。列の数がかなりあって、エクセルで開けないと仕事になりません。でも2016-12として保存されているなら、そう表示してくれると助かるのですが。。。

投稿日時 - 2018-07-13 20:24:18

ANo.1

2015-01をあるがままの文字列として.csvに保存するには、おそらく、' を頭につける以外に方法はありませんので、エクセルで全セルの書式を文字列にしてから2015-09 と入し、.txtのファイル形式で保存されてはいかがでしょうか。

投稿日時 - 2018-06-11 18:16:19

お礼

なるほど.txt形式というのもひとつの手ですね。

投稿日時 - 2018-07-13 20:25:18

あなたにオススメの質問