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
条件付きで合計する関数(SUMIF関数)の使い方:Excel関数
Home »
エクセル関数一覧表 »
Excel関数の目次 »
条件付きで合計する関数(SUMIF関数)の使い方
条件付きで合計を計算するにはSUMIF関数を使います。条件と一致したセルの合計を計算することができます。
なお、この関数は引数にワイルドカード文字を使用することができます。
この関数を使う上で重要なことは条件の書き方です。いろいろなケースの条件の書き方を例示していますので参考にしてください。
複数の条件で計算する場合は 複数の条件で合計する関数(SUMIFS関数)の使い方 をご覧ください。
SUMIFS関数はExcel2007以降で使用することができます。
SUMPRODUCT関数を用いて、複数条件により合計を求めることもできます。→SUMPRODUCT関数
合計に関する技をまとめています 合計する関数の技(1/2):Excel関数の技 もご覧ください。
更新:2023/10/13;作成:2004/4/7
条件付き合計
サムイフ
=SUMIF(検索範囲,検索条件,合計範囲)
検索範囲で検索条件と一致する行の合計範囲の値を合計します。
【問題1】下の集計表で性別が「男」「女」の得点の合計を計算しなさい。 問題1の解答例
【問題2】下の集計表で年齢が30歳代の得点を合計しなさい。 問題2の解答例
【問題3】名前が 子 で終わる人の合計を求めなさい。 問題3の解答例
【問題4】名前が3文字の人の合計を求めなさい。 問題4の解答例
B
C
D
E
F
G
2
番号
氏名
性別
年齢
血液型
得点
3
1
上原嘉男
男
30
O
91
4
2
森永彩芽
女
28
A
98
5
3
古田恵
女
26
A
61
6
4
太田千恵子
女
21
B
46
7
5
豊田啓一
男
38
B
78
8
6
新村遥奈
女
39
A
76
9
7
坂元彩香
女
29
B
68
10
8
坪井尚生
男
33
A
77
11
9
西原舞
女
35
B
41
12
10
中野野乃花
女
23
A
93
13
11
岩渕佳代
女
39
A
61
14
12
市村将文
男
24
A
66
15
13
芦田公平
男
31
A
90
16
14
高見美姫
女
27
A
81
17
15
高山晴彦
男
23
B
76
18
16
高島嘉子
女
24
A
85
19
17
蛭田功一
男
32
A
60
20
18
北奈那
女
32
B
84
21
19
本田明莉
女
29
A
66
22
20
東海林真依
女
30
A
92
【問題1】下の集計表で性別が「男」「女」の得点の合計を計算しなさい。
この問題の条件はセルの値が一致するものを検索します。
スピルが利用できる場合(Excel for Microsoft365 、Excel2021など)
ちなみに、Excel for Microsoft365などスピルが利用できる場合
J3:J4セルを[Delete]キーでクリアします。
(J4セルに何か入力されていると、エラー #SPILL! になります。)
J3セルに =SUMIF(D3:D22,I3:I4 ,G3:G22) と入力します。
SUMIF関数を使った数式を作成する
SUMIF関数の構文は =SUMIF(検索範囲,検索条件,合計範囲)
数式を下方向へコピーして利用するので、検索範囲と合計範囲は絶対参照にする必要があります。
条件の検索範囲は $D$3:$D$22
検索条件は I3 (ここは相対参照)
合計する範囲は $G$3:$G$22 とします。
=SUMIF($D$3:$D$22,I3,$G$3:$G$22) と入力して、フィルハンドルをダブルクリックして、下方向へ数式をコピーします。
J4セルの「女」の合計値を求める数式は=SUMIF($D$3:$D$22,I4 ,$G$3:$G$22) となります。
【問題2】下の集計表で年齢が30歳代の得点を合計しなさい。
この問題の条件はある範囲の数値であるものを検索します。
数値を検索する場合はワイルドカード文字を使うことができません。
もし年齢が文字列であったら、ワイルドカード文字を使って =SUMIF(E3:E22,"3?" ,G3:G22) と簡単なんですが・・・
数値の場合は以下のような考え方をします。
30歳代という条件で求めるには、30歳以上の合計から40歳以上の合計を差し引くことで求める ことができます。
30歳以上は SUMIF(E3:E22,">=30" ,G3:G22)
40歳以上は SUMIF(E3:E22,">=40" ,G3:G22)
で求めることができます。
数式は =SUMIF(E3:E22, ">=30" ,G3:G22) - SUMIF(E3:E22, ">=40" ,G3:G22) としました。
40歳未満から30歳未満の合計を差し引いて求めることもできます。
数式は =SUMIF(E3:E22,"<40" ,G3:G22)-SUMIF(E3:E22,"<30" ,G3:G22) となります。
【問題3】名前が 子 で終わる人の合計を求めなさい。 名前の最後に子が付いている名前という条件は ワイルドカード文字 *(アスタリスク) を使って *子 と表現することができます。
数式は =SUMIF(C3:C22,"*子" ,G3:G22) としました。
ワイルドカード文字 *(アスタリスク)は半角文字で入力します。
【問題4】名前が3文字の人の合計を求めなさい。 名前の文字数が3文字という条件は ワイルドカード ?(クエスチョンマーク)を使って ??? と表現することができます。
数式は =SUMIF(C3:C22,"???" ,G3:G22) としました。
【問題5】下表の 2017/1/20 から 2017/2/20 までの 売上数の合計を求めなさい。 問題5の解答例
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
【問題5】下表の 2017/1/20 から 2017/2/20 までの 売上数の合計を求めなさい。
この問題の条件はある期間の日付であるものを検索します。
引数に日付を入力する場合
2017/1/20 から 2017/2/20 まで という期間の条件は 2017/1/20以上 2017/2/20以下 という2つの条件を満たす必要がありますが、SUMIF関数1個で求めることができません。
Excel2007以降ならSUMIFS関数で複数の条件を指定できます。
よって、SUMIF関数では 2017/1/20以上の日付の売上合計から 2017/2/20より後の売上合計を差し引くことで求めます。
「2017/1/20以上」は ">=2017/1/20" 、「2017/2/20より後」は ">2017/2/20" と書きます。
下図では 絶対参照にしていますが、この数式は1ヶ所のみなので相対参照でOKです。
H7セルの数式は =SUMIF(B3:B17,">=2017/1/20",D3:D17)-SUMIF(B3:B17,">2017/2/20",D3:D17) となります。
なお、Excel2007で追加された SUMIFS関数で求める場合は
=SUMIFS(D3:D17, B3:B17,"<=2017/2/20" ,B3:B17,">=2017/1/20" )
となります。
セルを参照する場合
日付をセル参照する場合は ">=" &セル番地 といった具合に書きます。
数式は =SUMIF(B3:B17,">="&F3 ,D3:D17)-SUMIF(B3:B17,">"&F4 ,D3:D17) となります。
ワイルドカード 文字 文字列の検索、置換時に使用します topへ
?は任意の 1 文字
*は任意の数の文字
※ ?や*の検索には ~(チルダ) を使用します。
ワイルドカード文字の使用例
島* 「島で始まる」
*島 「島で終わる」
*島* 「島を含む」
?島 「2文字の文字列で2文字目が島」
??島 「3文字の文字列で3文字目が島」
47都道府県をワイルドカードで検索してB列の数値 1でカウントしています。
D2セルに =SUMIF($A$2:$A$48,D1,$B$2:$B$48) と入力して、右方向へコピーします。
該当する県名を3行目以降に書き出しています。
【問題】下表の中の「PTA会費」、「児童会費」、「父兄会費」を集計表の【会費】欄に計算しなさい。
B
C
D
E
F
2
月 日
項目名
適用
収入金額
支出金額
3
4月15日
繰越金
3月分繰越金
10,000
4
4月19日
PTA会費
会費(19人分)
7,600
5
4月20日
図書費
新聞代
3,000
6
4月25日
児童会費
会費(63人分)
25,200
7
4月26日
図書費
新聞代
5,000
8
5月10日
諸費
コピー代
4,800
9
5月12日
図書費
本代
12,000
10
5月18日
諸費
工具代
14,200
11
5月20日
父兄会費
会費(2人分)
800
12
合計
43,600
39,000
13
14
項目名
収入金額
15
会費
33,600
【解答例】
「PTA会費」、「児童会費」、「父兄会費」は全て【会費】という文字を最後に含みます。
別な言い方をすれば、『「会費」で終わる文字列である』とも言えます。
ワイルドカード文字「*」(アスタリスク:半角文字)を組み合わせて、『*会費 』を検索条件とします。
C15セルに =SUMIF(C3:C11,"*会費" ,E3:E11) と入力します。
検索条件の書き方(例)
A1セルを参照する場合は「">"&A1」のように&でつなぎます。
計算式を入力する I3セルに =su と入力すると、 su で始まる(含む)関数がリストに表示されます。
ここで使用したい SUMIF を[↓]キーを数回押して選択します。[Tab]キーを押して確定 します。[Enter]キーではないので注意してください。
セルに =SUMIF( と入力されます。
キーボードから D3:D22,"男",G3:G22) と入力して、[Enter]キーを押して入力を確定します。
または、マウスで D3:D22 を選択し、「,"男"」を入力して、マウスで G3:G22 を選択して入力することもできます。[Enter]キーを押して入力を確定します。
I3セルに計算結果が表示されました。
合計を表示するセルをクリックしてアクティブにします。
ここの例では I3セルをクリックして選択します。
数式バーの 関数の挿入[fx]ボタンをクリックします。
関数の分類で「すべて表示」を選択し、【SUMIF】を選択します。
「すべて表示」を選択するとアルファベット順に関数が表示されます。
関数名のリストボックスをアクティブにして、キーボードの S を押すとSで始まる関数までスクロールされるので便利です。
【関数の引数】ダイアログで、 範囲、検索条件。合計範囲を設定します。
【範囲】の欄を選択し、シートのD3:D22セルを選択します。
【検索条件】の欄を選択し、"男" と入力します。
【合計範囲】の欄を選択し、シートの G3:G22セルを選択します。
[OK]ボタンをクリックします。
I3セルに計算結果が表示されました。
スポンサードリンク
よねさんのWordとExcelの小部屋 »
エクセル関数一覧表 » 条件付きで合計する関数(SUMIF関数)の使い方:Excel関数
PageViewCounter
Since2006/2/27