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

Excelの初心者向け入門解説
最終更新日:2016-08-30

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


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


SUMIFS関数は、SUMIF関数の条件が複数指定できるようになったものです。
範囲の中で、指定した条件を満たすセルの値を合計します。または、範囲の中で、指定した条件を満たすセルに対応する合計範囲のセルの値を合計します。書式 SUMIF(範囲,検索条件[,合計範囲]) ※[]で囲まれている部分は省略可能です。
COUNTIFS関数は、COUNTIF関数の条件が複数指定できるようになったものです。
範囲の中で、指定した条件を満たすセルの個数を数えます。書式 COUNTIF(範囲,検索条件) ※[]で囲まれている部分は省略可能です。, 範囲 条件によって評価するセル範囲を指定します。検索条件 計算の対象となるセルを定義する条件を、数値、式、セル範囲、文字列、または関数で指定します。
AVERAGEIFS関数は、AVERAGEIF関数の条件が複数指定できるようになったものです。
条件に一致するセルの平均値(算術平均)を返します。Excel2007以降に追加された関数です。書式 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引数になります。

合計範囲・平均範囲

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

条件範囲1

対応する条件による評価の対象となる最初の範囲を指定します。
条件 1 必須です。
条件範囲 2,条件 2, ... オプションです。追加の範囲と対応する条件です。最大 127 組の範囲/条件のペアを指定できます。

条件1

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

条件範囲2、条件2

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


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



使用例

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





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等)でも良いでしょう。
より複雑な条件になった場合、
例えば、複数列でワイルドカードを使うような場合など
このような場合は、作業列を上手く使って、わかり易い仕組みにしておくことをお勧めします。



ワークシート関数一覧
Excelワークシート関数の一覧と解説です詳細解説ページへのリンクもあります。Excel2007までの関数です。2010以降追加の関数一覧 ワークシート関数の一覧(2010以降) 引数関数構文については Excelシートの複雑な計算式を解析するVBAの関数構文 文字列関数…27 日付と時刻の関数…21 情報関数…17 論理関数…7 検索/行列関数…18 …



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

COUNTBLANK(空白セルの個数)
AVERAGE関数(引数の平均値)
AVERAGEIF関数(検索条件に一致する平均値)
SUMPRODUCT関数(配列の対応する要素の積の合計)
IFERROR関数(エラーの場合は指定値、以外の場合は数式)
作業セル、計算セル
SUMIFS関数、COUNTIFS関数.AVERAGEIFS関数(複数条件)
MOD関数(除算したときの剰余)
MROUND関数、CEILING関数、FLOOR関数(指定値の倍数)
RAND関数、RANDBETWEEN関数(乱数)
CELL関数(セルの書式、位置、内容の情報)


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

Byte配列と文字コード関数について|VBA技術解説(8月20日)
PowerQueryの強力な機能をVBAから利用する方法|VBA技術解説(8月4日)
練習問題31(セル結合を解除して値を埋める)|VBA練習問題(7月30日)
練習問題30(マトリックス→リスト形式)|VBA練習問題(7月25日)
Applicationを省略できるApplicationのメソッド・プロパティ一覧|VBA技術解説(7月22日)
コレクション(Collection)の並べ替え(Sort)に対応するクラス|VBA技術解説(7月20日)
CSVの読み込み方法(ジャグ配列)|VBAサンプル集(7月15日)
その他のExcel機能(グループ化、重複の削除、オートフィル等)|VBA入門(7月14日)
オートフィルタ退避回復クラスを複数シート対応させるVBAクラス|VBA技術解説(7月6日)
オートフィルタを退避回復するVBAクラス|VBA技術解説(7月6日)


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

1.最終行の取得(End,Rows.Count)|VBA入門
2.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
3.RangeとCellsの使い方|ExcelマクロVBA入門
4.Range以外の指定方法(Cells,Rows,Columns)|VBA入門
5.変数とデータ型(Dim)|ExcelマクロVBA入門
6.繰り返し処理(For Next)|ExcelマクロVBA入門
7.マクロって何?VBAって何?|ExcelマクロVBA入門
8.セルに文字を入れるとは(Range,Value)|VBA入門
9.ひらがな⇔カタカナの変換|エクセル基本操作
10.空白セルを正しく判定する方法(IsEmpty,IsError,HasFormula)|VBA技術解説



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

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


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




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