• ベストアンサー

文字列を日付に変換

Excel2003,2010を持っています。 GoogleアナリティクスからCSVデータを出力しましたが、日付のところが下記のような形式で出力されます。 「2011年7月12日火曜日」 これではピボットテーブルでグループ化したり、色々な形で日付を再利用できません。 上記の形の文字列を簡単に日付形式に変換する関数などはあるでしょうか?

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

  • ベストアンサー
  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.4

以下のようなワイルドカード置換が簡単です。 対象範囲のデータを選択し、Ctrl+Hで置換ダイアログを出し、検索する文字列に「?曜日」(半角の?です)と入力し、置換後の文字列には何も入力せず「すべて置換」してください。

その他の回答 (4)

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.5

参考までに、No4の回答の補足です。 ワイルドカード置換で曜日部分を削除したデータ(日付シリアル値のデータ)を、もとの曜日を付けたままの表示形式で表示したい場合は、対象セル範囲のセルの表示形式をユーザー定義にして、例えば以下のように設定してください。 yyyy"年"m"月"d"日"aaaa このようにしておけば、見かけ上はCSVファイルと全く同じ表示のデータで(逆にテキスト形式でCSVファイルに保存する場合も同じ形式で保存できます)、データはシリアル値になっていますので、エクセル上では日付のグループ化や並び替えなどが可能になります。

mellow91
質問者

お礼

こんにちは。このやり方が一番簡単にできました!ありがとうございます!こんな手があるなんて・・・関数を駆使してやらないといけないのかなと思っていたのに、目からウロコです。ありがとうございます!

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.3

A1セルから下方にお示しのようなデータがあるとしてB1セルには次の式を入力して下方にオートフィルドラッグします。 =IF(A1="","",TEXT(LEFT(A1,LEN(A1)-3)*1,"yyyy年m月d日"))

mellow91
質問者

お礼

なるほど!これでもできました!ありがとうございます!感謝感謝です!!

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.2

 回答番号ANo.1です。  曜日を表している部分が、必ず3文字となっているのでしたら、次の様な関数でも変換が出来ます。 =LEFT(A1,LEN(A1)-3)+0  こちらも、エラーを出さない様にする場合には、次の様な関数となります。 =IF(ISNUMBER(LEFT(A1,LEN(A1)-3)+0),LEFT(A1,LEN(A1)-3)+0,A1&"")

mellow91
質問者

お礼

なるほど!これでもできました!ありがとうございます!感謝感謝です!!

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.1

 今仮に、A1セルに問題の文字列データが存在しているとしますと、 =LEFT(A1,FIND("日",A1))+0 と言う関数になります。  尚、変換出来ない場合にも、エラーを出さない様にするためには、次の様な関数となります。 =IF(ISNUMBER(LEFT(A1,FIND("日",A1))+0),LEFT(A1,FIND("日",A1))+0,A1&"")