関数

COUNTIF・SUMIF(条件に合うものを数える・合計する)

「〇〇の個数は?」「〇〇の合計は?」を一発で求めます。

📖 このページでわかること

  1. 「数える関数」の使い分け(COUNT・COUNTA・COUNTBLANK)
  2. COUNTIFで「条件に合うセルの個数」を数える方法
  3. 条件の書き方(文字・数値の比較・ワイルドカード・セル参照)
  4. SUMIFで「条件に合う行だけ」を合計する方法
  5. 複数条件のCOUNTIFS・SUMIFS、平均のAVERAGEIF
  6. 重複チェック・出席集計などの実例とよくある誤り
fx

「りんごは何個売れた?」「りんごの売上はいくら?」――こういう“条件つきの集計”は、手で数えると大変ですよね。でも大丈夫です。COUNTIFは条件に合うものを数えてくれて、SUMIFは条件に合うものだけを合計してくれます。この2つを覚えると、表の集計がぐっとラクになりますよ。セルくんといっしょに、ひとつずつ見ていきましょう。

まずは「数える関数」を整理しましょう

条件つきの集計に入る前に、シンプルに「数える」関数を見ておきましょう。よく似た名前で3つあります。どれも「範囲」を1つ指定するだけのかんたんな関数です。

関数数えるもの
COUNT数値が入っているセルの個数=COUNT(B2:B10)
COUNTA空白以外(文字でもOK)のセルの個数=COUNTA(A2:A10)
COUNTBLANK空白のセルの個数=COUNTBLANK(A2:A10)

ポイントは COUNT は「数値だけ」を数えること。名前や「りんご」などの文字は数えてくれません。文字も含めて「入っているセルの数」を数えたいときは COUNTA を使います。たとえば「名簿に何人いるか」を数えるなら、名前(文字)が対象なので COUNTA が向いています。

セルくんからのたとえ話です。COUNT は「お財布の中の硬貨だけを数える人」、COUNTA は「お財布の中身を、硬貨でもお札でもレシートでも“1つ”として数える人」とイメージするとわかりやすいですよ。

COUNTIF ―― 条件に合うものを数える

「数える」に「条件(IF)」をつけたのが COUNTIF です。構文はとてもシンプルで、引数は2つだけです。

=COUNTIF(範囲, 条件)
例)=COUNTIF(A2:A10,"りんご") … A列の中で「りんご」の個数を数える

たとえば次のような売上の表があるとします。この表を例に進めていきましょう。

A:商品B:個数C:売上
2りんご3300
3みかん5250
4りんご2200
5ぶどう1400
6りんご4400

この表で「りんごは何回出てくる?(=何件あった?)」を数えるなら、次のように書きます。

=COUNTIF(A2:A6,"りんご")
結果 → 3(りんごの行が3つある)
E2fx=COUNTIF(A2:A6,"りんご")
ABCDE
1商品個数売上りんごの件数
2りんご33003
3みかん5250
4りんご2200
5ぶどう1400
6りんご4400

黄色のセル(りんご)が3つ。E2の数式がその数を数えて「3」と表示します。

たとえるなら、たくさんのカードの山から「りんごと書かれたカードだけ抜き出して、枚数を数える」のがCOUNTIFです。あなたが1枚ずつめくらなくても、自動で数えてくれます。

条件の書き方をていねいに

COUNTIF・SUMIFでつまずく原因の多くは「条件の書き方」です。ここはとても大切なので、ゆっくり読んでみてください。条件は大きく4つのパターンに分けられます。

① 文字をそのまま指定する

文字(テキスト)で指定するときは、ダブルクォーテーション(" ")で囲みます

=COUNTIF(A2:A6,"りんご")
例)A列の中で「りんご」と書かれたセルの数

② 数値の「○○以上」などを比較する

「10以上」「100より大きい」のように数の大小で数えたいときは、比較演算子(記号)と数値をまとめて " " で囲みます。ここが初心者の方がいちばん迷うポイントです。

