曜日ごとの合計は、日付の横に =TEXT(A2,"aaa") で曜日の列を作り、=SUMIFS(売上の列, 曜日の列, "月") で求めます。曜日の列さえあれば、あとは「月」「火」を条件にして合計するだけです。
この記事では、10 日分の売上の表を例に、曜日ごとの合計・平均、曜日の列を作らない式、土日と平日に分けた合計を、実際の Excel で確かめた結果で説明します。
曜日別に集計する式
=TEXT(日付, "aaa")
=SUMIFS(売上の列, 曜日の列, 曜日)
=AVERAGEIFS(売上の列, 曜日の列, 曜日)
=COUNTIFS(曜日の列, 曜日)
| 部品 | 意味 |
|---|---|
| TEXT(日付, “aaa”) | 日付から「月」「火」のような曜日の 1 文字を作る |
| 売上の列 | 合計・平均したい数値の列($B$2:$B$11) |
| 曜日の列 | TEXT で作った曜日の列($C$2:$C$11) |
| 曜日 | 集計したい曜日(「月」と入れたセル、または “月”) |
表の C 列には =TEXT(A2,"aaa") を入れて、下へコピーしてあります。2026/11/2 は月曜なので、C2 は「月」になります。TEXT で曜日を出す方法は 日付から曜日を取り出す方法で説明しています。
1. 曜日ごとの合計を出す(SUMIFS)
E2〜E8 に「月」〜「日」を入れておきます。I2 に式を入れて、下へ 7 行コピーします。売上の列と曜日の列は、コピーしてもずれないように $ で固定します。
=SUMIFS($B$2:$B$11,$C$2:$C$11,E2)

月曜は 56,000(11/2 の 30,000 と 11/9 の 26,000)、火曜は 42,000、水曜は 46,000 でした。1 回しかない木曜〜日曜は、その日の売上がそのまま出ます(土曜 45,000・日曜 40,000)。
2. 曜日ごとの平均を出す(AVERAGEIFS)
日数が曜日でちがうと、合計ではくらべにくくなります。SUMIFS を AVERAGEIFS に変えると、1 日あたりの平均が出ます。
=AVERAGEIFS($B$2:$B$11,$C$2:$C$11,E2)

月曜の平均は 28,000、火曜は 21,000、水曜は 23,000 でした。平均でくらべると、土曜(45,000)と日曜(40,000)が高いことが分かります。
曜日ごとの日数(件数)を数えたいときは、=COUNTIFS($C$2:$C$11,E2) と書きます。
3. 曜日の列を作らずに合計する(SUMPRODUCT)
表に曜日の列を足したくないときは、SUMPRODUCT の中で曜日を作ります。TEXT($A$2:$A$11,"aaa")=E2 で「その曜日の行か」を調べ、合う行の売上だけを足します。
=SUMPRODUCT((TEXT($A$2:$A$11,"aaa")=E2)*$B$2:$B$11)

月曜 56,000・火曜 42,000・水曜 46,000 で、1 の SUMIFS と同じ結果になりました。SUMPRODUCT の使い方は SUMPRODUCT関数の使い方で説明しています。
4. 土日と平日に分けて合計する(WEEKDAY)
WEEKDAY 関数の 2 つ目を 2 にすると、月曜が 1、土曜が 6、日曜が 7 になります。「6 以上」が土日、「5 以下」が平日です。
=SUMPRODUCT((WEEKDAY($A$2:$A$11,2)>=6)*$B$2:$B$11)

土日の合計は 85,000 でした(11/7 の 45,000 と 11/8 の 40,000)。平日は >=6 を <=5 に変えます(下の検証で確かめています)。WEEKDAY の番号は WEEKDAY関数の使い方で説明しています。
【実機で検証】曜日別の集計でつまずくところ

| ためしたこと | 式 | 結果 |
|---|---|---|
| WEEKDAY の 2 つ目を省いたときの月曜(11/2) | =WEEKDAY(曜日別集計!A2) | 2 |
| 2 つ目を 2 にしたときの月曜(11/2) | =WEEKDAY(曜日別集計!A2,2) | 1 |
| 条件を「月曜日」にして合計 | =SUMIFS(曜日別集計!B2:B11,曜日別集計!C2:C11,"月曜日") | 0 |
| 空欄の 12 行目まで範囲に入れて土曜を数える | =SUMPRODUCT((WEEKDAY(曜日別集計!A2:A12,2)=6)*1) | 2 |
| 表に無い曜日(「祝」)の平均 | =AVERAGEIFS(曜日別集計!B2:B11,曜日別集計!C2:C11,"祝") | #DIV/0! |
| 平日(月〜金)の合計 | =SUMPRODUCT((WEEKDAY(曜日別集計!A2:A11,2)<=5)*曜日別集計!B2:B11) | 194,000 |
WEEKDAY の 2 つ目を省くと、月曜の 11/2 は 2 になりました(日曜が 1 の数え方)。2 つ目を 2 にすると 1 です。土日を「6 以上」で見分けるときは、かならず 2 を付けます。
曜日の列が「月」なのに、条件を「月曜日」にすると合計は 0 になりました。TEXT の “aaa” は「月」、”aaaa” は「月曜日」です。列と条件の書き方をそろえます。
空欄の 12 行目まで範囲に入れて土曜を数えると 2 になりました。表の土曜は 11/7 の 1 日だけですが、空欄は土曜として数えられます。件数を数えるときは、範囲をデータのある行までにします。表に無い曜日の平均は #DIV/0!、平日の合計は 194,000 でした。
よくある質問
曜日別ではなく月別に集計したいときは?
日付の期間を条件にして SUMIFS で合計します。月別集計する方法で説明しています。
曜日を「月曜日」と表示して集計したいときは?
曜日の列を =TEXT(A2,"aaaa") にして、条件のセルも「月曜日」にそろえます。列と条件が同じ書き方なら、同じ式で集計できます。
祝日も土日と同じ休日として分けたいときは?
祝日の一覧を作って判定します。日付が平日か休日かを判定する方法で説明しています。
