• ベストアンサー
  • すぐに回答を!

EXCELで日付を文字列として取り出すには

EXCELで日付形式のセルの内容を、そのイメージのまま文字列にするにはどうすれば良いでしょうか。何かうまい方法があれば教えてください。 例えば、2006/01/05 と表示されている日付をそのまま文字列として 取り出したいのです。単にセルの書式設定で文字列に変えただけでは 38722とタイムスタンプの値らしきものに化けてしまうので困っています。

共感・応援の気持ちを伝えよう!

  • 回答数2
  • 閲覧数2391
  • ありがとう数3

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

  • ベストアンサー
  • 回答No.1
  • EL-SUR
  • ベストアンサー率76% (83/108)

日付が A1セルに入っているとして、 別セルに、p(..) でどうでしょうか? =TEXT(A1,"yyyy/mm/dd") ↑のままでも文字列ですが、数式を残したくないなら、 そのセルをコピーして、「編集」メニューの「形式を選択して貼り付け」-「値」とすれば、 数式での参照ではなく、文字列として確定します。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

ご回答ありがとうございます。 一応、VBAでプログラムを組んで自己解決しました。 なるほどTEXT関数というのがあったんですね。 それを使って値だけのコピーをすれば簡単ですね。 勉強になりました。ありがとうございます。

関連するQ&A

  • 文字列を日付へ

    エクセルで「04/03/2003」という文字列が入ったセルがあります。 これを日付形式に変更したいのですが、簡単な方法はありませんか? セルの表示形式のユーザー定義で「mm/dd/yyyy」としても変わりませんでした。。 何かやり方が間違えているのでしょうか??? よろしくお願いしますm(__)m

  • "/"がある文字列が勝手に日付型になってしまい困っています

    "/"がある文字列が勝手に日付型になってしまい困っています VBAのセルの書式設定について質問があります。 マラソンの順位や個人情報をまとめた表があり、その表がカテゴリ別に半角スペースで区切られているデータをセルごとにまとめています。 順位は"1/3467"のように"個人の順位/参加者"という形式なのですが、カテゴリ毎に分割してセルに文字列を入れると"Jan-67"となっており日付型として認識されてしまいます。 (個人順位が13位以降は"13/3467"といった形式に戻ることから、最初の1位から12位までの間だけだと思われます) そこで、2つほど対策をしてみました。 1,セルの書式設定を変更する  →一通り確認してみましたが、どれも変更できませんでした   ユーザー定義の使い方次第で可能かもしれませんが、分かりませんでした。 2,"/"の位置で分割して、個人順位と参加者に分けて管理する。  →"3467/1/1"という文字列に変換されているため、"/"で分割しても参加人数は認識できますが、   個人順位が日付のような形式になってしまいます。 順位の形式は変えても変えなくても構いませんので、文字列を日付型に変換せずに保管する方法をご存知でしたら、ご教授いただけないでしょうか。 よろしくお願いいたします。

  • Excel VBAで文字列の日付を判定

    Excel VBAで文字列の日付を判定 文字列の書式で”19900101”などとセルに入力されている場合に実際に存在する日付かを判定する方法はありますでしょうか? たとえば、19990132などと入力されている場合はエラーにしたいのです。ISDATEを使うのかともおもいましたがうまくいきません。 よろしくお願いします。

その他の回答 (1)

  • 回答No.2
  • imogasi
  • ベストアンサー率27% (4619/16512)

回答は#1で出ましたが、要はそのセルの書式を調べて、 (1)日付の場合はその書式文字を割り出す これは割合平凡で、調べれば、すぐわかる。 (2)ユーザー定義の場合は、上のボックスに出てくるのでそれを使う その書式文字列をTEXT関数の第2引数で””で囲んで使う。 それか http://homepage1.nifty.com/kenzo30/ex_kisotoku/ex_ks_tokubetu4.htm のようなのを見て、自分で書式文字を割り出してもよい。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

ご回答ありがとうございます。