記号意味書き方の例
=等しい"=100"
>より大きい">100"
<より小さい(未満)"<100"
>=以上">=100"
<=以下"<=100"
<>等しくない(以外)"<>りんご"
=COUNTIF(B2:B6,">=3")
例)B列(個数)が「3個以上」の行を数える → 結果 3(3・5・4の行)

③ ワイルドカードで部分一致をさせる

「○○を含む」「○○で始まる」のように、ぴったり一致でなくても数えたいときはワイルドカードを使います。文字の条件の中に混ぜて書きます。

記号意味
*(アスタリスク)任意の文字列(0文字以上、何文字でもOK)"りんご*"=「りんご」で始まる語
?(クエスチョン)任意の1文字(ちょうど1文字)"り??"=「り」+2文字の3文字

例)「東京」を含むセルを数える
=COUNTIF(A2:A100,"*東京*") →「東京都」「西東京市」などもまとめて数えます。
例)「りんご」で始まるセルを数える
=COUNTIF(A2:A100,"りんご*") →「りんごジュース」「りんご飴」なども含みます。

④ セル参照(条件をセルに入れておく)

条件を式の中に直接書くのではなく、別のセルに入れておくこともできます。条件を変えたいときに式を直さなくてよいので、とても便利です。文字だけならそのままセルを指定すればOKです。

=COUNTIF(A2:A6,E1)
例)E1に「りんご」と入れておけば、E1の中身で数える

比較演算子と組み合わせるときは、記号を " " で囲み、セルを &(アンパサンド)でつなぎます。記号とセルを「足し算でくっつける」イメージです。

=COUNTIF(B2:B6,">="&E1)
例)E1に 3 と入れておけば「E1以上」で数える(=>=3 と同じ)

比較記号を使うときは ">=10" のように、記号も数値もまとめて " " の中に入れるのがコツです。>=10 のように囲み忘れるとエラーになります。また、セルを使うときは ">=10" のように数値まで " " に入れてはいけません。セルの場合は ">="&E1 と、記号だけを " " に入れて & でつなぎます。

- スポンサーリンク -
広告スペース

SUMIF ―― 条件に合うものだけ合計する

「個数を数える」のがCOUNTIFなら、「金額などを合計する」のがSUMIFです。COUNTIFより引数が1つ多く、3つになります。

=SUMIF(範囲, 条件, 合計範囲)
例)=SUMIF(A2:A6,"りんご",C2:C6) … りんごの行のC列(売上)だけを合計する

さきほどの表で「りんごの売上合計」を出すと、次のようになります。

=SUMIF(A2:A6,"りんご",C2:C6)
結果 → 900(300 + 200 + 400)
E2fx=SUMIF(A2:A6,"りんご",C2:C6)
ABCDE
1商品個数売上りんごの売上計
2りんご3300900
3みかん5250
4りんご2200
5ぶどう1400
6りんご4400

りんごの行(黄)の売上だけ(薄緑=300・200・400)を足して、E2に「900」と出ます。

合計範囲を省略するとどうなる?

SUMIFの3つめ「合計範囲」は、実は省略できます。省略すると、1つめの「範囲」自体を合計します。つまり「条件に合う範囲の数値を、そのまま足す」動きになります。

=SUMIF(B2:B6,">=3")
例)B列(個数)の中で「3以上」の数値だけを合計 → 3+5+4=12

SUMIFは「範囲で条件に合った行を見つけて、その行の合計範囲を足す」という動きです。範囲と合計範囲は、同じ行数・同じ並びにそろえるのが大切。たとえば範囲が A2:A6 なら、合計範囲も C2:C6 のように同じ5行にそろえます。ずれていると、意図しない結果になります。

AVERAGEIF ―― 条件に合うものだけ平均する

「条件に合うものの平均」を出したいときは、AVERAGEIF を使います。引数の並びはSUMIFとまったく同じです。

=AVERAGEIF(範囲, 条件, 平均範囲)
例)=AVERAGEIF(A2:A6,"りんご",C2:C6) … りんごの売上の平均(900÷3=300)

