エクセル入門
SUMIFS関数、COUNTIFS関数.AVERAGEIFS関数(複数条件)

Excelの初心者向け入門解説
公開日:2013年5月以前 最終更新日:2021-06-24

SUMIFS関数、COUNTIFS関数.AVERAGEIFS関数(複数条件)


SUMIFS関数は、SUMIF関数の条件が複数指定できるようになったものです。

・SUMIF関数の書式 ・SUMIF関数の使用例 ・ワイルドカード ・SUMIF関数の応用例
COUNTIFS関数は、COUNTIF関数の条件が複数指定できるようになったものです。
・COUNTIF関数の書式 ・COUNTIF関数の使用例 ・COUNTIF関数でワイルドカードを使用 ・COUNTIF関数の応用例
AVERAGEIFS関数は、AVERAGEIF関数の条件が複数指定できるようになったものです。
・AVERAGEIF関数の書式 ・AVERAGEIF関数の使用例 ・ワイルドカードを使ったAVERAGEIF関数の使用例

関数の書式

SUMIFS(合計範囲, 条件範囲1, 条件1, [条件範囲2, 条件2], ...)
COUNTIFS(条件範囲1, 検索条件1, [条件範囲2, 検索条件2]…)
AVERAGEIFS(平均範囲, 条件範囲1, 条件1, [条件範囲2, 条件2], ...)

注意
SUMIFSとSUMIF、AVERAGEIFSとAVERAGE とでは、引数の指定順序が異なります。
合計範囲・平均範囲は SUMIF・AVERAGEIF では第3引数であるのに対し、SUMIFS・AVERAGEIFSでは第1引数になります。

合計範囲・平均範囲

SUMIDS関数の合計するセル範囲を指定します。
SUMIDS関数の平均するセル範囲を指定します。
COUNTIFS関数には、この引数はありません。

条件範囲1

対応する条件による評価の対象となる最初の範囲を指定します。
条件1は必須です。

条件範囲2,条件 2, ...
オプションです。
追加の範囲と対応する条件です。
最大 127 組の範囲/条件のペアを指定できます。

条件1

