📖 このページでわかること
- 「数える関数」の使い分け(COUNT・COUNTA・COUNTBLANK)
- COUNTIFで「条件に合うセルの個数」を数える方法
- 条件の書き方(文字・数値の比較・ワイルドカード・セル参照)
- SUMIFで「条件に合う行だけ」を合計する方法
- 複数条件のCOUNTIFS・SUMIFS、平均のAVERAGEIF
- 重複チェック・出席集計などの実例とよくある誤り
「りんごは何個売れた?」「りんごの売上はいくら?」――こういう“条件つきの集計”は、手で数えると大変ですよね。でも大丈夫です。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(A2:A10,"りんご") … A列の中で「りんご」の個数を数える
- 範囲…探す対象のセル範囲(例:商品名が並んだA列)
- 条件…何を数えたいか(例:「りんご」)
たとえば次のような売上の表があるとします。この表を例に進めていきましょう。
| 行 | A:商品 | B:個数 | C:売上 |
|---|---|---|---|
| 2 | りんご | 3 | 300 |
| 3 | みかん | 5 | 250 |
| 4 | りんご | 2 | 200 |
| 5 | ぶどう | 1 | 400 |
| 6 | りんご | 4 | 400 |
この表で「りんごは何回出てくる?(=何件あった?)」を数えるなら、次のように書きます。
結果 → 3(りんごの行が3つある)
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | 商品 | 個数 | 売上 | りんごの件数 | |
| 2 | りんご | 3 | 300 | 3 | |
| 3 | みかん | 5 | 250 | ||
| 4 | りんご | 2 | 200 | ||
| 5 | ぶどう | 1 | 400 | ||
| 6 | りんご | 4 | 400 |
黄色のセル(りんご)が3つ。E2の数式がその数を数えて「3」と表示します。
たとえるなら、たくさんのカードの山から「りんごと書かれたカードだけ抜き出して、枚数を数える」のがCOUNTIFです。あなたが1枚ずつめくらなくても、自動で数えてくれます。
条件の書き方をていねいに
COUNTIF・SUMIFでつまずく原因の多くは「条件の書き方」です。ここはとても大切なので、ゆっくり読んでみてください。条件は大きく4つのパターンに分けられます。
① 文字をそのまま指定する
文字(テキスト)で指定するときは、ダブルクォーテーション(" ")で囲みます。
例)A列の中で「りんご」と書かれたセルの数
② 数値の「○○以上」などを比較する
「10以上」「100より大きい」のように数の大小で数えたいときは、比較演算子(記号)と数値をまとめて " " で囲みます。ここが初心者の方がいちばん迷うポイントです。
| 記号 | 意味 | 書き方の例 |
|---|---|---|
| = | 等しい | "=100" |
| > | より大きい | ">100" |
| < | より小さい(未満) | "<100" |
| >= | 以上 | ">=100" |
| <= | 以下 | "<=100" |
| <> | 等しくない(以外) | "<>りんご" |
例)B列(個数)が「3個以上」の行を数える → 結果 3(3・5・4の行)
③ ワイルドカードで部分一致をさせる
「○○を含む」「○○で始まる」のように、ぴったり一致でなくても数えたいときはワイルドカードを使います。文字の条件の中に混ぜて書きます。
| 記号 | 意味 | 例 |
|---|---|---|
| *(アスタリスク) | 任意の文字列(0文字以上、何文字でもOK) | "りんご*"=「りんご」で始まる語 |
| ?(クエスチョン) | 任意の1文字(ちょうど1文字) | "り??"=「り」+2文字の3文字 |
例)「東京」を含むセルを数える
=COUNTIF(A2:A100,"*東京*") →「東京都」「西東京市」などもまとめて数えます。
例)「りんご」で始まるセルを数える
=COUNTIF(A2:A100,"りんご*") →「りんごジュース」「りんご飴」なども含みます。
④ セル参照(条件をセルに入れておく)
条件を式の中に直接書くのではなく、別のセルに入れておくこともできます。条件を変えたいときに式を直さなくてよいので、とても便利です。文字だけならそのままセルを指定すればOKです。
例)E1に「りんご」と入れておけば、E1の中身で数える
比較演算子と組み合わせるときは、記号を " " で囲み、セルを &(アンパサンド)でつなぎます。記号とセルを「足し算でくっつける」イメージです。
例)E1に 3 と入れておけば「E1以上」で数える(=>=3 と同じ)
比較記号を使うときは ">=10" のように、記号も数値もまとめて " " の中に入れるのがコツです。>=10 のように囲み忘れるとエラーになります。また、セルを使うときは ">=10" のように数値まで " " に入れてはいけません。セルの場合は ">="&E1 と、記号だけを " " に入れて & でつなぎます。
SUMIF ―― 条件に合うものだけ合計する
「個数を数える」のがCOUNTIFなら、「金額などを合計する」のがSUMIFです。COUNTIFより引数が1つ多く、3つになります。
例)=SUMIF(A2:A6,"りんご",C2:C6) … りんごの行のC列(売上)だけを合計する
- 範囲…条件を探す場所(例:商品名のA列)
- 条件…何を合計したいか(例:「りんご」)
- 合計範囲…実際に足し算する列(例:売上のC列)
さきほどの表で「りんごの売上合計」を出すと、次のようになります。
結果 → 900(300 + 200 + 400)
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | 商品 | 個数 | 売上 | りんごの売上計 | |
| 2 | りんご | 3 | 300 | 900 | |
| 3 | みかん | 5 | 250 | ||
| 4 | りんご | 2 | 200 | ||
| 5 | ぶどう | 1 | 400 | ||
| 6 | りんご | 4 | 400 |
りんごの行(黄)の売上だけ(薄緑=300・200・400)を足して、E2に「900」と出ます。
合計範囲を省略するとどうなる?
SUMIFの3つめ「合計範囲」は、実は省略できます。省略すると、1つめの「範囲」自体を合計します。つまり「条件に合う範囲の数値を、そのまま足す」動きになります。
例)B列(個数)の中で「3以上」の数値だけを合計 → 3+5+4=12
SUMIFは「範囲で条件に合った行を見つけて、その行の合計範囲を足す」という動きです。範囲と合計範囲は、同じ行数・同じ並びにそろえるのが大切。たとえば範囲が A2:A6 なら、合計範囲も C2:C6 のように同じ5行にそろえます。ずれていると、意図しない結果になります。
AVERAGEIF ―― 条件に合うものだけ平均する
「条件に合うものの平均」を出したいときは、AVERAGEIF を使います。引数の並びはSUMIFとまったく同じです。
例)=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(A2:A6,"りんご",B2:B6,">=3") … りんごで、かつ3個以上の行の数
SUMIFS(複数条件で合計する)
例)=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に次の式を入れて下までコピーすると、重複している行に「重複」と表示されます。
例)A列全体でA2と同じ名前が2件以上あれば「重複」と表示
実例2:出席の集計
「出席」「欠席」が並んだ表で、出席の回数を数えるならこうです。
例)B列の「出席」の個数を数える
実例3:日付の範囲で合計する
「4月分の売上だけ合計したい」というときは、SUMIFSで日付の範囲を2つの条件にします。
例)A列の日付が4月1日〜4月30日のC列を合計
よくある誤りと対処
- 条件の " " を忘れる…比較条件 ">=10" の " " を忘れるとエラーになります。文字や比較条件は必ず " " で囲みましょう。
- 範囲と合計範囲の行数がずれている…SUMIF・SUMIFSで結果がおかしいときの定番です。A2:A6 と C2:C7 のように行数が違うと正しく集計できません。
- 余分なスペースで一致しない…「りんご」と「りんご (末尾に空白)」は別物と見なされます。結果が0や少なめのときは、データ側に空白が入っていないか確認しましょう。
- セル参照を " " に入れてしまう…"E1" と書くと「E1という文字」を探してしまいます。セルの中身を使いたいときは " " で囲まず E1、比較なら ">="&E1 とします。
やってみよう:COUNTIFで「りんごの数」を数える
ここまでの内容を、実際の操作の流れで体験してみましょう。先ほどの売上の表で、結果をE2セルに出します。1手順ずつ、画面の変化を見ながら進めてみてください。
- 結果を出したいセルを選びます:ここではE2セルをクリックして、=COUNTIF( まで入力します。
| A | B | E | |
|---|---|---|---|
| 1 | 商品 | 個数 | りんごの件数 |
| 2 | りんご | 3 | =COUNTIF( |
| 3 | みかん | 5 |
E2をクリックして関数名を打ち始めたところです。まだ範囲は入っていません。
- 数える範囲をドラッグで選びます:商品が並んだA2からA6までをマウスでなぞると、A2:A6 が式に入ります。
| A | B | E | |
|---|---|---|---|
| 1 | 商品 | 個数 | りんごの件数 |
| 2 | りんご | 3 | =COUNTIF(A2:A6 |
| 3 | みかん | 5 | |
| 4 | りんご | 2 | |
| 5 | ぶどう | 1 | |
| 6 | りんご | 4 |
A2:A6(薄緑)をドラッグして範囲を指定したところです。
- 条件を入力します:カンマ(,)に続けて ,"りんご") と打ちます。文字の条件なので、忘れずに " " で囲みます。
| A | B | E | |
|---|---|---|---|
| 1 | 商品 | 個数 | りんごの件数 |
| 2 | りんご | 3 | ="りんご") |
| 3 | みかん | 5 |
条件 "りんご" まで入力し終えた状態です。あとは確定するだけです。
- Enterキーで確定します:キーボードの Enter を押すと計算され、E2に「3」と表示されます。りんごの行が3つあることが数えられました。
| A | B | E | |
|---|---|---|---|
| 1 | 商品 | 個数 | りんごの件数 |
| 2 | りんご | 3 | 3 |
| 3 | みかん | 5 | |
| 4 | りんご | 2 | |
| 5 | ぶどう | 1 | |
| 6 | りんご | 4 |
Enterで確定し、結果「3」が表示されました。黄色のりんごの行と数が一致しています。
📋 こんなときに使う
・アンケートの集計:「満足」「ふつう」「不満」と並んだ回答の列で、=COUNTIF(回答列,"満足") とすれば、満足と答えた人数が一発でわかります。
・在庫の種類別カウント:商品名がずらりと並んだ在庫表で、「りんごは何件登録されているか」を品目ごとに数えられます。
・出欠・合否の人数:「出席/欠席」や「合格/不合格」の列で、それぞれの人数をボタン一つで数えられます。点数の列なら ">=70" で合格者数も出せます。
よくある失敗と直し方
失敗1:条件の " " を忘れてエラーになる
文字や比較の条件は、必ずダブルクォーテーション(" ")で囲む必要があります。囲み忘れると、エクセルは「りんご」を名前(セルや関数)とみなそうとして、エラーになります。
| A | B | E | |
|---|---|---|---|
| 1 | 商品 | 個数 | りんごの件数 |
| 2 | りんご | 3 | #NAME? |
| 3 | みかん | 5 |
" " を忘れると #NAME? エラーが出ます。
- ミス…=COUNTIF(A2:A6,りんご) のように条件を " " で囲んでいない。
- 原因…エクセルが「りんご」を文字ではなく、名前(名前付きセルや関数名)だと勘違いしている。
- 直し方…=COUNTIF(A2:A6,"りんご") のように、条件を " " で囲みます。比較条件も同じで、">=10" のように記号ごと囲みます。
失敗2:数値条件「>=10」の書き方を間違える
「10以上」を数えたいのに =COUNTIF(B2:B6,>=10) と書くと、これもエラーになります。比較記号を使う条件は、記号と数値をまとめて " " の中に入れるのが正しい書き方です。
- ミス…">=10" の " " を付けず、>=10 とそのまま書いた。
- 原因…比較記号を含む条件は文字列として扱う必要があるのに、囲まれていない。
- 直し方…=COUNTIF(B2:B6,">=10") と、記号も数値もまとめて " " で囲みます。セルの値を使うなら ">="&E1 と、記号だけ " " に入れて & でつなぎます。
失敗3:範囲と合計範囲の長さが違ってSUMIF/SUMIFSがズレる
SUMIF・SUMIFSで結果がおかしいときの定番が、「範囲」と「合計範囲」の行数(長さ)が合っていないケースです。たとえば条件の範囲は A2:A6(5行)なのに、合計範囲を C2:C7(6行)にしてしまうと、行が1つズレて足し算され、意図しない金額になります。
| A | C | E | |
|---|---|---|---|
| 1 | 商品 | 売上 | りんご売上計 |
| 2 | りんご | 300 | 700 |
| 3 | みかん | 250 | |
| 4 | りんご | 200 |
範囲(A2:A6)と合計範囲(C2:C7)の長さが違うと、行がズレて本来の900ではない数になってしまいます。
- ミス…条件範囲は A2:A6、合計範囲は C2:C7 と、行数がそろっていない。
- 原因…SUMIFは「条件範囲の○行目が条件に合えば、合計範囲の○行目を足す」と行どうしを対応させて計算するため、長さが違うと対応がズレる。
- 直し方…=SUMIF(A2:A6,"りんご",C2:C6) のように、範囲と合計範囲を同じ行数・同じ開始行にそろえます。SUMIFSでも同じで、合計範囲と各条件範囲はすべて同じ大きさにします。
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は合計範囲が先頭にくる点に注意。
- うまくいかないときは「" " 忘れ」「範囲の行数ズレ」「余分な空白」を確認。