ExcelのWEEKNUM関数まとめ:月曜始まりの週番号もこれでOK
WEEKNUM関数の基本と「できること」を最短で理解する
ここでは、WEEKNUMが何を返す関数なのかと、結果がブレる原因になりやすい「週の数え方(return_type)」の前提を押さえます。週番号は見た目がシンプルなわりに、社内ルール・取引先ルール・国際規格などの違いがそのまま数値に出るため、最初に「何を第1週とするか」「週は何曜日から始めるか」を言語化しておくのが大切です。先に土台をそろえておくと、月曜始まりや年またぎの章がスムーズに理解でき、後から集計がズレたときも原因を切り分けやすくなります。
また、週番号は週次レポートの見出しやフィルタ条件として使われがちです。だからこそ、省略せずに引数を明示する、年(または年度)とセットで扱うなど、運用まで含めた“事故らない使い方”を意識して読み進めてください。
WEEKNUM関数とは(週番号を返す)
WEEKNUMは、指定した日付が「その年の何週目か」を数値で返す関数です。
- 例:2026/1/5 が「第2週」なら
2を返す、というイメージ - 週次の集計(売上、工数、進捗)や、カレンダーの週管理などでよく使われます
- 週ごとの締め(週次会議、週報、キャンペーン週)をそろえる“目印”としても便利です
注意したいのは、週番号は“自然に一意”ではないこと。
同じ日付でも「週の始まり(何曜スタートか)」が違えば、週番号が変わることがあります。
たとえば「日曜始まり」で運用している部署と「月曜始まり」で運用している部署が混在すると、同じ週なのに週番号がズレて見えてしまいます。週番号は計算結果そのものよりも、前提(ルール)の統一が重要だと覚えておくと安心です。
構文と引数(serial_num / return_type)
WEEKNUMの構文はシンプルです。
=WEEKNUM(serial_num, [return_type])
serial_num
- 週番号を出したい日付(セル参照でもOK)
- 見た目が日付でも、実体が文字列だと計算できないことがあります(トラブルシュートで扱います)
return_type(省略可)
- 「週の数え方(週の始まり)」を指定します
- 省略すると、多くの環境で 日曜始まり になります(設定・バージョン差があるため、実務では明示指定がおすすめです)
- 週次レポートや共有ファイルでは、省略はズレの温床になりやすいので、チームや取引先とルールを合わせた値を入れて固定するのが安全です
return_typeの最小早見表(よく使う値だけ)
実務でまず押さえるのは、この3つで十分なことが多いです。
| 目的 | 代表的な指定 | 意味(ざっくり) |
|---|---|---|
| 日曜始まりで数えたい | 1 | 週の開始日=日曜 |
| 月曜始まりで数えたい | 2 | 週の開始日=月曜 |
| ISO週(ISO 8601)に合わせたい | 21(またはISOWEEKNUM) | 「木曜を含む週=その年の週」などISO規則 |
※ return_type には他にも値がありますが、この記事では混乱しやすい「月曜始まり」と「ISO週」を中心に扱います。
※ 取引先の指定が「ISO週」かどうか曖昧な場合は、まずサンプル日付(年末年始を含む日付)で結果を突き合わせると、ズレが早期に見つかります。
月曜始まりで週番号を計算する(結論:return_type=2)
「週の始まりを月曜にしたい」という一番多いニーズに対して、まずは結論の式を示し、そのあとで**実務での使い方(集計キーの作り方)**までをまとめます。週次集計は「週番号が合っているつもりでも、ルールが揃っていないとズレる」ことが多いので、ここで 月曜始まりの定義を固定しておくのが重要です。ここを押さえれば、社内の週次集計(売上・問い合わせ・工数など)はだいたい回るようになります。
結論:WEEKNUM(対象日付,2) で月曜始まりになる
「月曜始まりの週番号にしたい」場合は、第2引数に 2 を指定します。迷ったらまずこれでOKです。
=WEEKNUM(A2,2)
- A2:日付が入っているセル(シリアル値として認識されている日付)
2:週の開始日を月曜にする指定
ポイントは「月曜始まりにしたいなら (…,2) と“明示して”書く」ことです。省略すると日曜始まり扱いになったり、環境や資料によって解釈が揺れて、後から集計がズレる原因になります。
具体例(単日/期間の集計で使う形)
たとえば、日付がA列に並んでいて週番号をB列に出すなら、B2に入れて下へコピーします。
=WEEKNUM(A2,2)
この形にしておくと、元データが追加されても同じルールで週番号が並びます。さらに週次集計をする場合は、週番号だけだと年またぎで衝突しやすいので、次のように 「年+週番号」 をセットで扱うと安全です。
=TEXT(A2,"yyyy")&"-W"&TEXT(WEEKNUM(A2,2),"00")
これで 2026-W02 のようなキーを作れます(ピボットや集計で便利)。
「年」ではなく「年度(4月始まり)」で管理している場合は、ここを“年度”に差し替えるだけで運用が安定します(年度週の作り方は後半で説明します)。
月曜始まりでもズレる場面(年末年始・集計ルール差)
月曜始まりにしても、年末年始は「思った週番号と違う」と感じることがあります。
理由は、週番号の定義が “年の最初の週” をどう決めるか に依存するためです。
- 週の始まりを月曜にしただけでは、ISO週(ISO 8601) と一致するとは限りません
- 取引先や海外レポートがISO週基準だと、WEEKNUM(…,2)とズレることがあります
- 週次会議やレポートの締め日が「月曜始まり」以外(例:日曜締め)だと、同じ日付でも週の所属が変わります
次の章で、年をまたぐときの“ズレの正体”を整理します。
年をまたぐと週番号がズレる理由(WEEKNUMとISO週の違い)
年末年始は「週番号が連続しない」「前年扱いになる」など、週番号を使った集計で特に混乱が起きやすい時期です。これはExcelの不具合ではなく、**週番号そのものが“年境界に弱い概念”**であることが原因です。この章では、まずWEEKNUMの仕様としてなぜズレが起きるのかを整理し、そのうえでISO週(ISOWEEKNUM)と何が違うのかを切り分けて説明します。ここを理解しておくと、「数字が合わない理由」を感覚ではなく理屈で説明できるようになります。
年末年始で起きる“週番号の不連続”とは
年末年始は、週番号が次のように見えることがあります。
- 12月末が「第53週」
- 1月初旬が「第1週」
カレンダー感覚だと「前の週の続き」に見えますが、週番号は年ごとにリセットされるため、このような動きになります。この動き自体は仕様どおりで自然なものですが、週番号=連番という前提で集計していると違和感が生じます。
実務で困りやすいのは、特に次の2点です。
- 「週次が連番で続く」と思っていると、年末年始で集計が分断される
- “どの週をどの年に属させるか”のルールが、社内・取引先・国際規格で食い違う
このズレを放置すると、「前年の数字が一部今年に入る」「週次グラフが欠ける」といった形で後から問題が表面化します。
WEEKNUMの仕様としてのズレ(週の開始日を変えると結果も変わる)
WEEKNUMは、指定した「週の開始日」に従って週番号を返します。つまり、週番号は日付だけで決まるのではなく、ルール込みで決まる数値です。そのため、同じ日付でも、日曜始まりと月曜始まりで週番号が変わることがあります。
小さな例として、同じ日付を return_type=1(日曜始まり)と 2(月曜始まり)で比べると、週番号が変わるケースが出ます。
=WEEKNUM(A2,1) '日曜始まり
=WEEKNUM(A2,2) '月曜始まり
この違いは年末年始付近で特に顕著になり、「どちらかが間違っている」のではなく、どちらのルールを採用するかの問題だと理解することが重要です。集計やレポートでは、あなたの集計ルールに合わせて固定することが最優先になります。
ISO週(ISOWEEKNUM)の考え方(短く比較)
ISO週(ISO 8601)は、「その週の木曜日が属する年の週番号」として数える国際的なルールです。このため、年末年始の週が「前年の最終週」になったり、「新年の第1週」になったりする基準がWEEKNUMとは異なります。
ISO週に合わせたい場合は、次のいずれかを使います。
=ISOWEEKNUM(A2)
または
=WEEKNUM(A2,21)
- 国際的な週番号(ISO基準)でレポートする
- 海外拠点・外部システムと週番号を揃える
- 年末年始でも週番号の考え方を統一したい
こういったケースでは、WEEKNUM(…,2)より ISOWEEKNUM(またはreturn_type=21) のほうが、年境界でのズレが起きにくくなります。
開始月を指定して週番号を出す(4月始まり=年度週の作り方)
「4月始まり(年度)で第◯週を出したい」という要望は多い一方、WEEKNUMは暦年ベースのため工夫が必要です。ここでは、4/1を起点に“何週目か”を計算する発想と、運用ルールに合わせた作り方を紹介します。
先に結論:WEEKNUMだけで「4月始まり週」は直接は出せない
よくある要望に「4月始まり(年度)で第◯週を出したい」があります。
しかし、WEEKNUMはあくまで “暦年(1月〜12月)の週番号” を返す関数です。
つまり、
- 「開始月を4月にして週番号を数える」
という指定を、WEEKNUM単体で行うことはできません。
その代わりに、年度の起点日(4/1)から何週目か という形で「年度週」を設計します。
考え方:年度の起点日(4/1)から何週目かで数える
基本は次の2ステップです。
- 対象日付が属する年度の「起点日(4/1)」を求める
- 起点日からの経過日数を7で割って週数にする(切り上げ/切り捨てはルールで決める)
ここで大事なのは、社内で次のどちらを採用するかです。
- ルールA:4/1を含む週を第1週 とする(シンプルで多い)
- ルールB:週の始まり(例:月曜)に揃えて第1週を定義 する(厳密でブレにくい)
次に、それぞれの実装パターンを示します。
実装パターンA:シンプル版(起点からの週数)
A2に日付が入っているとして、まず「その日付が属する年度の4/1」を求めます。
- 4月〜12月のとき:同じ年の4/1
- 1月〜3月のとき:前年の4/1
=DATE(YEAR(A2)-(MONTH(A2)<4),4,1)
これを起点日として、年度の第何週かを出す簡易版は次のイメージです。
=INT((A2 - DATE(YEAR(A2)-(MONTH(A2)<4),4,1)) / 7) + 1
INTは切り捨てです(0〜6日目を第1週にする形)- “週の始まり(曜日)”は揃えないため、運用ルールとして許容できるときに向きます
実装パターンB:月曜始まりも揃える版(ルールを明文化)
「年度週は月曜始まりで揃えたい」場合は、年度の起点(4/1)を含む週の 月曜日 を「年度週の第1週の開始」として定義すると、ブレが減ります。
- まず年度の起点日(4/1)を求める
=DATE(YEAR(A2)-(MONTH(A2)<4),4,1)
- 起点日が属する週の「月曜日」を求める(週の開始日を月曜に固定)
=DATE(YEAR(A2)-(MONTH(A2)<4),4,1) - (WEEKDAY(DATE(YEAR(A2)-(MONTH(A2)<4),4,1),2) - 1)
WEEKDAY(…,2)は月曜=1〜日曜=7で返します- そこから
-1して、起点日をその週の月曜まで戻します
- その月曜から何週目かを計算
=INT((A2 - (DATE(YEAR(A2)-(MONTH(A2)<4),4,1) - (WEEKDAY(DATE(YEAR(A2)-(MONTH(A2)<4),4,1),2) - 1))) / 7) + 1
式が長いので、実務では「起点日」「年度週の開始(月曜)」を補助列に分けると管理しやすいです。
- 補助列でルール(年度の定義/週の開始曜日)を見える化
- 後から別の集計ロジックに変更するときも修正が楽
よくある質問とトラブルシュート(つまずきポイント集)
最後に、WEEKNUMで詰まりやすいポイントをまとめて回収します。WEEKNUM自体の式が合っていても、**日付の型(シリアル値か文字列か)**や、**週の数え方のルール(誰の基準に合わせるか)**が揃っていないと、結果がズレたり集計が割れたりします。ここは「間違い探し」ではなく、ズレの原因を上から順に潰すチェックリストとして使ってください。
日付が文字列でWEEKNUMが動かない
WEEKNUMがうまく計算されないとき、日付が「文字列」になっているケースがあります。見た目が日付でも、Excelが日付として解釈していないと、週番号が出なかったり、意図しない値になったりします。
- セルを選ぶと左寄せ/先頭にアポストロフィが付いている
2026/1/5の見た目でも、実態は文字列- 取り込みデータ(CSV/外部システム)で日付形式が混在している
この場合は、まず日付として認識させてからWEEKNUMを使ってください。たとえば、入力規則や表示形式だけでは直らないことがあるため、「日付に変換できているか」を確認するのが近道です。
週番号だけだと重複する(年・年度とセット管理が必要)
週番号は毎年リセットされるので、週番号だけだと
- 「第1週」が毎年存在する
- 年を跨ぐ集計で混ざる
- 週番号の並び替えで、前年と今年が同じラベルとして扱われる
という問題が起きます。特にピボットやダッシュボードで週を軸にすると、ここが原因で「数字が合わない」「前年同週比較が崩れる」などの事故が起こりがちです。
実務では、**「年(または年度)+週番号」**をセットで持つのが安全です。ルールが年度(4月始まり)なら、年ではなく年度でキーを作る、といった形で“集計単位”とキーの定義を一致させると安定します。
どれを使えばいい?(WEEKNUM / ISOWEEKNUM / 年度週)
迷ったら、まず「誰の週番号に合わせるか」と「何を1年の区切りにするか」を基準に決めるとスムーズです。
- 月曜始まりで社内集計したい →
WEEKNUM(日付,2) - 海外レポート・規格に合わせたい →
ISOWEEKNUM(日付)(またはWEEKNUM(日付,21)) - 4月始まりの年度で管理したい → 「4/1起点の週」を別ロジックで設計(WEEKNUM単体では不可)
「月曜始まりにしたのに取引先とズレる」場合は、ISO週を採用している可能性があります。逆に、社内だけで完結する集計なら、W
EEKNUM(…,2)で十分なケースも多いので、まずは運用ルール(週の始まり/年の区切り)を明文化して揃えるのがおすすめです。
まとめ:用途別の選び方
この記事の要点を、用途別にそのまま使える形で並べます。迷ったらここだけ見返して、採用する関数(WEEKNUM/ISOWEEKNUM/年度週ロジック)を決めてください。週番号は「計算できる」だけでは不十分で、**誰と合わせるか(社内か、取引先か、国際規格か)**と、**どの区切りで管理するか(暦年か、年度か)**を先に決めておくと運用が安定します。迷いがちな人は、まず“どのルールが正解か”ではなく、“どのルールを採用するか”を決める意識で選ぶのがコツです。
- 月曜始まりなら、まずは
WEEKNUM( ,2)を使う(社内の週次集計で最も採用例が多く、ルールを固定しやすい) - 年またぎの整合が必要なら、ISO週(
ISOWEEKNUM)も選択肢に入れる(海外拠点や外部レポートと揃えるなら、年末年始のズレを減らしやすい) - **4月始まり(年度週)**は、4/1起点の“何週目”として設計し、ルールを明文化して運用する(起点日・週の開始曜日・切り上げ/切り捨てを決め、補助列で見える化すると後から崩れにくい)
さらに、週番号は単独だと重複するため、集計・検索・並び替えで困らないように 「年(または年度)+週番号」 をキーとして持つ運用も合わせて検討してください。ここまで決めておけば、週次の数字が「いつの週か分からない」「前年と混ざる」といったトラブルをかなり防げます。