「この売上データ、週ごとにまとめてほしい」と頼まれて、手作業で日付を見ながら振り分けていませんか? 日付から週番号を割り出す作業は、件数が多いほど時間がかかります。 ExcelのWEEKNUM関数を使えば、日付を入れるだけで「第何週か」を自動で返してくれますよ。
この記事では、WEEKNUM関数の基本的な使い方から、週の基準の選び方、ISOWEEKNUM関数との違いまで解説します。
WEEKNUM関数とは?(日付から週番号を返す関数)
WEEKNUM関数は、指定した日付が「その年の第何週か」を数値で返す関数です。 戻り値は1〜54の整数になります。
たとえば「2025年3月21日」を渡すと、「12」のように週番号が返ってきます。 週次レポートや週別集計の自動化に便利な関数です。
Excel 2010以降のバージョンで使用できます。
読み方・語源
読み方は「ウィークナム」です。 「WEEK(週)」+「NUM(Number=番号)」で、「週番号」という意味になります。
WEEKNUM関数の書き方(構文と引数)
基本構文
=WEEKNUM(シリアル値, [週の基準])
引数の説明
| 引数 | 必須/省略可 | 説明 |
|---|---|---|
| シリアル値 | 必須 | 週番号を調べたい日付を指定します |
| 週の基準 | 省略可 | 週の始まりを何曜日にするかを数値で指定します。省略すると「1」(日曜始まり)になります |
第1引数の「シリアル値」には、セル参照のほかにDATE関数の結果も指定できます。
週の基準(第2引数)の一覧表
第2引数には以下の値を指定できます。
| 値 | 週の始まり | 方式 |
|---|---|---|
| 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 | 月曜日 | ISO 8601準拠(最初の木曜日を含む週が第1週) |
日本のビジネスでは月曜始まりが一般的です。 「2」または「11」を指定するのがおすすめですよ。
値「21」だけがISO 8601という国際規格に準拠した方式です。 この方式では、その年の最初の木曜日を含む週が第1週になります。
WEEKNUM関数の基本的な使い方
日曜始まりで週番号を取得
第2引数を省略すると、日曜始まりで計算されます。
=WEEKNUM(A2)
たとえばA2に「2025/3/21(金曜日)」が入っている場合、結果は「12」です。
月曜始まりで週番号を取得
第2引数に「2」を指定すると、月曜始まりで計算されます。
=WEEKNUM(A2, 2)
A2が「2025/3/21(金曜日)」なら、結果は「12」です。 日本のビジネスシーンでは、この月曜始まりが使いやすいですよ。
日付文字列を直接指定
セル参照を使わず、数式の中に日付を直接書くこともできます。
=WEEKNUM("2025/3/21", 2)
結果は「12」です。 ただし、実務ではセル参照で日付を渡すほうが管理しやすいです。
WEEKNUM関数の実務活用パターン
週次レポートに「第○週」表記を入れる
日付セルから「第12週」のような表記を自動で作れます。 文字列連結で対応できます。
="第"&WEEKNUM(A2, 2)&"週"
A2が「2025/3/21」なら、結果は「第12週」です。 レポートの見出しやラベルに使えますよ。
週別に売上を集計する(SUMIFS連携)
SUMIFS関数で週別集計するには、補助列を使う方法が確実です。
まずC列に週番号、D列に年をそれぞれ出しておきます。
C2: =WEEKNUM(A2, 2)
D2: =YEAR(A2)
そのうえで、SUMIFS関数で条件集計します。
=SUMIFS(B:B, C:C, 12, D:D, 2025)
年も条件に入れるのがポイントです。 週番号だけでは、別の年の同じ週も合算されてしまいます。
TODAY関数で「今日は第何週?」を自動更新
TODAY関数と組み合わせれば、今日の週番号が常に最新になります。
="今週は第"&WEEKNUM(TODAY(), 2)&"週です"
ファイルを開くたびに自動更新されるので、進捗管理シートに入れておくと便利です。
よくあるエラーと対処法
WEEKNUM関数で発生しやすいエラーは2つです。
| エラー | 原因 | 対処法 |
|---|---|---|
| #VALUE! | 日付として認識できない値を指定した | セルの値が正しい日付形式か確認する。文字列の場合はDATEVALUE関数で変換する |
| #NUM! | 無効な週の基準を指定した、またはシリアル値が負の数 | 第2引数が一覧表の値(1, 2, 11〜17, 21)かを確認する |
「#VALUE!」が出る場合、セルの表示は日付に見えても中身が文字列のケースが多いです。 セルを選択して数式バーを確認してみてください。
WEEKDAY関数など他の日付関数でも同様のエラーが起きます。 日付データの型には注意しておきましょう。
WEEKNUM関数とISOWEEKNUM関数の違い
WEEKNUM関数とISOWEEKNUM関数は、どちらも週番号を返す関数です。 しかし「第1週の決め方」が異なります。
比較表
| 項目 | WEEKNUM関数 | ISOWEEKNUM関数 |
|---|---|---|
| 第1週の基準 | 1月1日を含む週(既定) | 最初の木曜日を含む週(ISO 8601) |
| 週の始まり | 第2引数で選べる(10種類) | 月曜日で固定 |
| 引数の数 | 2つ(日付, 週の基準) | 1つ(日付のみ) |
| 戻り値の範囲 | 1〜54 | 1〜53 |
実は WEEKNUM(日付, 21) と ISOWEEKNUM(日付) は同じ結果になります。 ISO方式を使うなら、引数が1つで済むISOWEEKNUM関数のほうがシンプルです。
年末年始の具体例
違いがはっきり出るのは、年末年始の日付です。
2025年12月29日(月曜日)で比較してみましょう。
=WEEKNUM("2025/12/29", 2)
結果: 53(2025年の第53週)
=ISOWEEKNUM("2025/12/29")
結果: 1(2026年の第1週として扱われる)
WEEKNUM関数は「1月1日を含む週が第1週」なので、年末でも当年の週番号です。 一方、ISOWEEKNUM関数はISO規格に基づき、翌年の第1週と判定します。
どちらを使うべきか
使い分けの目安はこちらです。
- 社内の週次レポート・集計: WEEKNUM関数がおすすめ。「1月1日=第1週」のほうが直感的で説明しやすいです
- 国際規格に合わせたい場合: ISOWEEKNUM関数を使います。海外拠点とのやり取りやISO準拠が求められる場面に向いています
- 年末年始をまたぐ集計: どちらを使うか事前に決めて統一しましょう。混在すると集計がズレる原因になります
迷ったら、まずはWEEKNUM関数の月曜始まり(第2引数に「2」)で試してみてください。
まとめ
WEEKNUM関数は、日付から週番号を自動で取得できる関数です。
- 基本構文:
=WEEKNUM(シリアル値, [週の基準]) - 日本のビジネスでは月曜始まり(第2引数に「2」)が使いやすい
- 週別集計はSUMIFS連携で効率化できる(補助列に週番号を出しておくのがコツ)
- ISOWEEKNUM関数との違いは「第1週の決め方」。社内集計ならWEEKNUM関数がおすすめ
週別の売上管理や進捗レポートに、ぜひ活用してみてください。 WORKDAY関数やNETWORKDAYS関数と組み合わせれば、日付まわりの業務をさらに自動化できますよ。
