Deprecated : The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
何週目かを調べる関数(WEEKNUM関数):Excel関数
Home »
エクセル関数一覧表 »
Excel関数の目次 »
何週目かを調べる関数(WEEKNUM関数)
WEEKNUM関数は指定した日付がその年の何週目にあたるかを計算することができます。
Excel2010以降では指定できる週の基準が増えています。また、ISOWEEKNUM関数がExcel2013で追加されました。
この関数を利用して週ごとの集計をすることができます。
更新:2025/2/20;作成:2012/11/14
日付がその年の第何週目に当たるかを返します topへ
ウイークナム
=WEEKNUM(シリアル値,週の基準)
週の基準 1: 週の始まりを日曜日 とします。
2: 週の始まりを月曜日 とします。
(注) Excel2003以前のバージョンでは、エラー値 #NAME? が返される場合は、分析ツール アドインを組み込む必要があります。
Excel2010以降では週の基準が増えています こちら をご覧ください。
その年の第何週にあたるかを計算しますので、1月1日が第1週になります。
週の基準を日曜日にするか、月曜日にするかで返る値が異なります。
C列は週の基準が「1=日曜日」、D列は「2=月曜日」の例です。
月の始まりだけを見ると 2025/6/1 のように1日が日曜日の場合異なった値が返されます。
カレンダーを書くと理解しやすくなります。
2025/1/1〜2025/6/30 のカレンダーの例です。2025/1/5を例にすると、週の基準が異なると「1」または「2」と違いが出ます。
週の基準が「1=日曜日」の時 、日曜日始まりのカレンダー(左側)で何週目にあたるかを数えるので、2025/1/5 は第2週になるので 2 が返されます。
週の基準が「2=月曜日」の時 、月曜日始まりのカレンダー(右側)で何週目にあたるかを数えるので、2025/1/5 は 第1週になるので 1 が返されます。
2025/1/1 〜 2025/6/30 までのカレンダー
左側が日曜日始まりで、B列に週の基準が「1=日曜日」の週番号が入力しています。
右側が月曜日始まりで、K列に週の基準が「2=月曜日」の週番号が入力しています。
問題1
【問題1】2025年2月分の売上表があります。第1週〜第5週の売上金額の合計(G3:G7セル)を計算しなさい。なお、週の初めは日曜日からとします。
作業列として週の計算をC列に入力しています。
B
C
D
E
F
G
2
日付
週
売上
3
2025/2/1(土)
1
23,000
第1週
23,000
4
2025/2/2(日)
2
24,900
第2週
166,200
5
2025/2/3(月)
2
20,900
第3週
240,500
6
2025/2/4(火)
2
13,100
第4週
265,300
7
2025/2/5(水)
2
22,500
第5週
213,200
8
2025/2/6(木)
2
27,900
9
2025/2/7(金)
2
11,800
10
2025/2/8(土)
2
45,100
11
2025/2/9(日)
3
39,000
12
2025/2/10(月)
3
17,500
13
2025/2/11(火)
3
27,100
14
2025/2/12(水)
3
41,700
15
2025/2/13(木)
3
45,000
16
2025/2/14(金)
3
41,400
17
2025/2/15(土)
3
28,800
18
2025/2/16(日)
4
47,300
19
2025/2/17(月)
4
35,900
20
2025/2/18(火)
4
15,400
21
2025/2/19(水)
4
46,100
22
2025/2/20(木)
4
28,000
23
2025/2/21(金)
4
44,300
24
2025/2/22(土)
4
48,300
25
2025/2/23(日)
5
26,900
26
2025/2/24(月)
5
48,900
27
2025/2/25(火)
5
44,500
28
2025/2/26(水)
5
30,200
29
2025/2/27(木)
5
49,000
30
2025/2/28(金)
5
13,700
問題1の解答
C列に第何週であるかを計算します。
週の初めは日曜日とするので、=WEEKNUM(B3,1) で求めることができます。
引数の「1」は省略できますので、=WEEKNUM(B3) とします。
11月の第1週の始まりはWEEKNUM(DATE(2025,2,1)で求めることができます。
よって各日にちの週は
=WEEKNUM(B3)-WEEKNUM(DATE(2025,2,1))+1 で求めました。 第1週の合計にはSUMIF関数を使って
G3セルに =SUMIF($C$3:$C$36,ROW(A1),$D$3:$D$36)
と入力して、下方向へコピーします。
第2週以降は ROW(A1)を下方向へコピーするので ROW(A2),ROW(A3),ROW(A4),ROW(A5)となり、2,3,4,5 が返されます。
下図のB列は表示形式を yyyy/m/d(aaa) として曜日を表示しています。
日曜日で週のカウントが変わっているのがわかります。
SEQUENCE関数が使える場合は、=SUMIF(C3:C36,SEQUENCE(5) ,D3:D36) で求めることができます。
SEQUENCE関数はExcel for Microsoft 365 ,Excel2021,Excel2024で使用できます。
SEQUENCE関数の使い方は SEQUENCE関数で連続した数値の配列を作成する をご覧ください。
GROUPBY関数が使える場合は、=GROUPBY(C3:C30,D3:D30,SUM) とすることができます。
GROUPBY関数はExcel for Microsoft 365で使用できます。
GROUPBY関数の使い方は GROUPBY関数を使って集計する をご覧ください。
【問題2】
2004年7月4日(日曜日)はこの月の第何週にあたるか計算しなさい。
なお、週の初めは日曜日からとします。
B
C
2
日付
週
3
2025/4/6
第2週
問題2の解答例
求める日付の週はWEEKNUM(B3)で求めることができます。
その月の1日はDATE(YEAR(B3),MONTH(B3),1) となるので、その週はWEEKNUM(DATE(YEAR(B3),MONTH(B3),1) )で求めます。
この差に1を加える ことで求めることができます。
求めた数値の前後に文字を付け加えて完成となります。
="第"&WEEKNUM(B3)-WEEKNUM(DATE(YEAR(B3),MONTH(B3),1) )+1 &"週"
WEEKNUM関数はExcel2007以前でもありましたが、Excel2010では種類に指定できる数が増えています。
=WEEKNUM(シリアル値,[週の基準])]) の「週の基準」に従来は1か2を指定可能でしたが、11〜21の指定が可能になっています 。
種類
週の始まり
システム
1 または省略
日曜日
1
2
月曜日
1
11
月曜日
1
12
火曜日
1
13
水曜日
1
14
木曜日
1
15
金曜日
1
16
土曜日
1
17
日曜日
1
21
月曜日
2
なお、Excel2010以降では関数を入力するとポップアップヒントで引数まで教えてくれますので、「週の基準」を覚える必要はないかもしれません。
日曜日と月曜日が複数ありますが、月曜日の3つについて比較しました。
どこでカウントが変化しているのかが、この基準の違いになります。
週の基準2,11(システム1)は1月1日が1となり、月曜日にカウントアップします。
週の基準21(システム2)は一年の最初の木曜日を含む週を週1のように番号付けされるようです。
このシステムは一般的にヨーロッパの週番号システムとして知られているそうで、ISO 8601で指定されているようです。
日付のその年におけるISO週番号を返します topへ
アイエスオ− ウイークナム
=ISOWEEKNUM(日付)
(注) Excel2013で追加された関数です。
Excel2010で追加された週基準の「21」に相当するものです。
ISO 8601で「最初の木曜日を含む週が、その年の第1週である。」と規定されたものです。
よって、1月1日が金〜日曜日である時は前年の週として扱うことになります。
また、JIS X 0301も同様の規定のようです。
スポンサードリンク
Home »
エクセル関数一覧表 »
何週目かを調べる関数(WEEKNUM関数)
PageViewCounter
Since2006/2/27