関連するQ&A

  • EXCELの日付データを文字列に変換したい

    EXCELの和暦形式の日付データを文字列に変換する方法を教えてください。 たとえば、H17.9.2をそのまま文字列に変換したいのです。 最初から文字列データとして入力すれば問題ないのですが、日付データ(標準)として入力されたデータを書式→セル→文字列で変換するとシリアル値に変わってしまいます。(H17.9.2→38597) どうしたらよいのでしょうか。お願いします。

  • エクセルの日付への自動変換を止めさすには

    "1-2-3","2-24" という文字列の入ったCSVファイルを エクセルで開くと 2001/2/3 2月24日 というように 自動で日付と判断されてしまい、そのまま上書きすると 日付データとして確定してしまいます。 エクセルで開いても、該当のセルの値が 1-2-3 2-24 の文字列として使いたいのですが、 エクセルの「書式・セルの書式・表示形式」で、”文字” にしても、うまく出来ません。

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

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

  • Excelで長い文字列の入力について

    PCはWinXPです。Excelでセルを越える文字列が隣のセルに入力されたデータに隠されて、データが途中までしか表示されないことがあります。このような場合書式をイメージしてセル結合して入力してますがこの方法で正しいのでしょうか?途中でイメージ作業が必要になり修正も要する事もありもっといい方法があると思うのですが、よろしくご教示下さい。

  • エクセルの表示形式(日付→文字)

    エクセルで、2002/12/1のような日付が大量に入っている列があります。 そのセルの表示形式は、現在日付になっているのですが、 文字列に変更する必要が出てきました。 しかし、表示形式を文字列に変更すると、37591のような数字になってしまうセルと、2002/12/1のままのセルが出てきてしまいます。 表示形式を文字列に変えてもすべてのセルが2002/12/1のようになる方法はないでしょうか、よろしくお願いいたします。

  • Excelの日付の文字列ををシリアル値に変える?

    Excelの日付の記入が作制者毎によって違うので、共通化にするのに、手作業で困っています。 添付図のように文字列で制作者毎に打ち込まれたデーターを  一括(制作者毎でも)でシリアル値に変える方法を教えてください。 「.」や「-」(ドットやハイフン)で区切っている 西暦の下2桁や元号の数字だけとか、平24   昭和61  とかもあります。    シリアル値化して、セルの書式設定で表示を統一したり、計算したりしたいのです。    

  • エクセルで時間セルをVBで文字列として取り込むには

    エクセルです。 時間セルがあって、エクセル上での表示では 12:30:15 という風に表示するようにセルの書式設定でしているのですが、そのセルを VBで取り出そうとして、 A = Cells( 1,1 ) とかってすると、Aには、0.66656 とかって数字が入ってきてしまいます。 Aは文字列として、DIM A as String とかってしているのですけどね これをちゃんとAに、12:30:15 という形の文字列として入れるのにはどうしたらいいのでしょか

  • Excelで日付の書式を指定文字列に変換

    Excelで日付の書式を指定文字列に変換 セルから日付情報を得て、文字列でyyyymmddに変換するには、どのようにすればいいでしょうか。VBA・関数のどちらでもかまいません。よろしくお願いします。

  • Excel(csv) で入力した文字が日付になってしまいます。

    Excel(csv)で住所を管理しています。 一つのセルに1-1-1のように入力をし、 次回そのファイルを開くと2001/1/1と表示され、 セルの書式設定の表示形式をみると日付になっています。 文字列にしてみても、36892というような 数字にしかならず、元の打ったデータがなんだったか わからなくなってしまいます。 なんとかこの現象を回避する方法はありますでしょうか? よろしくお願いします。

  • エクセル 文字列を日付に変更したい

    勘定奉行21を使っています。 総勘定元帳をエクセルにエクスポートして、編集することが多いのですが、日付が文字列になってしまって困っています。これを正しい日付として認識させたいです。 エクセルに出力される日付の例 16 430 16 8 1 161020 など、和暦で表示されていて、月日は一桁の場合は半角スペースが入るようになっています。 スペースが入っているものは文字列として、3番目のようにスペースがないものについては161020という数値として認識されます。 現在行っている方法 A列に上記が入っているとして、B列に数式を入れます。 1)A列を選択し、置換えで半角スペースを"0"(ゼロ)にします。 2)B列に空白の列を挿入します。 3)B列に以下の式を入れ、下までコピーします。 =IF(A6="","",DATEVALUE("H"&MID(A6,1,2)&"/"&MID(A6,3,2)&"/"&MID(A6,5,2))) 4)B列を書式を選択して貼り付けで値にします。 5)A列を削除します。 6)A列の書式設定でユーザー設定「ge.mm.dd」と入れます。 ※B列より右側には15行ほど他のデータが入っています。 ※この日付がA6から下へ続いているのは毎回同じなのですが、出力する時によって全体の行数は増減します。 ※数式のIF部分については、値の貼り付けにした時に、エラーが残ってしまうので入れてあります。 ※H16.01.20の様な表示形式にしたいです。 今のことろは、上記をマクロで記録して、貼り付け用のシートを作って毎回使えば良いか…と考えているのですが、どうもスマートな気がしません。 他に何か良い方法が思いつく方がいらっしゃいましたら、宜しくお願い致します。 ちなみにVBAは分かりません(^^;