-
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