Excelで「2023/5/1」「2024/5/1」「2022/12/25」のような日付データを、年を無視して“月日順”だけで並べ替えたい場面があります。誕生日一覧や年間イベント管理などでは、「西暦は関係なく月日だけで並べたい」というケースも少なくありません。この記事では、Excelで西暦を飛ばして月日だけで並べ替える方法を分かりやすく解説します。
通常の並べ替えでは西暦順になる理由
Excelの日付は、見た目ではなく「シリアル値」という数字で管理されています。
そのため、通常の昇順並べ替えをすると、まず年→月→日 の順で並びます。
つまり「月日だけで並べたい」という場合は、別の基準を作る必要があります。
もっとも簡単な方法は「月日用の列」を作ること
一番おすすめなのは、補助列を作って「月日だけ」を取り出す方法です。
例
| A列 | B列 |
|---|---|
| 2024/05/01 | 0501 |
| 2023/12/25 | 1225 |
| 2025/01/03 | 0103 |
B列に以下の数式を入れます。
=TEXT(A1,"MMDD")
このB列を基準に並べ替えると、年を無視して月日順になります。
実際の並べ替え手順
- 補助列を作成
- TEXT関数を入力
- 表全体を選択
- 「データ」→「並べ替え」
- 補助列を基準に昇順
これだけで、「1月→2月→3月…」の順に綺麗に並びます。
表示だけ変えても意味がない点に注意
よくある勘違いとして、「表示形式」を「m/d」に変えるだけでは、並べ替え基準は変わりません。
Excel内部では西暦情報を持ったままだからです。
例えば、表示が「5/1」でも、内部では「2023/5/1」と「2024/5/1」は別の日付として扱われています。
年を完全に無視したい場合の便利な式
より数値として扱いたい場合は、以下の式も便利です。
=MONTH(A1)*100+DAY(A1)
例えば、5月1日なら「501」、12月25日なら「1225」になります。
こちらも並べ替えに利用できます。
誕生日一覧にも便利
この方法は誕生日管理でもよく使われます。
例えば社員名簿や学校名簿で、「今年の誕生日順」に並べたい時にも便利です。
西暦を無視できるため、「誰が次の誕生日か」が見やすくなります。
関数を使いたくない場合
関数が苦手な場合は、「月」「日」を別列に分ける方法もあります。
| 月列 | 日列 |
|---|---|
| =MONTH(A1) | =DAY(A1) |
その後、「月→日」の順で複数条件並べ替えをすると同じ結果になります。
まとめ
Excelで西暦を無視して月日だけで並べ替えたい場合は、補助列を作る方法がもっとも簡単で確実です。
「TEXT関数」や「MONTH関数+DAY関数」を使うことで、誕生日一覧やイベント表も見やすく整理できます。
表示形式だけでは並べ替え基準は変わらないため、“月日専用の並べ替えキー”を作ることがポイントになります。


コメント