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
週単位で集計する:エクセル練習問題
Home »
エクセル練習問題 »
週単位で集計する
更新:2025/9/21;作成:2021/12/11
問題1:B列に年月日が入力されています。C列に何週かを計算します。
週の計算は日曜日を基準として計算します。
12月の第1週〜第5週の合計を計算をしなさい。 問題1の解答
B
C
D
E
F
G
2
日付
週
売上
合計
3
2025/12/1
17,044
第1週
4
2025/12/2
13,566
第2週
5
2025/12/3
17,623
第3週
6
2025/12/4
14,569
第4週
7
2025/12/5
12,888
第5週
8
2025/12/6
10,451
9
2025/12/7
13,824
10
2025/12/8
12,824
11
2025/12/9
13,493
12
2025/12/10
18,183
13
2025/12/11
13,178
14
2025/12/12
13,014
15
2025/12/13
13,294
16
2025/12/14
11,008
17
2025/12/15
14,552
18
2025/12/16
17,729
19
2025/12/17
10,003
20
2025/12/18
13,384
21
2025/12/19
12,155
22
2025/12/20
12,689
23
2025/12/21
16,609
24
2025/12/22
15,397
25
2025/12/23
17,170
26
2025/12/24
11,595
27
2025/12/25
11,601
28
2025/12/26
14,872
29
2025/12/27
14,872
30
2025/12/28
19,489
31
2025/12/29
12,957
32
2025/12/30
16,337
33
2025/12/31
12,338
【問題2】3か月のデータがあります。
11月の第1週〜第5週の合計を計算をしなさい。 問題2の解答
B
C
D
E
F
G
2
日付
週
売上
合計
3
2025/10/25
12,750
第1週
4
2025/10/27
11,003
第2週
5
2025/10/29
16,847
第3週
6
2025/10/31
11,259
第4週
7
2025/11/1
18,183
第5週
8
2025/11/3
13,014
9
2025/11/5
11,595
10
2025/11/7
14,569
11
2025/11/9
17,623
12
2025/11/11
14,552
13
2025/11/13
15,397
14
2025/11/15
17,170
15
2025/11/17
10,003
16
2025/11/19
13,824
17
2025/11/21
12,824
18
2025/11/23
16,609
19
2025/11/25
13,294
20
2025/11/27
12,689
21
2025/11/29
13,566
22
2025/12/1
17,729
23
2025/12/3
14,872
24
2025/12/5
17,044
25
2025/12/7
13,178
ISOWEEKNUM関数はExcel2013で追加された関数です。
ISO 8601で「最初の木曜日を含む週が、その年の第1週である。」と規定されたものです。
よって、1月1日が金〜日曜日である時は前年の週として扱うことになります。
また、JIS X 0301も同様の規定のようです。
Excel2010で追加された週基準の「21」に相当するものです。
WEEKNUM関数はExcel2007以前でもありましたが、Excel2010では種類に指定できる数が増えています。 =WEEKNUM(シリアル値,[週の基準])]) の「週の基準」に従来は1か2を指定可能でしたが、11〜21の指定が可能になっています 。
システム 1:1月1日を含む週がその年の最初の週であり、第1週です。
システム 2:その年の最初の木曜日を含む週がその年の最初の週であり、第1週です。
このシステムは、ヨーロッパ式週番号システムと呼ばれる、ISO 8601 に規定されている方式です。
種類
週の始まり
システム
1 または省略
日曜日
1
2
月曜日
1
11
月曜日
1
12
火曜日
1
13
水曜日
1
14
木曜日
1
15
金曜日
1
16
土曜日
1
17
日曜日
1
21
月曜日
2
ISOWEEKNUM関数はSpillが利用できるようです。
そのためGROUPBY関数で計算でき、簡単に計算できます。
ただ、週の計算方法がISO8601に準じていますのでご注意ください。
ここではデータを2025年に変えたもので説明します。(記 2025/9/21)
このC列は計算には使用しないので、不要なのですが、週の説明のために表示しています。
C3セルに =ISOWEEKNUM(B3:B33) と入力します。
GROUPBY関数 はExcel for Microsoft365で使用できます。
=GROUPBY(ISOWEEKNUM(B3:B33),D3:D33,SUM) とすると簡単に集計ができました。
ただ、週1が計算されるのと、週番号が49〜52となるのが気になります。
DROP関数 はExcel for Microsoft365、Excel2024で使用できます。
DROP関数 で1行目と、1列目を削除しました。
また、GROUPBY関数 の合計を表示しない設定にしました。
G3セルに =DROP( GROUPBY(ISOWEEKNUM(B3:B33),D3:D33,SUM,,0) ,1,1) としました。
日付が年初から何週目かを計算するにはWEEKNUM関数を使います。
構文:=WEEKNUM(シリアル値,週の基準)
詳細な使い方は 何週目かを調べる関数(WEEKNUM関数) をご覧ください。
作業列に第何週かを計算します。
週の初めは日曜日とするので、=WEEKNUM(B3,1) で求めることができます。
引数の「1」は省略できますので、=WEEKNUM( B3 ) とします。
2025年12月の第1週の始まりはWEEKNUM(DATE(2025,12,1)で求めることができます。
よって2025年12月の各日にちの週は
=WEEKNUM(B3)-WEEKNUM(DATE(2025,12,1))+1 で求めました。
C3セルに
=WEEKNUM( B3 )-WEEKNUM( DATE(2025,12,1) )+1
と入力して、下方向へコピーします。
SUMIF関数で条件付きの合計を計算することができます。
構文:=SUMIF(検索範囲,検索条件,合計範囲)
Excel for Microsoft365、Excel2021以降でSpillが利用できるバージョンでは
G3セルに =SUMIF( C3:C36 , ROW(A1:A5) , D3:D36 ) と入力します。
F3セル以降は文字列で「第1週」と入力されているため、数式で容易に参照して利用できません。
検索条件に 1,2,3,4,5 となるように、ここでは ROW(A1:A5) としました。
Excel2019以前のバージョンでは
=SUMIF( $C$3:$C$36 , ROW(A1) , $D$3:$D$36 )
と入力して、下方向へオートフィルなどで数式をコピーします。
Excel for Microsoft365、Excel2021ではSpillやSEQUENCE関数が使えます。
G3セルに =SUMIF( C3:C36 , SEQUENCE(5) , D3:D36 ) と入力します。
検索条件に 1,2,3,4,5 となるように、ここでは SEQUENCE(5) としました。
SUMIFS関数を使うこともできます。
構文:SUMIFS(合計対象範囲,検索条件範囲1,検索条件1,[検索条件範囲2],[検索条件2]...)
詳細は 複数の条件で合計する関数(SUMIFS関数) をご覧ください。
=SUMIFS( D3:D36 , C3:C36 , SEQUENCE(5) ) とすることができます。
データリスト内のセルを1つ選択します。
[挿入]タブの[ピボットテーブル]を実行します。
ピボットテーブルの作成ダイアログボックスが表示されます。
テーブル/範囲に B2:D36 が設定されているのを確認します。
ピボットテーブルを配置する場所を選択してください。で「既存のワークシート」にチェックを入れて、セルを指定します。
フィールドを下図のように、行に「日付」、Σ値に「売上」をドラッグして設定します。
週ごとにグループ化したいので、ピボットテーブルの年月日を右クリックして、[グループ化]をクリックします。
単位で「日」を選択します。「月」が選択されていたら、「月」をクリックしていったん解除してから「日」を選択します。
開始日に12/1の週の日曜日を入力します。ここでは 2025/11/30 となります。
最終日に「2025/12/31」と入力します。
日数に「7」と入力します。
[OK]ボタンをクリックします。
ピボットテーブルで週ごとの集計ができました。
ここではWEEKNUM関数で週を計算しています。
週を数えるのを11月だけにして、10月と12月はカウントしないことにしました。
C3セルは =IF( TEXT(B3,"yyyy/m")="2025/11" , WEEKNUM(B3) , 0 ) としました。
すると、2025年11月の週は44,45,46,47,48と表示されます。
問題1のように1から始めなくても計算できますので、こちらの方がわかりやすいと考えました。
合計はSUMIFS関数で求めてみました。
G3セルは
=SUMIFS( D7:D25 , C7:C25 ,
SEQUENCE( 5 ,, WEEKNUM( "2025/11/1" ), 1 ) )
としました。
SEQUENCE関数で5個の配列を生成します。
初期値は WEEKNUM("2025/11/1")=44 から増分1としました。
SEQUENCE関数が使えない場合は
=SUMIFS($D$7:$D$25,$C$7:$C$25,ROW(A44))
と入力して、下方向へ数式をコピーします。
スポンサードリンク
Home |エクセル練習問題:目次 |曜日ごとに集計する
PageViewCounter
Since2006/2/27