• ベストアンサー

生年月日が「20080625」の様に表示されている複数のセルを年齢順ではなく、月日順に並べる方法

こんにちわ。 CSVファイルを元に、エクセルで誕生日を管理する表を作っているのですが、 大本のCSVファイルの生年月日の欄が、西暦で「20080625」「19990301」となっており/が入力されていないのです。 他の列のセルには名前や住所が入力されています。 例「名前」「住所」「〒」「生年月日」 年齢に関わらず、月順に生まれの早い日から行を順に並べた表が欲しいのですが、今のままだと年齢順にしか並べられません。 このようなセル群を年の部分は関係なく、月日順に並べる方法はありますでしょうか? あと簡単な作業で複数セルに一度に「20080625」→「2008/06/25」と/等を挿入する方法はありますでしょうか? どうぞよろしくお願い致します。

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

  • ベストアンサー
  • jo-zen
  • ベストアンサー率42% (848/1995)
回答No.3

一度、年・月・日に分離するしかないかと思います。 例えば、A1セルに「20080625」などと入っている場合、  年を取り出す =LEFT(A1,4)*1  月を取り出す =MID(A1,5,2)*1  日を取り出す =RIGHT(A1,2)*1 ということになります。後は 月を第一優先、日を第二優先、年を第三優先で並び替えればOKです。作業セルを使うやり方です。  =DATE(LEFT(A1,4)*1,MID(A1,5,2)*1,RIGHT(A1,2)*1) としてあげれば、2008/6/25のように表示できます。yyyy/mm/dd形式で表示させたい時には、  =TEXT(DATE(LEFT(A1,4)*1,MID(A1,5,2)*1,RIGHT(A1,2)*1),"yyyy/mm/dd") でOKです。 なお、*1のように1をかけてあるのは、文字列を数字に変換するためです。

lanlu
質問者

お礼

御礼が遅くなり申し訳ありません。 私の求めていたものにピッタリでした。 非常に助かりました。 ありがとう御座いました。

その他の回答 (2)

  • wisemac21
  • ベストアンサー率39% (171/429)
回答No.2

日付の8桁数字が入っている列を選択して データ→区切り位置で、列のデータ形式を日付(YMD)にしてOK これで日付データとなるはずです。

lanlu
質問者

お礼

御礼が遅くなり申し訳ありません。 ありがとう御座いました。

  • celtJapan
  • ベストアンサー率31% (67/211)
回答No.1

1.月だけを表示する新しい列を作ります。 2.その列のセルを =MID(生年月日,5,2) にして月だけを取り出します。 3.その列で並び替えを行い、非表示にでもしておく。 これでいかがでしょう?

lanlu
質問者

お礼

御礼が遅くなり申し訳ありません。 ありがとう御座いました。

関連するQ&A

専門家に質問してみよう