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
複数の条件で合計する関数(SUMIFS関数)の使い方:Excel関数
Home »
エクセル関数一覧表 »
Excel関数の目次 »
複数の条件で合計する関数(SUMIFS関数)の使い方
更新:2024/4/23;作成:2007/9/11
SUMIFS関数 :複数の検索条件を満たすセルの値を合計します。 Topへ
サム イフズ
SUMIFS(合計対象範囲,検索条件範囲1,検索条件1,[検索条件範囲2],[検索条件2]...)
Excel2007で追加された関数です。
引数の条件は「条件1 AND 条件2...」のANDでの結果になります。
ANDとは設定したすべての条件を満たす場合に計算される ということです。 1つの条件ではSUMIF関数を使うことができますが、SUMIFS関数でも計算できます。
ただし、これらの関数では引数の順番が異なりますので注意が必要です。
ここでは下図のデータを使用しますので、コピーしてお使いください。
B
C
D
E
F
G
2
番号
氏名
性別
年齢
血液型
得点
3
1
上原嘉男
男
44
O
91
4
2
森永彩芽
女
58
A
98
5
3
古田恵
女
41
AB
61
6
4
太田千恵子
女
34
B
46
7
5
豊田啓一
男
38
O
78
8
6
新村遥奈
女
29
A
76
9
7
坂元彩香
女
38
AB
68
10
8
坪井尚生
男
45
A
77
11
9
西原舞
女
47
B
41
12
10
中野野乃花
女
51
O
93
13
11
岩渕佳代
女
44
A
61
14
12
市村将文
男
58
AB
66
15
13
芦田公平
男
59
A
90
16
14
高見美姫
女
34
AB
81
17
15
高山晴彦
男
65
B
76
18
16
高島嘉子
女
53
A
85
19
17
蛭田功一
男
46
O
60
20
18
北奈那
女
42
B
84
21
19
本田明莉
女
62
A
66
22
20
東海林真依
女
63
AB
92
【問題1】下図のように男と女の各血液型別に得点の合計を求めなさい。
【問題1の解答例】
スピルが利用できる場合(Excel for Microsoft365 、Excel2021など)
Excel for Microsoft365 、Excel2021など スピル(Spill)が利用できる場合は
J3セルに =SUMIFS(G3:G22,D3:D22,I3:I4 ,F3:F22,J2:M2 ) と入力するだけです。
SUMIFS関数を使った数式の入力手順
Spillが使えない場合の入力法です。
J3セルの数式は =SUMIFS($G$3:$G$22 ,$D$3:$D$22,$I3 ,$F$3:$F$22,J$2 ) としました。
右方向へコピーして、更に下方向へコピーするので絶対参照や複合参照($I3 、J$2 )がポイントとなります。 ここでは、キーボード操作を主として、数式オートコンプリートを利用する方法で説明します。
数式の入力から関数の引数の入力ダイアログボックスを呼び出す方法では手間がかかりすぎますので、手早く入力できる方法で説明します。
数式を入力する J3セルを選択します。
=sum と入力すると、sum を含む関数のリストが表示されます。
[↓]キーを2回押して SUMIFS を選択し、[Tab]キー を押して入力します。[Enter]キーではありません。
マウスで G3セルを選択して、[Shift]+[Ctrl]+[↓] でG3:G22 が入力されます。
この数式はほかのセルにコピーするので、絶対参照とする必要があります。
[F4]キーを押して =SUMIFS($G$3:$G$22 とします。
G3 と入力して、[F4]キーを押して $G$3 と絶対参照にします。
:G22 と入力して、[F4]キーを押して $G$22 と絶対参照にします。
,(カンマ)を入力して、=SUMIFS($G$3:$G$22, とします。
カンマを入力して、引数の条件範囲1も $D$3:$D$22 と絶対参照とします。
ポイントは 引数の条件1は I3 ですが、数式を右方向と下方向へコピーしますので、
[F4]キーを3回押して、列番号を固定して $13 と複合参照にします。
=SUMIFS($G$3:$G$22,$D$3:$D$22,$I3
カンマを入力して、条件範囲2は $F$3:$F$22 と絶対参照とします。
ポイントは 条件2は J2 ですが、数式を下と右へコピーしますので、
[F4]キーを2回押して 行番号を固定して J$2 と複合参照にします。
後ろかっこ ) を入力して、=SUMIFS($G$3:$G$22,$D$3:$D$22,$I3,$F$3:$F$22,J$2) とします。
[Ctrl]+[Enter]で数式の入力を確定します。アクティブセルが J3セルのままになります。
なお、[Enter]で確定すると、アクティブセルが J4セルとなり、次の操作に人手間必要となるからです
J3セルのフィルハンドルを右方向へドラッグして数式をコピーします。
J3:M3セルを選択した状態で、フィルハンドルを下方向へドラッグして、数式をコピーします。
完成しました。
【問題2】年齢が30歳代の得点の合計を求めなさい。
【問題2の解答例】
求める年齢は30歳台なので、AND条件で条件を作成します。
下図のように [30歳以上] AND [40歳未満] とすると 30歳台 を求めることができます。
両方の条件を満たすのは下図の緑色の部分となります。
合計の対象範囲は G3:G22 、条件は30歳台ということですので、「30以上」And「40未満」 を条件とします。
よって数式は =SUMIFS(G3:G22, E3:E22,">=30",E3:E22,"<40" ) と入力します。
OR条件の計算例
【問題3】「女」の「B」または「男」の「A」の得点の合計を求めなさい。
なお、ここではSUMIFS関数を使って求めます。
ここでは OR条件なのでこれまでとは異なった条件設定が必要になります。
「女」の「B」または「男」の「A」の条件を一つにまとめることができませんので、それぞれの条件で求めてから合計します。
「女」の「B」は SUMIFS(G3:G22,D3:D22,"女",F3:F22,"B" )
「男」の「A」は SUMIFS(G3:G22,D3:D22,"男",F3:F22,"A" )
でそれぞれ求めることができます。
よって数式は
=SUMIFS(G3:G22,D3:D22,"女",F3:F22,"B" )+ SUMIFS(G3:G22,D3:D22,"男",F3:F22,"A" )
としました。
合計はSUM関数で求めることができますので、
=SUM(SUMIFS(G3:G22,D3:D22,"女",F3:F22,"B"),SUMIFS(G3:G22,D3:D22,"男",F3:F22,"A"))
とすることもできます。
SUMPRODUCT関数を使って求めることもできます。
AND条件は乗算、OR条件は和算で論理式を組みたてます。
女かつBは ((D3:D22="女")*(F3:F22="B")
男かつAは (D3:D22="男")*(F3:F22="A")
この2つの条件はOR条件なので +(プラス) します (D3:D22="女")*(F3:F22="B")+ (D3:D22="男")*(F3:F22="A")
よって数式は =SUMPRODUCT((D3:D22="女")*(F3:F22="B")+(D3:D22="男")*(F3:F22="A"),G3:G22) となります。
【問題4】下表の 2017/1/20 から 2017/2/20 までの りんご の売上数の合計を求めなさい。
B
C
D
2
日付
品種
売上数
3
2017/1/10
みかん
36
4
2017/1/14
りんご
45
5
2017/1/18
みかん
26
6
2017/1/22
りんご
22
7
2017/1/26
みかん
24
8
2017/1/30
りんご
29
9
2017/2/3
みかん
45
10
2017/2/7
りんご
11
11
2017/2/11
みかん
11
12
2017/2/15
りんご
19
13
2017/2/19
みかん
17
14
2017/2/23
りんご
15
15
2017/2/27
みかん
50
16
2017/3/3
りんご
36
17
2017/3/7
みかん
12
日付の期間を条件に書くときは ">=2017/1/20" のように " ダブルクォーテーションでくくります。
「2017/1/20 から 2017/2/20 まで」 という条件は 「2017/1/20以上」「2017/2/20以下」 となりますので、">= 2017/1/20" "<= 2017/2/20" と書きます。
数式は =SUMIFS(D3:D17 ,B3:B17,">= 2017/1/20",B3:B17,"<= 2017/2/20",C3:C17,"りんご" ) となります。
下図のように期間がセルに入力してあり、期間をセル参照する場合は ">="& セル番地 といった書き方をします。
数式は =SUMIFS(D3:D17,B3:B17,">="&F6 ,B3:B17,"<="&H6 ,C3:C17,"りんご") となります。
下図では絶対参照になっていますが、りんごとみかんを数式で指定していて数式はコピーしませんので相対参照でOKです。
ワイルドカード 文字 文字列の検索、置換時に使用します topへ
?は任意の 1 文字
*は任意の数の文字
※ ?や*の検索には ~(チルダ) を使用します。
ワイルドカード文字の使用例
島* 「島で始まる」
*島 「島で終わる」
*島* 「島を含む」
?島 「2文字の文字列で2文字目が島」
??島 「3文字の文字列で3文字目が島」
SUMIFS関数でワイルドカード文字を使って計算しています。
47都道府県をワイルドカードで検索してB列の数値 1でカウントしています。
=SUMIFS($B$2:$B$48,$A$2:$A$48,D$1)
該当する県名を3行目以降に書き出しています。
問題2の解答例
Excel for Microsoft365 では動的配列数式を使えます。
I3セルの数式を =SUM((E3:E22>=30)*(E3:E22<40)*G3:G22) とすることができます。
なお以前のバージョンでは、CSE数式(従来の配列数式)として使うことができます。
I3セルに数式を =SUM((E3:E22>=30)*(E3:E22<40)*G3:G22) と入力して、[Ctrl]+[Shift]+[Enter] で入力を確定します。
数式が { と } でくくられます。
問題3の解答例
Excel for Microsoft365 では動的配列数式を使えます。
I3セルの数式を =SUM((D3:D22="女")*(F3:F22="B")*G3:G22+(D3:D22="男")*(F3:F22="A")*G3:G22) とすることができます。
なお以前のバージョンでは、CSE数式(従来の配列数式)として使うことができます。
I3セルに数式を =SUM((D3:D22="女")*(F3:F22="B")*G3:G22+(D3:D22="男")*(F3:F22="A")*G3:G22) と入力して、[Ctrl]+[Shift]+[Enter]
で入力を確定します。
問題4の解答例
Excel for Microsoft365 では動的配列数式を使えます。
G8セルの数式を =SUM((B3:B17>=F6)*(B3:B17<=H6)*(C3:C17="りんご")*D3:D17) とすることができます。
G9セルの数式は =SUM((B3:B17>=F6)*(B3:B17<=H6)*(C3:C17="みかん")*D3:D17) とします。
なお以前のバージョンでは、CSE数式(従来の配列数式)として使うことができます。
G8セルに数式は =SUM((B3:B17>=F6)*(B3:B17<=H6)*(C3:C17="りんご")*D3:D17) と入力して、[Ctrl]+[Shift]+[Enter]
で入力を確定します。
G9セルの数式は =SUM((B3:B17>=F6)*(B3:B17<=H6)*(C3:C17="みかん")*D3:D17) と入力して、[Ctrl]+[Shift]+[Enter]
で入力を確定します。
ワイルドカードの解答例
D2セルに =SUMIFS(B2:B48,A2:A48,D1:H1 ) と入力するだけです。
スポンサードリンク
よねさんのWordとExcelの小部屋 »
エクセル関数一覧表 » 複数の条件で合計する関数(SUMIFS関数)の使い方
PageViewCounter
Since2006/2/27