例)テストの表で「合格(70点以上)の人の平均点」を出したいとき。
=AVERAGEIF(B2:B30,">=70",B2:B30)
平均範囲を省略しても、範囲と同じならこのように範囲をそのまま平均します。

複数の条件で集計したい ―― COUNTIFS・SUMIFS

「りんごで、しかも3個以上売れた行」のように条件が2つ以上になると、末尾に「S」がついた COUNTIFS・SUMIFS の出番です。条件を「範囲, 条件」のペアで好きなだけ追加できます(最大で127ペアまで指定できます)。

COUNTIFS(複数条件で数える)

=COUNTIFS(範囲1, 条件1, 範囲2, 条件2, …)
例)=COUNTIFS(A2:A6,"りんご",B2:B6,">=3") … りんごで、かつ3個以上の行の数

SUMIFS(複数条件で合計する)

=SUMIFS(合計範囲, 範囲1, 条件1, 範囲2, 条件2, …)
例)=SUMIFS(C2:C6,A2:A6,"りんご",B2:B6,">=3") … 条件に合う行のC列を合計

引数の並び順に注意です。SUMIFは「範囲, 条件, 合計範囲」ですが、SUMIFS合計範囲が先頭(合計範囲, 範囲1, 条件1, …)になります。順番が入れ替わるので混同しないようにしましょう。COUNTIFSには合計するものがないので「範囲1, 条件1, 範囲2, 条件2, …」と書きます。

COUNTIFS・SUMIFSの複数条件は、すべて「かつ(AND)」でつながります。「りんご または みかん」のような「または(OR)」をやりたいときは、COUNTIFを2つ足し算する(=COUNTIF(A2:A6,"りんご")+COUNTIF(A2:A6,"みかん"))のがかんたんです。

こんなときに使える実例

実例1:名簿の重複チェック

A列に並んだ名前の中で「同じ名前が2回以上ないか」を調べたいときは、COUNTIFが便利です。B2に次の式を入れて下までコピーすると、重複している行に「重複」と表示されます。

=IF(COUNTIF(A:A,A2)>1,"重複","")
例)A列全体でA2と同じ名前が2件以上あれば「重複」と表示

実例2:出席の集計

「出席」「欠席」が並んだ表で、出席の回数を数えるならこうです。

=COUNTIF(B2:B31,"出席")
例)B列の「出席」の個数を数える

実例3:日付の範囲で合計する

「4月分の売上だけ合計したい」というときは、SUMIFSで日付の範囲を2つの条件にします。

=SUMIFS(C2:C100,A2:A100,">=2026/4/1",A2:A100,"<=2026/4/30")
例)A列の日付が4月1日〜4月30日のC列を合計

よくある誤りと対処

やってみよう:COUNTIFで「りんごの数」を数える

