Excelで日付リストを月~日の曜日順に並べ替える方法
Excelでは、日付リストを曜日単位で並べ替えるために、WEEKDAY関数を用いて
=WEEKDAY(日付)
を使ったヘルパー列を作成すれば、比較的容易に目的が実現できます。
前記事(上記の方法の解説):
ただし上記の方法では「日曜日が週の最初」として扱われます。しかし、月曜日から始まるカレンダーを使用している場合は、設定を調整する必要があります。この記事では、「月曜日を週の始まり」とし、日曜日を最後にする方法をご紹介します。
曜日ヘルパー列の作成
サンプルテーマ表(A1:C21)を確認して下さい。この表を月曜日~日曜日の順に並べ替える手順を研究してみましょう。
日付 | 来客数 | — |
---|---|---|
2021/03/09 | 64 | |
2021/07/20 | 113 | |
2021/09/14 | 156 | |
2022/03/01 | 79 | |
2021/03/26 | 158 | |
2021/08/27 | 162 | |
2021/03/01 | 171 | |
2021/08/02 | 210 | |
2022/06/13 | 147 | |
2021/11/10 | 204 | |
2021/04/17 | 101 | |
2021/05/08 | 191 | |
2021/10/30 | 82 | |
2022/04/30 | 104 | |
2021/06/27 | 122 | |
2022/02/06 | 144 | |
2021/06/03 | 196 | |
2021/07/29 | 138 | |
2022/01/13 | 161 | |
2022/04/21 | 147 |
まず、日付データの隣に「曜日」という新しいヘルパー列を作成します。しかし、今回は通常のWEEKDAY関数に加えて、日曜日を週の最後とするための条件を加えた特別な計算式を使います。
=IF(WEEKDAY(日付) <= 1, WEEKDAY(日付) + 7, WEEKDAY(日付))
セルC2へセットしてコピーする計算式は以下になりますね。
=IF(WEEKDAY(A2) <= 1, WEEKDAY(A2) + 7, WEEKDAY(A2))
この式の「WEEKDAY(A2)」は日付セルから曜日の数値を取得します。日曜日の場合(1)、数値に7を加えて「8」にし、週の最後として扱います。月曜日から土曜日の場合はそのままの数値を使用します。
昇順での並べ替え
次に、「曜日」列をキーとして昇順で並べ替えを行います。月曜日が2で日曜日が8で終わる順序になっていますから。最上部は月曜、最後は日曜になりますね。
リスト内のC列(「曜日」の列)をアクティブにして「データ」タブより「昇順」をクリックして並べ替えを実行してください。
表示は「2,3,4,……」となっていますが「月,火,水,……」という順番になっています。
曜日表示形式の変更
数値で表示される曜日を、月火水木金土日の形で表示するために、セルの表示形式を変更します。これにはユーザー定義型の表示形式を使用します。以下の表示形式記号を「セルの書式設定」の「表示タブ:ユーザー定義」欄にある「種類」へ登録します。
aaa
上記の表示形式を「曜日」列(ここではC列もしくはC2:C21)に適用しましょう。
2から8の数値がそれぞれ「月」「火」「水」「木」「金」「土」「日」と日本語の曜日略称に変換されます。この流れの作業で、見栄えが良く曜日順で並べ替えたリストへと更新することができました。
この作業は「1」がExcelにおいて「1900/1/1」と同様であり、日曜日であることを利用しています。「1900/1/2」は月曜日であり、「1900/1/8」は日曜日です。
まとめ
以上の手順で、Excelで日付リストを月曜日から日曜日の順に並べ替えることができます。特に日本のように月曜日から週を始めるカレンダーを使用している場合、この方法が非常に便利です。リストを見やすく整理することで、データの分析や報告がより容易になります。
コメント