Excelで「日付」の列があり、「曜日」を条件に関数で集計したいですが、どうすれば良いでしょうか?
その場合は、集計の事前準備に関数の「WEEKDAY」を活用すると良いですよ!
では、WEEKDAYの使い方について解説していきますね。
はじめに
この記事は関数の概要を把握していることが前提です。
関数の概要については以下の記事をご参照ください。
はじめに この記事は数式の概要を把握していることが前提です。 参考記事 数式の概要の詳細は以下の記事をご参照ください。 関数とは 関数とは、数式の構成要素の1つであり、固有の計算/処理の機能がセットされた数式のことです。 …
日付から「曜日」のみ取得したい場合は「WEEKDAY」が有効
実務で扱うデータは日付の列が用意されているケースは非常に多いもの。
この日付の中の「曜日」を集計条件にしたい場合、関数で集計するにはハードルが高いです。
一番手軽な解決策としては、日付の列から「曜日」のみ取得した計算列をつくることです。
「計算列」とは、数値/日付/時刻の列の値を計算した新たな列のこと。
この計算列を集計条件にすることで、関数(SUMIFS、COUNTIFS等)やピボットテーブルで集計しやすくなります。
この「曜日」を取得する計算列を追加する場合、関数の「WEEKDAY」を使うと良いです。
WEEKDAYは「ウィークデイ」と読む。
WEEKDAYを使うことで、日付(シリアル値)から「曜日」を整数で取得できます。
ちなみに、シリアル値は、1900年1月1日を起点に何日目かをカウントした数値です(「44082」なら、1900年1月1日から44082日目)。
シリアル値の「1」は1日(=24h)となり、時刻の場合は時間換算した結果を小数点で示します(1h=1日/24h、1m=1日/24h/60m、1s=1日/24h/60m/60s)。
WEEKDAYの構文
WEEKDAYの構文は以下の通りです。
=WEEKDAY(シリアル値,[種類])
日付に対応する曜日を1から7までの整数で返します。
引数名 | 必須 | データ型 | 説明 |
---|---|---|---|
シリアル値 | ○ | 数値 | 取得対象の単一セル(値が日付)を指定します。 |
種類 | - | 数値 | 戻り値の種類(整数の範囲と各数値に対応する曜日のパターン)を数値で指定します。 |
引数「シリアル値」に指定した日付が文字列として入力されたものの場合、エラーになる場合あり。
引数「種類」は選択肢に表示される数値以外を指定した場合、エラー値「#NUM!」が表示。
【参考】引数「種類」のパターン
引数「種類」は基本的に省略してOKです。
もし、パターンを変えたい場合は、引数「シリアル値」の後にコンマ(,)を入力すると、数式上でサジェストされるため、任意の種類を選択し「Tab」キーで確定しましょう。
各パターンの戻り値がどの曜日になるかは以下の表をご覧ください。
引数「種類」の値 | WEEKDAYの戻り値 | |||||||
---|---|---|---|---|---|---|---|---|
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | |
1または省略 | - | 日 | 月 | 火 | 水 | 木 | 金 | 土 |
2 | - | 月 | 火 | 水 | 木 | 金 | 土 | 日 |
3 | 月 | 火 | 水 | 木 | 金 | 土 | 日 | - |
11 | - | 月 | 火 | 水 | 木 | 金 | 土 | 日 |
12 | - | 火 | 水 | 木 | 金 | 土 | 日 | 月 |
13 | - | 水 | 木 | 金 | 土 | 日 | 月 | 火 |
14 | - | 木 | 金 | 土 | 日 | 月 | 火 | 水 |
15 | - | 金 | 土 | 日 | 月 | 火 | 水 | 木 |
16 | - | 土 | 日 | 月 | 火 | 水 | 木 | 金 |
17 | - | 日 | 月 | 火 | 水 | 木 | 金 | 土 |
【参考】WEEKDAYは「日付/時刻関数」
あくまで参考情報となりますが、WEEKDAYはリボン「数式」タブの関数ライブラリの「日付/時刻」に分類されています。
実際にWEEKDAYを活用する際は、以下で解説しているように直接入力で挿入していきましょう。
WEEKDAYの使用結果イメージ
WEEKDAYを使い、日付から「曜日」を取得するイメージは以下の通りです。
今回は「受注日」列のデータから「曜日」を取得しました。
上記のように計算列としてWEEKDAYを使う場合、1レコードにつき1つの関数を使います。
ベースの数式をセットしたら、他のセルへペーストしましょう。
【注意】WEEKDAYの戻り値を「曜日」形式で表示するには
WEEKDAYの戻り値は「1」~「7」の整数のため、パッと見で何の曜日か分かりにくいです。
よって、WEEKDAYがセットされたセルの表示形式を「曜日」に変更しましょう。
表示形式の変更手順は以下の通りです。
- 任意のセル上で右クリック
- 「セルの書式設定」をクリック
- 「ユーザー定義」をクリック
- 「種類」ボックスに任意の表示形式を入力
- 「OK」をクリック
なお、表示形式を「曜日」にする場合、手順④は以下4種類のいずれかを入力しましょう(基本は「aaa」)。
表示形式 | 表示結果 ※戻り値が「1」の場合 |
---|---|
aaa | 日 |
aaaa | 日曜日 |
ddd | Sun |
dddd | Sunday |
表示形式の「曜日」は1~7(日~土)のパターンで固定されるため、引数「種類」を省略・「1」・「17」以外にする場合は注意。
WEEKDAYの数式の挿入手順
上記の結果を得るための手順は以下の通りです。
- 関数を挿入するセルを選択
※今回はH2セル - 「=w」等と入力
- サジェストから「WEEKDAY」を選択し、「Tab」キーで確定
- 取得対象のセルを選択
※今回はB2セル - 「Enter」キーで確定
- 1行目の数式をコピーし、以降のセルへペースト
※今回はH3~H11セルへペースト
手順②の際にIMEを半角英数モードにすること。
テーブルの場合、手順⑥は不要(全レコードへ数式が自動的にコピーされる)。
サンプルファイルで練習しよう!
可能であれば、以下のサンプルファイルをダウンロードして、実際に操作練習をしてみてください。
サンプルファイル_ワークシート関数_WEEKDAY.xlsx
※サンプルファイルのダウンロードには無料メルマガに登録いただく必要があります。
(上記リンクから登録フォームへ遷移します)
ブックを開いたら、次の手順を実施してください。(今までの解説のまとめです)
- 関数を挿入するセルを選択
※今回はH2セル - 「=w」等と入力
- サジェストから「WEEKDAY」を選択し、「Tab」キーで確定
- 取得対象のセルを選択
※今回はB2セル - 「Enter」キーで確定
- 1行目の数式をコピーし、以降のセルへペースト
※今回はH3~H11セルへペースト
本記事の解説と同じ結果になればOKです!
さいごに
いかがでしたでしょうか?
WEEKDAYは日付データを元にした計算列の追加に役立つ関数の一つです。
定期的に「曜日」を取得する計算列を作成する機会があるなら、ぜひ覚えておいた方が良いですね。
なお、WEEKDAY以外にもExcelでのデータ整形の各種テクニックを拙著で解説していますので、こちらも参考にしてみてください。
また、よりコアな情報を発信していくために「公式LINE」を開始しましたので、ご興味があれば以下バナーから友だち追加をお願いします!
特典として、Excelワークシート関数一覧(計22スライド)やExcelショートカットキー一覧(計25スライド)等をプレゼント!
ご参考になれば幸いですm(_ _)m
WEEKDAYとセットで覚えておいた方が良い関数は、「年」を取得できるYEAR、「月」を取得できるMONTH、「日」を取得できるDAYです。
使い勝手は同じなので、セットで覚えておくと良いでしょう。