Excel 日付がその年の中で何週目かを取得(WEEKNUM関数,ISOWEEKNUM関数)

2020年5月17日

指定した日付が年の中で何週目かを取得する関数には

WEEKNUM関数とISOWEEKNUM関数の2種類が存在します。

それぞれの仕様と違い、使い方を紹介します。

仕様

ISOWEEKNUM関数

=ISOWEEKNUM関数(日付)
引数省略時の値説明
日付省略不可週番号を取得する日付を指定
各引数の詳細

日付を指定するだけの単純な関数です。

ヨーロッパ式週番号システムというISOに規定されている形式です。

月曜日を週の始まりとし、その年の最初の木曜日を含む週を第1週として扱います。

この形式では年末年始でも常に1週間=7日が維持されます。

WEEKNUM関数

=WEEKNUM(日付,週の基準)
引数省略時の値説明
日付省略不可週番号を取得する日付を指定
週の基準1数値を指定。詳細後述
各引数の詳細

日付と週番号の形式を指定する方式です。

週の基準

週の基準とそれぞれの詳細です。(週の始まりとルール)

週の基準週の始まりシステム(第1週の取り扱い)
1日曜日1月1日を含む週が第1週(年が変わると1になる)
2月曜日
11月曜日
12火曜日
13水曜日
14木曜日
15金曜日
16土曜日
17日曜日
21月曜日その年の最初の木曜日を含む週が第1週(年を跨ぐ)
ISOWEEKNUMと同じ。

省略と1と17、2と11は同じ結果となります。

21はISOWEEKNUMと同じ結果となります。

21以外は年を跨ぐと(1/1になると)第1週となります。

引数と結果

それぞれの関数と日付、週の基準毎の結果です。

週番号で色分けしています。

ISOWEEKNUM関数とWEEKNUM関数の引数と結果(色分け)

スピルを利用する方法とメリット

Office365やExcel2019以降ではスピルという形式で記述可能です。

これは複数セルに数式をコピーする場合に便利な機能です。

今後更新される可能性がありますが、記事を書いている時点では

ISOWEEKNUM関数でのみ利用できました。(WEEKNUM関数は不可)

このスピルの利用には引数を範囲で指定します。

スピルでISOWEEKNUM関数を記述する例
スピルでISOWEEKNUM関数を記述する例

数式を入力するのは最初の一つのセルですが、

引数で指定した高さ分、数式がセルのコピーなしで自動拡大されます。

D4に指定したISOWEEKNUM関数がD23まで自動拡大
D4に指定したISOWEEKNUM関数がD23まで自動拡大

スピルを利用することで今回の例では、

D3セルに入力するだけでよいため(D4以降にコピーペーストが不要)

以下のメリットがあります。

  • 入力の手間が少ない(数式のセルが多いほど効果が大きい)
  • 数式を編集した時、コピー忘れのリスクがない(最初のセルを更新すると全セルに反映)
  • 絶対参照が不要
  • 途中に行を追加した場合、数式のコピー&ペーストが不要。行削除でも壊れにくい。

関連記事

関数の仕様と使い方の記事一覧