=COUNTIF(A2:A8,"*")は、A2:A8のうち文字列が入ったセルを数えます。アスタリスクは「任意の文字」を表すワイルドカードで、文字列にしか一致しないので、数値、日付、TRUE/FALSE、空のセルは数えられません。
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Entry | What | Count | |
| 2 | Apple | Text | 3 | |
| 3 | 12 | Not empty | 6 | |
| 4 | Numbers and dates | 2 | ||
| 5 | Pear | Empty | 1 | |
| 6 | 2026-01-05 | |||
| 7 | TRUE | |||
| 8 | n/a |
D2はApple、Pear、n/aを数えて3です。COUNTAは入力済みのセルをすべて数えて6、COUNTは2つの数値を数えます(日付は数値です)。A4に25を入力するとD3とD4が増え、D2は3のままです。代わりにPlumを入力するとD2とD3が増え、D4は2のままです。COUNTとCOUNTAの比較は専用のページにあります。
'007のように先頭にアポストロフィを付けて入力した数値は文字列なので、"*"で数えられます。1文字以上入ったセルだけを数えるには"?*"を使います。?は1文字に一致する必要があるので、空の文字列("")を返す数式は数えられません。
特定の文字を含むセルを数える
どこかに単語を含むセルを数えるには、その単語の両側にアスタリスクを付けます。アスタリスクがないと、セル全体が一致する必要があります。
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Product | Condition | Count | |
| 2 | Apple | contains apple | 5 | |
| 3 | Pineapple | exactly apple | 1 | |
| 4 | Pear | starts with apple | 3 | |
| 5 | apple juice | word in C6 | 1 | |
| 6 | Plum | juice | ||
| 7 | Green apple | apple, case-sensitive | 3 | |
| 8 | Apple cider |
"*apple*"は5つの商品に一致します。"apple"だけだと、ちょうどAppleのセルにしか一致せず(COUNTIFは大文字と小文字を区別しません)、"apple*"はappleで始まる3つに一致します。D5はC6から単語を取るので、そこに好きな単語を入力できます。D7は大文字と小文字を区別します。COUNTIFと違ってFINDはappleとAppleを区別するので、数えられるのはPineapple、apple juice、Green appleだけです。--はTRUE/FALSEの結果を1と0に変え、SUMPRODUCTで足せるようにします。
セルが文字を含んでいたら値を返す
行ごとに印を付けるには、セルを1つずつ調べます。SEARCH("apple",A2)はappleが始まる位置を返し、ないときは#VALUE!を返します。ISNUMBERがそれをTRUEかFALSEに変え、IFが結果を選びます。
| A | B | C | |
|---|---|---|---|
| 1 | Product | Contains apple? | Any text? |
| 2 | Apple | Yes | Text |
| 3 | Pear | No | Text |
| 4 | Pineapple | Yes | Text |
| 5 | 42 | No | Not text |
| 6 | Green apple | Yes | Text |
| 7 | 2026-02-01 | No | Not text |
どちらの列も下にコピーされています。B列はApple、Pineapple、Green appleにYesを表示します。C列はISTEXTを使っていて、別の問いに答えます。セルにそもそも文字列が入っているかです。42と日付は数値なので「Not text」です。大文字と小文字を区別したいときは、SEARCHの代わりにFINDを使います。2つの関数の詳しい説明と、大文字小文字を区別しないのがSEARCHのほうである理由は、FINDとSEARCHにあります。
=IF(COUNTIF(A2,"*apple*"),"Yes","No")は同じ判定をCOUNTIFで行います。件数1はTRUE、0はFALSEとして扱われます。
いくつかの単語のどれかを含むセルを数える
COUNTIFを2つ足すと、両方の単語を含むセルが2回数えられます。代わりに各セルを1回だけ調べます。単語ごとにSEARCHし、TRUEの結果を足して、合計が0より大きい行を数えます。
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Product | Formula | Count | |
| 2 | Apple | Two COUNTIFs | 5 | |
| 3 | Orange juice | Each cell once | 4 | |
| 4 | Pear | |||
| 5 | apple juice | |||
| 6 | Plum | |||
| 7 | Green apple |
appleかjuiceを含む商品は4つですが、2つのCOUNTIFでは5になります。apple juiceが両方で数えられるからです。SUMPRODUCT版は4になります。
練習: 文字列のセルを数える
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Delivery | Weight | What | Count | |
| 2 | D-1 | 12 | Notes | ||
| 3 | D-2 | 9 | |||
| 4 | D-3 | damaged | |||
| 5 | D-4 | 15 | |||
| 6 | D-5 | missing | |||
| 7 | D-6 | ||||
| 8 | D-7 | late |
やってみよう: 配送には重さが入っているものと、メモが入っているものがあります。B2:B8のうち文字列が入ったセルを数えてください。数式はE2に書きます。
文字列のセルの件数が合わない理由
- 文字列として保存された数値も数えられる。 別のシステムから取り込んだ列には、
'125が文字列として入っていることがあります。"*"はそれを数え、COUNTは数えません。数値の列でCOUNTがCOUNTAより少なければ、一部が文字列です。文字列として保存された数値を参照してください。 - 空に見えるだけのセル。 スペースが入ったセルは文字列なので数えられます。目に見える文字が入ったセルを数えるには
=SUMPRODUCT(--(LEN(TRIM(A2:A8))>0))を使います。 - TRUEとFALSEは文字列ではない。
"*"はそれらを飛ばし、#N/Aのようなエラー値も飛ばします。 - COUNTIFは大文字と小文字を区別しない。 区別して数えるには、2つ目のシートのようにSUMPRODUCTの中でFINDを使います。
よくある質問
Excelで何らかの文字列が入ったセルを数えるには?
=COUNTIF(A2:A8,"*")を使います。アスタリスクは任意の文字列に一致するので、この数式は文字列のセルをすべて数え、数値、日付、TRUE/FALSE、空のセルは飛ばします。
特定の文字を含むセルを数えるには?
単語をアスタリスクで囲みます。=COUNTIF(A2:A8,"*apple*")は、どこかにappleを含むセルを大文字小文字を問わず数えます。アスタリスクがないと、"apple"はちょうどappleのセルしか数えません。
「セルに文字が含まれていたら」をExcelでどう書きますか?
IF、ISNUMBER、SEARCHを組み合わせます:=IF(ISNUMBER(SEARCH("apple",A2)),"Yes","No")。SEARCHは文字列が見つかれば位置を、見つからなければエラーを返し、ISNUMBERがそれをTRUEかFALSEに変えます。
セルに文字列が入っているかどうかを調べるには?
=ISTEXT(A2)を使います。文字列ならTRUE、数値、日付、空のセルならFALSEです。IFの中では=IF(ISTEXT(A2),"Text","Not text")と書きます。