ここまでの内容を、実際の操作の流れで体験してみましょう。先ほどの売上の表で、結果をE2セルに出します。1手順ずつ、画面の変化を見ながら進めてみてください。

  1. 結果を出したいセルを選びます:ここではE2セルをクリックして、=COUNTIF( まで入力します。
E2fx=COUNTIF(
ABE
1商品個数りんごの件数
2りんご3=COUNTIF(
3みかん5

E2をクリックして関数名を打ち始めたところです。まだ範囲は入っていません。

  1. 数える範囲をドラッグで選びます:商品が並んだA2からA6までをマウスでなぞると、A2:A6 が式に入ります。
E2fx=COUNTIF(A2:A6
ABE
1商品個数りんごの件数
2りんご3=COUNTIF(A2:A6
3みかん5
4りんご2
5ぶどう1
6りんご4

A2:A6(薄緑)をドラッグして範囲を指定したところです。

  1. 条件を入力します:カンマ(,)に続けて ,"りんご") と打ちます。文字の条件なので、忘れずに " " で囲みます。
E2fx=COUNTIF(A2:A6,"りんご")
ABE
1商品個数りんごの件数
2りんご3="りんご")
3みかん5

条件 "りんご" まで入力し終えた状態です。あとは確定するだけです。

  1. Enterキーで確定します:キーボードの Enter を押すと計算され、E2に「3」と表示されます。りんごの行が3つあることが数えられました。
E2fx=COUNTIF(A2:A6,"りんご")
ABE
1商品個数りんごの件数
2りんご33
3みかん5
4りんご2
5ぶどう1
6りんご4

Enterで確定し、結果「3」が表示されました。黄色のりんごの行と数が一致しています。

📋 こんなときに使う

アンケートの集計:「満足」「ふつう」「不満」と並んだ回答の列で、=COUNTIF(回答列,"満足") とすれば、満足と答えた人数が一発でわかります。
在庫の種類別カウント:商品名がずらりと並んだ在庫表で、「りんごは何件登録されているか」を品目ごとに数えられます。
出欠・合否の人数:「出席/欠席」や「合格/不合格」の列で、それぞれの人数をボタン一つで数えられます。点数の列なら ">=70" で合格者数も出せます。

よくある失敗と直し方

失敗1:条件の " " を忘れてエラーになる

文字や比較の条件は、必ずダブルクォーテーション(" ")で囲む必要があります。囲み忘れると、エクセルは「りんご」を名前(セルや関数)とみなそうとして、エラーになります。

E2fx=COUNTIF(A2:A6,りんご)
ABE
1商品個数りんごの件数
2りんご3#NAME?
3みかん5

" " を忘れると #NAME? エラーが出ます。

失敗2:数値条件「>=10」の書き方を間違える

「10以上」を数えたいのに =COUNTIF(B2:B6,>=10) と書くと、これもエラーになります。比較記号を使う条件は、記号と数値をまとめて " " の中に入れるのが正しい書き方です。

失敗3:範囲と合計範囲の長さが違ってSUMIF/SUMIFSがズレる

SUMIF・SUMIFSで結果がおかしいときの定番が、「範囲」と「合計範囲」の行数(長さ)が合っていないケースです。たとえば条件の範囲は A2:A6(5行)なのに、合計範囲を C2:C7(6行)にしてしまうと、行が1つズレて足し算され、意図しない金額になります。

E2fx=SUMIF(A2:A6,"りんご",C2:C7)
ACE
1商品売上りんご売上計
2りんご300700
3みかん250
4りんご200

範囲(A2:A6)と合計範囲(C2:C7)の長さが違うと、行がズレて本来の900ではない数になってしまいます。

確認ミニ練習

Q1.=COUNTIF(A2:A10,"りんご") は、りんごの「売上金額」を合計してくれる。

COUNTIFは「個数(何件あるか)」を数える関数です。金額の合計を出したいときはSUMIFを使います。

Q2.「10以上」を条件にするときは ">=10" のように記号も数値も " " で囲んで書く。

そのとおりです。比較記号を使う条件は、記号と数値をまとめてダブルクォーテーションで囲みます。

Q3.SUMIFとSUMIFSは、引数の並び順がまったく同じである。

並び順が違います。SUMIFは「範囲, 条件, 合計範囲」、SUMIFSは「合計範囲, 範囲1, 条件1, …」と合計範囲が先頭にきます。

Q4.ワイルドカードの * は「何文字でもOK」、? は「ちょうど1文字」を表す。

そのとおりです。"り*" は「り」で始まる語すべて、"り??" は「り+2文字」の3文字だけにマッチします。

Q5.条件にセルE1の中身を使いたいときは、"E1" と書く。

"E1" と書くと「E1という文字」を探してしまいます。セルの中身を使うときは " " で囲まず E1、比較と組み合わせるなら ">="&E1 とします。

Q6.COUNTIFSの複数条件は、すべて「かつ(AND)」でつながる。

そのとおりです。COUNTIFS・SUMIFSの条件はすべてANDです。「または(OR)」にしたいときはCOUNTIFを足し算するのがかんたんです。

よくある質問
COUNTIFで、条件に合うもの「以外」を数えたいです。

「○○ではない」を表す記号 <> を使います。たとえば「りんご以外の個数」は =COUNTIF(A2:A10,"<>りんご") です。空白以外を数えたいときは =COUNTIF(A2:A10,"<>") と書けます。

条件にセルを指定できますか?("りんご"と直接書きたくない)

できます。たとえばE1に「りんご」と入力しておき、=COUNTIF(A2:A10,E1) と書けばOKです。比較と組み合わせるときは ">="&E1 のように、記号を " " に入れてセルを & でつなぎます。

SUMIFの結果が0になってしまいます。

多くは「範囲と合計範囲の行数がずれている」か「条件の文字が完全一致していない(余分なスペースなど)」が原因です。範囲と合計範囲を同じ行数にそろえること、商品名の前後に空白が入っていないかを確認してみてください。

ワイルドカードの * と ? の違いは?

* は「何文字でもOK」、? は「ちょうど1文字」を表します。"り*" は「り」で始まる語すべて、"り??" は「り+2文字」の3文字だけにマッチします。

「*」という記号そのものを数えたいときは?

ワイルドカードではなく、記号としての *? を探したいときは、前に ~(チルダ) を付けます。"~*" でアスタリスクそのもの、"~?" でクエスチョンそのものを探せます。

COUNTIFとCOUNTIFS、SUMIFとSUMIFSはどう使い分ければいい?

条件が1つだけなら COUNTIF / SUMIF、条件が2つ以上なら COUNTIFS / SUMIFS と覚えてください。なお、条件が1つでもCOUNTIFS・SUMIFSは使えます。迷ったら「S付き」を使う、という覚え方でも問題ありません。

条件に大文字・小文字の区別はありますか?

COUNTIF・SUMIFは、英字の大文字・小文字を区別しません。"apple""APPLE" は同じものとして数えられます。区別したいときは別の関数(EXACTなど)を組み合わせる必要があります。

別のシートやブックの範囲も条件にできますか?

別シートは =COUNTIF(Sheet2!A2:A10,"りんご") のように「シート名!」を付ければ使えます。ただし、閉じている別ブックを参照するとSUMIF系はエラーになることがあるため、集計するブックは開いておくのがおすすめです。

結果が #NAME? というエラーになってしまいます。

多くは、条件の " "(ダブルクォーテーション)の囲み忘れが原因です。=COUNTIF(A2:A6,りんご) のように囲んでいないと、エクセルが「りんご」を名前と勘違いしてエラーになります。=COUNTIF(A2:A6,"りんご") と直してください。比較条件も ">=10" のように記号ごと囲みます。

SUMIFで「範囲」と「合計範囲」は同じ大きさにしないとダメですか?

はい、そろえるのが基本です。SUMIFは行どうしを対応させて計算するので、A2:A6(5行)と C2:C7(6行)のように長さが違うと、行がズレて意図しない結果になります。開始行と行数を同じ(例:A2:A6 と C2:C6)にそろえましょう。SUMIFSも同様です。

📌 このページのまとめ

  • 数える関数は COUNT(数値)・COUNTA(空白以外)・COUNTBLANK(空白)の3種類。
  • COUNTIFは =COUNTIF(範囲, 条件) で「条件に合う個数」を数える。
  • 条件は文字なら "りんご"、比較なら ">=10" のように " " で囲む。
  • 部分一致は * (何文字でも)と ? (1文字)のワイルドカードを使う。
  • 条件にセルを使うときは ">="&E1 のように記号を " " に入れて & でつなぐ。
  • SUMIFは =SUMIF(範囲, 条件, 合計範囲)、平均はAVERAGEIF。合計範囲は省略できる。
  • 条件が複数ならCOUNTIFS・SUMIFS。SUMIFSは合計範囲が先頭にくる点に注意。
  • うまくいかないときは「" " 忘れ」「範囲の行数ズレ」「余分な空白」を確認。