WEEKNUM関数の使い方|日付の週番号を求める

Excel(エクセル)WEEKNUM関数の使い方
Excel関数

Excel(エクセル)WEEKNUM関数の使い方|日付の週番号を求める

使用関数:WEEKNUM、SUMIF

WEEKNUM(ウィークナンバー)関数とは?

WEEKNUM関数は指定した日付が年度の何週目に当たるかを求めます。WEEKNUMはWEEK NUMBER(週番号・週数)の略です。

週番号(週数)・ウィークカレンダーとは?

週番号(週数)は1年間を通して週ごとに振られる番号です。週番号でまとめられたカレンダーをウィークカレンダーと呼びます。ウィークカレンダーは1年以上の長期に渡るプロジェクトのスケジュール表によく使われ、WEEKNUM関数が利用されます。
2022年のウィークカレンダー
「第一週」「第二週」と言うと月ごとの何週目かをイメージしますが、WEEKNUMが求めるのは年ごとの週番号で、1から52、または53週あります。

WEEKNUM関数の引数と書式

「数式」タブ「関数ライブラリ」→「日付/時刻」→ WEEKNUMをクリックします。
「関数ライブラリ」→「日付/時刻」→ WEEKNUM
WEEKNUMの引数は「シリアル値」と「週の基準」です。

書式の構成はこうなります。
WEEKNUM関数の書式の構成

WEEKNUM関数で週番号を求める

WEEKNUM関数の引数ダイアログを使って、指定した日付がその年度の何週目に当たるかを求めてみましょう。

以下の表の日付から年度の週番号を求めます。
WEEKNUM関数で週番号を求める日付データ

第一引数「シリアル値」の指定

週番号の入るセルを選択してWEEKNUM関数の引数ダイアログを開き、「シリアル値」に最初の日付のセルをクリックで指定します。シリアル値や日付を直接入力することもできます。
WEEKNUM関数の引数「シリアル値」に日付セルをクリックして指定

第二引数「週の基準」の指定

「週の基準」には対応する番号を数字で入力します。「週の基準」は開始日となる曜日、第一週を定めるシステムによって分類されています。

「週の基準」の一覧

週の基準週の開始日システム(第一週の規定)
1(または省略)日曜日システム1(1月1日を含む週がその年の第一週)
2月曜日システム1(1月1日を含む週がその年の第一週)
11月曜日システム1(1月1日を含む週がその年の第一週)
12火曜日システム1(1月1日を含む週がその年の第一週)
13水曜日システム1(1月1日を含む週がその年の第一週)
14木曜日システム1(1月1日を含む週がその年の第一週)
15金曜日システム1(1月1日を含む週がその年の第一週)
16土曜日システム1(1月1日を含む週がその年の第一週)
17日曜日システム1(1月1日を含む週がその年の第一週)
21月曜日システム2(ISO8601方式:その年の最初の木曜日を含む週が第一週)→ ISOWEEKNUM関数

「週の基準」とExcelのバージョン

  • Excel2007までは「週の基準」は1(日曜日が開始日)と2(月曜日が開始日)だけです。
  • Excel2010からは他の曜日を開始日に指定できる11~17と、その年の最初の木曜日を含む週を第一週とするシステムの21が「週の基準」に追加されました
  • 「週の基準21」のシステム2は国際標準であるISO8601方式を採用しています。Excel2013からはこの基準に特化したISOWEEKNUM関数が追加されました。

この例では「1月1日を含む週をその年の第一週」として、開始日を「月曜日」とする週の基準「2」を指定します。※この引数を省略した場合は「1」を指定したものと見なされます。
WEEKNUMの「週の基準」に1月1日を含む週をその年の第一週として開始日を月曜日とする2を指定
下までオートフィルコピーして、全ての日付の週番号がWEEKNUM関数で取得できました。
全ての日付の週番号をWEEKNUM関数で取得

1月1日が週の開始日になるように「週の基準」を指定

他の曜日も指定してみましょう。年初の1月1日から第1週が始まるようにします。すでに日付の列を複製して表示形式のユーザー定義で「(aaa)」と曜日を表示させてあるので、1月1日が土曜日だと分かります。WEEKNUM関数の「週の基準」に土曜日から開始される「16」を指定します。
WEEKNUM関数の「週の基準」に土曜日から開始される「16」を指定
第1週が1月1日から開始されました。
第1週が1月1日から開始された

WEEKNUM関数で週番号を取得した売上表からSUMIF関数で週単位の集計

WEEKNUM関数で売上表に週番号を表示させておくと、SUMIF関数を使って週単位の合計が簡単に取得できます。

連続した週番号を入れた列と週単位の合計が入る列からなる表を作成します。この例では週番号4までしか作成していませんが、年間を通して週単位の合計を出したいなら、1と2を入力した後まとめて53までオートフィルコピーします。

合計の最初のセルを選択して「関数の挿入」ボタンからダイアログを開き、「関数の分類」で「三角/数学」を選択、「関数名」を下へスクロールして「SUMIF」をクリックしてEnterを押します。
「関数の挿入」→「関数の分類=三角/数学」→ SUMIF
SUMIF関数の引数ダイアログが開きます。

SUMIF関数の第一引数「範囲」に売上表の週番号のデータ範囲をドラッグで指定します。入力されたら、F4キーを一つ押して絶対参照にしておきます。
SUMIF関数の「範囲」に売上表の週番号のデータ範囲をドラッグで指定

次の引数「検索条件」に作成した週単位の合計表の「週番号」の最初のセルをクリックで指定します。
SUMIF関数の「検索条件」に週単位の合計表の「週番号」の最初のセルをクリックで指定

最後の引数「合計範囲」には売上表の合計金額のデータ範囲をドラッグで指定します。これもF4キーで絶対参照にしておきます。
SUMIF関数の「合計範囲」に売上表の合計金額のデータ範囲をドラッグで指定

週単位の合計が取得されたら、他の週番号までオートフィルコピーして完了です。
週単位の合計を求めたい週番号の行全てにオートフィルコピー

数式はこうなります。 =SUMIF($A$2:$A$20,H2,$F$2:$F$20)

国際標準に則したISO8601方式で週番号を求めるISOWEEKNUM関数の使い方はこちらから

ISOWEEKNUM関数の使い方|ISO8601方式で週番号を求める
ISO8601方式で週番号を求めるISOWEEKNUM関数の使い方を分かりやすく解説しています。ISO8601方式とは何か? ISOWEEKNUM関数を使って週暗号を求めた場合に生じる年末年始の最終週と第一週の日付の分類について詳しく記載しています
WEEKNUM関数の使い方 まとめ
  • WEEKNUM関数は指定した日付が、その年度の何週目に当たるかを求めます
  • WEEKNUM関数の引数は「シリアル値」と「週の基準」です
  • WEEKNUM関数の「週の基準(週の開始日)」には対応する番号1、2 11~17 21から選んで指定します
  • WEEKNUM関数で売上表に週番号を表示させておくと、SUMIF関数を使って週単位の合計が簡単に取得できます
タイトルとURLをコピーしました