[Excel 2016/2013/2010/2007]
SUMIF関数、AVERAGEIF関数、COUNTIF関数を使用すると、表の中から条件に合うデータを探して合計、平均、データ数を求められます。ここでは、条件として数値の範囲を指定する方法を紹介します。
[範囲]から[検索条件]を探し、見つかった行の[合計範囲]のデータの合計を求める
=SUMIF(範囲, 検索条件[, 合計範囲])
[範囲]から[条件]を探し、見つかった行の[平均対象範囲]のデータの平均を求める
=AVERAGEIF(範囲, 条件[, 平均対象範囲)
[範囲]から[検索条件]を探してデータ数を求める
=COUNTIF(範囲, 検索条件)
スポンサーリンク
作例…年齢が「30以上」の社員のデータを集計する
図1の営業成績表の「年齢」欄(セルB3~B9)から「30以上」を検索して、「契約数」欄(セルC3~C9)の数値の合計と平均、およびデータ数を求めます。
「30以上」という条件を指定するには、引数[検索条件]に「">=30"」と指定します。「30」がセルF2に入力されている場合は、「">=" & F2」と指定します。
セルF6 | =SUMIF(B3:B9,">=" & F2,C3:C9)
セルF7 | =AVERAGEIF(B3:B9,">=" & F2,C3:C9)
セルF8 | =COUNTIF(B3:B9,">=" & F2)

図1 年齢が「30以上」の社員のデータを集計する。
条件の指定例
数値の範囲を条件とするときは、「>」「>=」などの比較演算子と数値を組み合わせて指定します。
条件 | 直接指定 | セル参照指定 |
---|---|---|
30以上 | ">=30" | ">=" & F2 |
30より大きい | ">30" | ">" & F2 |
30以下 | "<=30" | "<=" & F2 |
30より小さい | "<30" | "<" & F2 |
30に等しい | 30 または "=30" | F2 または "=" & F2 |
30に等しくない | "<>30" | "<>" & F2 |
「○以上○以下」という条件を指定するには
「○以上○以下」「○以上○未満」のような条件を指定したいときは、複数の条件を指定できるSUMIFS関数、AVERAGEIFS関数、COUNTIFS関数を使います。それぞれSUMIF、AVERAGEIF、COUNTIFの関数名の末尾に複数形を表す「S」を付けた名前になっています。
=SUMIFS(合計対象範囲, 条件範囲1, 条件1[, 条件範囲2, 条件2…])
=AVERAGEIFS(平均対象範囲, 条件範囲1, 条件1[, 条件範囲2, 条件2…])
=COUNTIFS(検索条件範囲1, 検索条件1[,検索条件範囲2, 検索条件2…])
図2では、「年齢」が「30以上40未満」の社員を検索して、「契約数」の合計と平均、およびデータ数を求めています。
セルF6 | =SUMIFS(C3:C9,B3:B9,">=" & F2,B3:B9,"<" & F3)
セルF7 | =AVERAGEIFS(C3:C9,B3:B9,">=" & F2,B3:B9,"<" & F3)
セルF8 | =COUNTIFS(B3:B9,">=" & F2,B3:B9,"<" & F3)

図2 年齢が「30以上40未満」の社員のデータを集計する。
スポンサーリンク