「この日付って第何週?」と聞かれて、カレンダーを手で数えていませんか? 特に海外拠点とやり取りがあると、ISO規格の週番号を求められる場面がありますよね。 ExcelのISOWEEKNUM関数を使えば、日付を渡すだけでISO週番号を自動で取得できますよ。
この記事では、ISOWEEKNUM関数の基本的な使い方から、年末年始の注意点、WEEKNUM関数との違いまで解説します。
ExcelのISOWEEKNUM関数とは?(ISO週番号を返す関数)
ISOWEEKNUM関数は、指定した日付がISO 8601規格で「第何週か」を返す関数です。 戻り値は1〜53の整数になります。
ISO 8601は、国際標準化機構が定めた日付・時刻の表記規格です。 この規格では、週の始まりを月曜日とします。 そして、その年の最初の木曜日を含む週が第1週です。 この規則に沿って週番号を計算してくれるのがISOWEEKNUM関数です。
たとえば「2026年1月5日(月曜日)」を渡すと、結果は「2」です。 ISO基準でこの日は2026年の第2週にあたります。
Excel 2013以降のバージョンで使用できます。
読み方・語源
読み方は「アイエスオー・ウィークナム」です。 「ISO」+「WEEK(週)」+「NUM(Number=番号)」の組み合わせです。 「ISO規格の週番号」という意味になります。
ISOWEEKNUM関数の書き方(構文と引数)
基本構文
=ISOWEEKNUM(日付)
WEEKNUM関数と違い、引数は1つだけです。 週の始まりは月曜日で固定されるため、指定する必要がありません。
引数の説明
| 引数 | 必須/省略可 | 説明 |
|---|---|---|
| 日付 | 必須 | ISO週番号を調べたい日付を指定します。セル参照・日付文字列・DATE関数の結果のいずれも使えます |
引数に渡す値は、Excelが日付として認識できる形式にしてください。 文字列なら「2026/4/1」のようにスラッシュ区切りで指定します。
ISOWEEKNUM関数の基本的な使い方
セル参照で日付を指定する
もっとも基本的な使い方です。 日付が入ったセルを参照します。
=ISOWEEKNUM(A2)
A2に「2026/4/6(月曜日)」が入っている場合、結果は「15」です。 ISO基準で2026年の第15週にあたります。
日付文字列を直接指定する
セル参照を使わず、数式の中に日付を直接書くこともできます。
=ISOWEEKNUM("2026/4/6")
結果は「15」です。 ただし実務ではセル参照のほうが管理しやすいですよ。
DATE関数と組み合わせる
年・月・日がそれぞれ別のセルに入っている場合は、DATE関数で日付を組み立てて渡します。
=ISOWEEKNUM(DATE(B2, C2, D2))
B2に「2026」、C2に「4」、D2に「6」が入っていれば、結果は「15」です。
ISOWEEKNUM関数の実務活用パターン
週次レポートに「第○週」表記を入れる
日付セルから「W15」のような週番号ラベルを自動で作れます。
="W"&ISOWEEKNUM(A2)
A2が「2026/4/6」なら、結果は「W15」です。 ISO週番号のラベルは「W」+数字の形式が国際的に一般的ですよ。
年とISO週番号を組み合わせた集計キーを作る
ISO週番号には「年末の日付が翌年の第1週になる」という特性があります。 そのため、年と組み合わせるときは少し工夫が必要です。
ISO週番号に対応する「ISO年」を求めるには、次の数式を使います。
=YEAR(A2-WEEKDAY(A2,2)+4)
WEEKDAY関数で曜日番号を取得し、その週の木曜日の年を求めています。 この値とISO週番号を組み合わせれば、正確な集計キーになります。
=YEAR(A2-WEEKDAY(A2,2)+4)&"-W"&TEXT(ISOWEEKNUM(A2),"00")
A2が「2026/4/6」なら、結果は「2026-W15」です。 TEXT関数で2桁表記にしておくと、ソート時に正しい順番になりますよ。
TODAY関数で「今日は第何週?」を自動更新
TODAY関数と組み合わせれば、今日のISO週番号が常に最新になります。
="今週はW"&ISOWEEKNUM(TODAY())
ファイルを開くたびに自動更新されます。 進捗管理シートに入れておくと便利ですよ。
よくあるエラーと対処法
ISOWEEKNUM関数で発生しやすいエラーは2つです。
| エラー | 原因 | 対処法 |
|---|---|---|
| #VALUE! | 日付として認識できない値を指定した | セルの値が正しい日付形式か確認する。文字列の日付はDATEVALUE関数で変換する |
| #NUM! | シリアル値が負の数になっている | 1900/1/1より前の日付は指定できません。引数の日付を確認してください |
「#VALUE!」が出る場合、見た目は日付でも中身が文字列のケースが多いです。 セルを選択して数式バーを確認してみてください。 数値なら右寄せ、文字列なら左寄せで表示されますよ。
ISOWEEKNUM関数とWEEKNUM関数の違い
ISOWEEKNUM関数とWEEKNUM関数は、どちらも週番号を返す関数です。 しかし「第1週の決め方」と「引数の数」が異なります。
比較表
| 項目 | ISOWEEKNUM関数 | WEEKNUM関数 |
|---|---|---|
| 第1週の基準 | 最初の木曜日を含む週(ISO 8601) | 1月1日を含む週(既定) |
| 週の始まり | 月曜日で固定 | 第2引数で選べる(10種類) |
| 引数の数 | 1つ(日付のみ) | 2つ(日付, 週の基準) |
| 戻り値の範囲 | 1〜53 | 1〜54 |
WEEKNUM(日付, 21) と ISOWEEKNUM(日付) は同じ結果です。 ISO方式なら、引数1つで済むISOWEEKNUM関数がシンプルですよ。
年末年始で結果が変わる具体例
違いがはっきり出るのは年末年始の日付です。 2026年1月1日(木曜日)で比較してみましょう。
=WEEKNUM("2026/1/1", 2)
結果: 1(2026年の第1週)
=ISOWEEKNUM("2026/1/1")
結果: 1(2026年の第1週)
この日は木曜日なので、どちらも第1週で一致します。 では、2025年12月29日(月曜日)ではどうでしょうか。
=WEEKNUM("2025/12/29", 2)
結果: 53(2025年の第53週)
=ISOWEEKNUM("2025/12/29")
結果: 1(2026年の第1週として扱われる)
WEEKNUM関数は「1月1日を含む週が第1週」なので、年末でも当年の週番号です。 一方、ISOWEEKNUM関数はISO規格に基づいて判定します。 2026年の最初の木曜日(1月1日)を含む週が第1週です。 その結果、12月29日は翌年の第1週に振り分けられるわけです。
どちらを使うべきか
使い分けの目安はこちらです。
- 海外拠点との連携・ISO準拠が求められる場合: ISOWEEKNUM関数を使います。ヨーロッパのビジネスではISO週番号が標準です
- 社内の週次レポート・集計: WEEKNUM関数がおすすめ。「1月1日=第1週」のほうが直感的で説明しやすいです
- 年末年始をまたぐ集計: どちらを使うか事前に決めて統一しましょう。混在すると集計がズレる原因になります
迷ったら、国際基準に合わせるならISOWEEKNUM関数、社内用ならWEEKNUM関数と覚えておくとよいですよ。
まとめ
ISOWEEKNUM関数は、ISO 8601規格に基づいた週番号を日付から取得できる関数です。
- 基本構文:
=ISOWEEKNUM(日付)── 引数は1つだけでシンプル - 週の始まりは月曜日固定、最初の木曜日を含む週が第1週
- 年末年始の日付は翌年の第1週に振り分けられることがある点に注意
- WEEKNUM関数との違いは「第1週の決め方」。ISO準拠ならISOWEEKNUM関数がおすすめ
海外拠点との連携やISO準拠の週次レポートに、ぜひ活用してみてください。 WORKDAY関数やWEEKDAY関数と組み合わせれば、日付まわりの業務をさらに自動化できますよ。
