- ベストアンサー
生年月日が「20080625」の様に表示されている複数のセルを年齢順ではなく、月日順に並べる方法
こんにちわ。 CSVファイルを元に、エクセルで誕生日を管理する表を作っているのですが、 大本のCSVファイルの生年月日の欄が、西暦で「20080625」「19990301」となっており/が入力されていないのです。 他の列のセルには名前や住所が入力されています。 例「名前」「住所」「〒」「生年月日」 年齢に関わらず、月順に生まれの早い日から行を順に並べた表が欲しいのですが、今のままだと年齢順にしか並べられません。 このようなセル群を年の部分は関係なく、月日順に並べる方法はありますでしょうか? あと簡単な作業で複数セルに一度に「20080625」→「2008/06/25」と/等を挿入する方法はありますでしょうか? どうぞよろしくお願い致します。
- みんなの回答 (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をかけてあるのは、文字列を数字に変換するためです。
その他の回答 (2)
- wisemac21
- ベストアンサー率39% (171/429)
日付の8桁数字が入っている列を選択して データ→区切り位置で、列のデータ形式を日付(YMD)にしてOK これで日付データとなるはずです。
お礼
御礼が遅くなり申し訳ありません。 ありがとう御座いました。
- celtJapan
- ベストアンサー率31% (67/211)
1.月だけを表示する新しい列を作ります。 2.その列のセルを =MID(生年月日,5,2) にして月だけを取り出します。 3.その列で並び替えを行い、非表示にでもしておく。 これでいかがでしょう?
お礼
御礼が遅くなり申し訳ありません。 ありがとう御座いました。
お礼
御礼が遅くなり申し訳ありません。 私の求めていたものにピッタリでした。 非常に助かりました。 ありがとう御座いました。