Excelで日付リストを月曜~日曜の曜日順に並べ替える方法

Excelで日付リストを月~日の曜日順に並べ替える方法

Excelでは、日付リストを曜日単位で並べ替えるために、WEEKDAY関数を用いて

=WEEKDAY(日付)

を使ったヘルパー列を作成すれば、比較的容易に目的が実現できます。
前記事(上記の方法の解説):

Excelで日付リストを日曜~土曜の曜日順に並べ替える方法
Excelで日付リストを日~土の曜日順に並べ替える方法Excelで日付が含まれたリストを効率的に曜日単位で並べ替えたい場合、いくつかの簡単なステップで実現できます。この記事では、日曜日から土曜日までの順序でリストを並べ替える手順を、WEEK...

ただし上記の方法では「日曜日が週の最初」として扱われます。しかし、月曜日から始まるカレンダーを使用している場合は、設定を調整する必要があります。この記事では、「月曜日を週の始まり」とし、日曜日を最後にする方法をご紹介します。

曜日ヘルパー列の作成

サンプルテーマ表(A1:C21)を確認して下さい。この表を月曜日~日曜日の順に並べ替える手順を研究してみましょう。

日付来客数
2021/03/0964
2021/07/20113
2021/09/14156
2022/03/0179
2021/03/26158
2021/08/27162
2021/03/01171
2021/08/02210
2022/06/13147
2021/11/10204
2021/04/17101
2021/05/08191
2021/10/3082
2022/04/30104
2021/06/27122
2022/02/06144
2021/06/03196
2021/07/29138
2022/01/13161
2022/04/21147

まず、日付データの隣に「曜日」という新しいヘルパー列を作成します。しかし、今回は通常の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で日付リストを月曜日から日曜日の順に並べ替えることができます。特に日本のように月曜日から週を始めるカレンダーを使用している場合、この方法が非常に便利です。リストを見やすく整理することで、データの分析や報告がより容易になります。

 

コメント