更新:2024/12/28;作成:2018/01/25
- 下表のD列に生年月日(日付データ)が入力されています。
なお、この日付はシリアル値で入力されています。
これらのデータを日付を基準に昇順(小さい順:日付の古い順)に並べ替えたいと思います。
|
B |
C |
D |
E |
2 |
連番 |
氏名 |
性別 |
生年月日 |
3 |
1 |
上原嘉男 |
男 |
平成7年9月7日 |
4 |
2 |
森永彩芽 |
女 |
平成8年6月16日 |
5 |
3 |
古田恵 |
女 |
平成5年1月14日 |
6 |
4 |
坂元彩香 |
女 |
平成22年9月9日 |
7 |
5 |
坪井尚生 |
男 |
平成17年5月26日 |
8 |
6 |
中野野乃花 |
女 |
平成4年3月25日 |
9 |
7 |
岩渕佳代 |
女 |
平成13年9月28日 |
10 |
8 |
市村将文 |
男 |
平成21年11月28日 |
11 |
9 |
芦田公平 |
男 |
昭和63年11月30日 |
12 |
10 |
高見美姫 |
女 |
平成23年1月9日 |
13 |
11 |
高山晴彦 |
男 |
平成6年9月3日 |
14 |
12 |
高島嘉子 |
女 |
平成5年12月5日 |
15 |
13 |
蛭田功一 |
男 |
昭和63年5月27日 |
16 |
14 |
北奈那 |
女 |
平成17年11月15日 |
17 |
15 |
本田明莉 |
女 |
平成14年4月20日 |
- データリストの並べ替えの基準とする列のセルを1つ選択します。
下図のように、E列のセルを1つ選択します。
(Excelに並べ替えの基準列がE列であるのを示します)
- [データ]タブの並べ替えとフィルターグループにある[昇順]ボタンをクリックします。
- データが日付の早い順番に並べ替えられました。(日付のシリアル値が小さい方から順番に並べ替えられました。)
- 下表のE列に生年月日(日付データ)が入力されています。
これらのデータを日付を基準に降順(大きい順:日付の新しい順)に並べ替えたいと思います。
- データリストの並べ替えの基準とする列のセルを1つ選択します。
下図のように、E列のセルを1つ選択します。
(Excelに並べ替えの基準列がE列であるのを示します)
- [データ]タブの並べ替えとフィルターグループにある[降順]ボタンをクリックします
- データが日付が若い順番に並べ替えられました。(日付のシリアル値が大きい方から順番に並べ替えられました。)
- 日付が文字列で入力されていると、日付の順番に並べ替えることができない場合があります。
文字列の日付をシリアル値に変換すると期待する順番に並べ替えることができます。
- ここでは下表のデータを使用しました。
データの頭に '(アポストロフィ)を付けています。
この表をコピーしてExcelで使用するときにE列に日付を文字列とするためです。
アポストロフィが無いとExcelに貼り付けるとシリアル値に変換されてしまうためです。
|
B |
C |
D |
E |
2 |
連番 |
氏名 |
性別 |
生年月日(文字列) |
3 |
1 |
上原嘉男 |
男 |
'平成5年1月12日 |
4 |
2 |
森永彩芽 |
女 |
'平成4年7月12日 |
5 |
3 |
古田恵 |
女 |
'平成4年5月12日 |
6 |
4 |
太田千恵子 |
女 |
'平成4年2月12日 |
7 |
5 |
豊田啓一 |
男 |
'平成4年4月12日 |
8 |
6 |
新村遥奈 |
女 |
'平成4年10月12日 |
9 |
7 |
坂元彩香 |
女 |
'平成5年6月12日 |
10 |
8 |
坪井尚生 |
男 |
'平成4年8月12日 |
11 |
10 |
中野野乃花 |
女 |
'平成4年9月12日 |
12 |
11 |
岩渕佳代 |
女 |
'平成5年4月12日 |
13 |
12 |
市村将文 |
男 |
'平成5年5月12日 |
14 |
13 |
芦田公平 |
男 |
'平成4年12月12日 |
15 |
14 |
高見美姫 |
女 |
'平成4年11月12日 |
16 |
15 |
高山晴彦 |
男 |
'平成4年3月12日 |
17 |
16 |
高島嘉子 |
女 |
'平成5年3月12日 |
18 |
17 |
蛭田功一 |
男 |
'平成4年1月12日 |
19 |
18 |
北奈那 |
女 |
'平成4年6月12日 |
20 |
19 |
本田明莉 |
女 |
'平成4年9月12日 |
- 下図はE列を基準に、昇順に並べ替えたものです。
データが日付順に並んでいないことがわかると思います。
実は、E列は文字列の日付が入力されており、月と日が1桁と2桁が混在しているため、思った結果通りに並んでいません。
- データの型はTYPE関数で調べることができます。
返り値が 2 ですのでセルのデータは テキスト(文字列)ということがわかります。
- 1は数値、4は論理値、16はエラー値、64は配列となります。
- G3セルに =MID(E3,2,10)*1 としてシリアル値に変換します。
G3:G20セルの表示形式は 日付の表示形式としています。
- G3:G20セルを選択して、[Ctrl]+[C]でコピーします。
E3セルを選択して、[Shift]+[Ctrl]+[V]で値の貼り付けを行います。
数式バーにはE3セルの値(シリアル値)が表示されています。
G列を削除します。
- E列の表示形式を [$-ja-JP]ggge"年"m"月"d"日" としました。
E列のセルを1つ選択します。(Excelに並べ替えの基準列がE列であるのを示します)
- [データ]タブの並べ替えとフィルター グループにある[昇順]ボタンをクリックします。
- データが日付の早い順番に並べ替えられました。(日付のシリアル値が小さい方から順番に並べ替えられました。)
- Excel for Microsoft 365、Excel2021、Excel2024ではSORTBY関数が使えます。
SORTBY関数を使って文字列の日付をシリアル値の昇順で並べ替えることができます。
SORTBY関数の詳細な使い方は SORTBY関数で指定した範囲または配列でデータを並べ替える をご覧ください。
- 日付の文字列は前までとは異なっていますことご了解ください。
G3セルに=SORTBY(B3:E20,(MID(E3:E20,2,10)*1)) と入力して、日付のシリアル値の昇順(小さい順)に並べ替えています。
(MID(E3:E20,2,10)*1) と 頭のアポストロフィを除いた値に 1を掛けることで文字列をシリアル値に変換しています。
SORTBY関数で、このシリアル値を基準にデータを並べ替えています。
並べ替える元のデータのE列のアポストロフィはそのまま表示されます。
- 年を無視して、月日だけを基準に並べ替えるのもSORTBY関数を使うと簡単です。
=SORTBY(B3:E20,TEXT(MID(E3:E20,2,10)*1,"MMDD"))
日付から月日だけを取り出して、文字列の 月日 を基準に並べ替えています。
月日をともに二桁 MMDD として取り出しているのもポイントです。
なお、ワークシート関数のTEXT関数では引数に文字列の日付を入力しても、内部でシリアル値に変換して月日だけを取り出すことができます。
※ Excelは日付と認識できる文字データは内部で日付データとして扱い、処理してくれます。