Home
»
Excelの基本操作の目次
»
並べ替え(Sort)
»
日付順にデータを並べ替える
日付順にデータを並べ替える:Excelの基本操作
日付の昇順に並べ替える
日付の降順に並べ替え
日付順にデータが並ばない?
文字列の日付をシリアル値に変換してから並べ替える
SORTBY関数を使って文字列の日付を昇順に並べ替える
日付順にデータを並べ替える
Topへ
日付の昇順に並べ替える
下表のD列に生年月日(日付データ)が入力されています。
なお、この日付はシリアル値で入力されています。
これらのデータを日付を基準に昇順(小さい順:日付の古い順)並べ替えたいと思います。
データリストの並べ替えの基準とする列のセルを1つ選択します。
下図のように、D列のセルを1つ選択します。(Excelに並べ替えの基準列がD列であるのを示します)
[データ]タブの並べ替えとフィルターグループにある[昇順]ボタンをクリックします。
データが日付の早い順番に並べ替えられました。(日付のシリアル値が小さい方から順番に並べ替えられました。)
日付の降順に並べ替える
下表のD列に生年月日(日付データ)が入力されています。
これらのデータを日付を基準に降順(大きい順:日付の新しい順)に並べ替えたいと思います。
データリストの並べ替えの基準とする列のセルを1つ選択します。
下図のように、D列のセルを1つ選択します。(Excelに並べ替えの基準列がD列であるのを示します)
[データ]タブの並べ替えとフィルターグループにある[降順]ボタンをクリックします
データが日付が若い順番に並べ替えられました。(日付のシリアル値が大きい方から順番に並べ替えられました。)
日付順にデータが並ばない?
Topへ
日付が文字列で入力されていると、日付の順番に並べ替えることができない場合があります。
文字列の日付をシリアル値に変換すると期待する順番に並べ替えることができます。
下図はD列を基準に、昇順に並べ替えたものです。
データが日付順に並んでいないことがわかると思います。
実は、
D列は
文字列の日付
が入力されており
、
月と日が1桁と2桁が混在しているため
、思った結果通りに並んでいません。
データの型は
TYPE関数
で調べることができます。
返り値が 2 ですのでセルのデータは テキスト(文字列)ということがわかります。
1は数値、4は論理値、16はエラー値、64は配列となります。
シリアル値に変換して並べ替える
テキスト(文字列)データを日付データ(シリアル値)に変換します。
文字列のデータを選択します。下図ではC2:C28セルを選択しました。
[データ]タブの[区切り位置]をクリックします。
区切り位置指定ウィザード 1/3が表示されます。
[次へ]ボタンをクリックします。
区切り位置指定ウィザード 2/3が表示されます。
[次へ]ボタンをクリックします。
区切り位置指定ウィザード 3/3が表示されます。
列のデータ形式で「日付」にチェックを入れ、YMD を選択しました。
表示先には、選択していたデータ範囲の先頭セル D2セルを指定しました。
[完了]ボタンをクリックします。
D2セルを選択すると、数式バーには 1992/10/12 と表示されます。日付データに変換されたのがわかります。
日付データに変換したのち、D列のセルを1つ選択します。(Excelに並べ替えの基準列がD列であるのを示します)
[データ]タブの並べ替えとフィルターグループにある[昇順]ボタンをクリックします。
データが日付の早い順番に並べ替えられました。(日付のシリアル値が小さい方から順番に並べ替えられました。)
SORTBY関数を使って文字列の日付を昇順に並べ替える
Microsoft 365ではSORT関数が使えます。
SORTBY関数を使って文字列の日付をシリアル値の昇順で並べ替えることができます。
SORTBY関数の詳細な使い方は
SORTBY関数で指定した範囲または配列でデータを並べ替える
をご覧ください。
日付の文字列は前までとは異なっていますことご了解ください。
F2セルに
=SORTBY(A2:D21,
(D2:D21)*1
)
と入力して、日付のシリアル値の昇順(小さい順)に並べ替えています。
(D2:D21)*1
と 1を掛けることで文字列をシリアル値に変換しています。
SORTBY関数で、このシリアル値を基準にデータを並べ替えています。
年を無視して、月日だけを基準に並べ替えるのもSORTBY関数を使うと簡単です。
=SORTBY(A2:D19,
TEXT(D2:D19,"mmdd")
)
日付から月日だけを取り出して、文字列の 月日 を基準に並べ替えています。
月日をともに二桁
mmdd
として取り出しているのもポイントです。
なお、ワークシート関数のTEXT関数では引数に文字列の日付を入力しても、内部でシリアル値に変換して月日だけを取り出すことができます。
※ Excelは日付と認識できる文字データは内部で日付データとして扱い、処理してくれます。
Home
|
Excelの基本操作
|日付順にデータを並べ替える