加算・平均の対象となる条件範囲1のセルを定義する条件を数値、式、セル参照、または文字列で指定します。
たとえば、検索条件は 25、">25"、B4、"Excel" のようになります。
式および文字列を指定する場合は半角の二重引用符 (") で囲む必要があります。

条件範囲2、条件2

オプションです。
追加の範囲と対応する条件です。
最大 127 組の範囲/条件のペアを指定できます。

ワイルドカードが使用できます

条件には、半角の疑問符 (?) または半角のアスタリスク (*) をワイルドカード文字として使用することができます。
ワイルドカード文字の疑問符は任意の 1 文字を表し、アスタリスクは任意の文字列を表します。
ワイルドカード文字ではなく、通常の文字として疑問符やアスタリスクを検索する場合は、その文字の前に、"~*" のように半角のチルダ (~) を付けます。

SUMIFS関数、COUNTIFS関数、AVERAGEIFS関数の使用例

以下の表で、合計金額、件数、平均金額を求めます。

A B C D E F G H
1 日付 金額     第二営業部
2 第一営業部 営業1課 2016/8/12 16393     営業2課
3 第一営業部 営業2課 2016/8/12 18847     合計金額  
4 第一営業部 営業3課 2016/8/12 24840     件数  
5 第一営業部 営業1課 2016/8/13 14704     平均金額  
6 第一営業部 営業2課 2016/8/13 26148        
7 第一営業部 営業3課 2016/8/13 12772        
8 第一営業部 営業1課 2016/8/14 12859        
9 第一営業部 営業2課 2016/8/14 19161        
10 第一営業部 営業3課 2016/8/14 23670        
11 第一営業部 営業1課 2016/8/15 27290        
12 第一営業部 営業2課 2016/8/15 23418        
13 第一営業部 営業3課 2016/8/15 22425        
14 第二営業部 営業1課 2016/8/12 25077        
15 第二営業部 営業2課 2016/8/12 28015        
16 第二営業部 営業3課 2016/8/12 21846        
17 第二営業部 営業1課 2016/8/13 24330        
18 第二営業部 営業2課 2016/8/13 18325        
19 第二営業部 営業3課 2016/8/13 21377        
20 第二営業部 営業1課 2016/8/14 10034        
21 第二営業部 営業2課 2016/8/14 12663        
22 第二営業部 営業3課 2016/8/14 21711        
23 第二営業部 営業1課 2016/8/15 29986        
24 第二営業部 営業2課 2016/8/15 26620        
25 第二営業部 営業3課 2016/8/15 27264        

第二営業部、営業2課の、
合計金額、件数、平均金額を、
H3、H4、H5セルにそれぞれ求めます。

H3=SUMIFS(D:D,A:A,H1,B:B,H2) ・・・ 85623
H4=COUNTIFS(A:A,H1,B:B,H2) ・・・ 4
H5=AVERAGEIFS(D:D,A:A,H1,B:B,H2) ・・・ 21405.75

SUMIFSとAVERAGEIFSの第一引き数に、合計範囲・平均範囲を指定する事に気を付けてください。
後は、SUMIF、COUNTIF、AVERAGEIFが、しっかり身についていれば問題ないでしょう。

作業列(作業セル、計算セル)を使う事で、
関数の引数に、さらに関数を入れ、関数をネスト(入れ子)にしますが、このネストが多くなると、数式が複雑になりすぎてしまい、他人が見たときに数式の意味するところが分からなくなってしまいます。数式を書いた本人であっても、時が経つと解読が困難になる場合もあります。
SUMIF、COUNTIF、AVERAGEIFでも同じことが出来ます。

E列を作業列として使用します。
E2=A2&B2
として、最下行までコピーします。

A B C D E F G H
1 日付 金額 作業列   第二営業部
2 第一営業部 営業1課 2016/8/12 16393 第一営業部営業1課   営業2課
3 第一営業部 営業2課 2016/8/12 18847 第一営業部営業2課   合計金額
4 第一営業部 営業3課 2016/8/12 24840 第一営業部営業3課   件数
5 第一営業部 営業1課 2016/8/13 14704 第一営業部営業1課   平均金額
6 第一営業部 営業2課 2016/8/13 26148 第一営業部営業2課      
7 第一営業部 営業3課 2016/8/13 12772 第一営業部営業3課      
8 第一営業部 営業1課 2016/8/14 12859 第一営業部営業1課      
9 第一営業部 営業2課 2016/8/14 19161 第一営業部営業2課      
10 第一営業部 営業3課 2016/8/14 23670 第一営業部営業3課      
11 第一営業部 営業1課 2016/8/15 27290 第一営業部営業1課      
12 第一営業部 営業2課 2016/8/15 23418 第一営業部営業2課      
13 第一営業部 営業3課 2016/8/15 22425 第一営業部営業3課      
14 第二営業部 営業1課 2016/8/12 25077 第二営業部営業1課      
15 第二営業部 営業2課 2016/8/12 28015 第二営業部営業2課      
16 第二営業部 営業3課 2016/8/12 21846 第二営業部営業3課      
17 第二営業部 営業1課 2016/8/13 24330 第二営業部営業1課      
18 第二営業部 営業2課 2016/8/13 18325 第二営業部営業2課      
19 第二営業部 営業3課 2016/8/13 21377 第二営業部営業3課      
20 第二営業部 営業1課 2016/8/14 10034 第二営業部営業1課      
21 第二営業部 営業2課 2016/8/14 12663 第二営業部営業2課      
22 第二営業部 営業3課 2016/8/14 21711 第二営業部営業3課      
23 第二営業部 営業1課 2016/8/15 29986 第二営業部営業1課      
24 第二営業部 営業2課 2016/8/15 26620 第二営業部営業2課      
25 第二営業部 営業3課 2016/8/15 27264 第二営業部営業3課      

H3=SUMIF(E:E,H1&H2,D:D)
H4=COUNTIF(E:E,H1&H2)
H5=AVERAGEIF(E:E,H1&H2,D:D)

今回程度の、条件が2つくらいなら、どちら(SUMIFとSUMIFS等)でも良いでしょう。
より複雑な条件になった場合、
例えば、複数列でワイルドカードを使うような場合など
このような場合は、作業列を上手く使って、わかり易い仕組みにしておくことをお勧めします。


Officeサポート SUMIFS関数
Officeサポート COUNTIFS関数
Officeサポート AVERAGEIFS関数


ワークシート関数一覧
・文字列関数 ・日付と時刻の関数 ・情報関数 ・論理関数 ・検索/行列関数 ・数学/三角関数 ・統計関数 ・財務関数 ・エンジニアリング関数 ・データベース関数 ・アドイン/オートメーション ・キューブ ・Microsoft Office のサポート

ワークシート関数の一覧(2010以降)
・Excel2010で追加されたワークシート関数 ・Excel2013で追加されたワークシート関数 ・Excel2016/Excel2019で追加されたワークシート関数 ・Excel2021で追加されたワークシート関数 ・Excel2021より後の365で追加されたワークシート関数 ・Microsoft 365 Insider ・Microsoft「Office のサポート」



同じテーマ「エクセル入門」の記事

SUMPRODUCT関数(配列の対応する要素の積の合計)
IFERROR関数(エラーの場合は指定値、以外の場合は数式)
作業セル、計算セル
SUMIFS関数、COUNTIFS関数.AVERAGEIFS関数(複数条件)
MOD関数(除算したときの剰余)
MROUND関数、CEILING関数、FLOOR関数(指定値の倍数)
RAND関数、RANDBETWEEN関数(乱数)
CELL関数(セルの書式、位置、内容の情報)
FREQUENCY関数(値の頻度を縦方向の配列で返す)
平均値、中央値、最頻値
CONCAT関数(複数の範囲や文字列を結合)


新着記事NEW ・・・新着記事一覧を見る

ブール型(Boolean)のis変数・フラグについて|VBA技術解説(2024-04-05)
テキストの内容によって図形を削除する|VBA技術解説(2024-04-02)
ExcelマクロVBA入門目次|エクセルの神髄(2024-03-20)
VBA10大躓きポイント(初心者が躓きやすいポイント)|VBA技術解説(2024-03-05)
テンキーのスクリーンキーボード作成|ユーザーフォーム入門(2024-02-26)
無効な前方参照か、コンパイルされていない種類への参照です。|エクセル雑感(2024-02-17)
初級脱出10問パック|VBA練習問題(2024-01-24)
累計を求める数式あれこれ|エクセル関数応用(2024-01-22)
複数の文字列を検索して置換するSUBSTITUTE|エクセル入門(2024-01-03)
いくつかの数式の計算中にリソース不足になりました。|エクセル雑感(2023-12-28)


アクセスランキング ・・・ ランキング一覧を見る

1.最終行の取得(End,Rows.Count)|VBA入門
2.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
3.RangeとCellsの使い方|VBA入門
4.ひらがな⇔カタカナの変換|エクセル基本操作
5.繰り返し処理(For Next)|VBA入門
6.変数宣言のDimとデータ型|VBA入門
7.ブックを閉じる・保存(Close,Save,SaveAs)|VBA入門
8.並べ替え(Sort)|VBA入門
9.セルのクリア(Clear,ClearContents)|VBA入門
10.Findメソッド(Find,FindNext,FindPrevious)|VBA入門




このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。


記述には細心の注意をしたつもりですが、
間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。
掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。


このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。
本文下部へ