COUNTIFやSUMIFなど条件付きの関数を使うとき、必ず登場するのが「条件式」の書き方です。今回は比較演算子とワイルドカードについて、草野球の成績管理表で打数3以上の試合を抽出する場面を例に、初心者向けに丁寧に説明します。
比較演算子・ワイルドカードとは
「条件に合うかどうか」を判定するための記号です。数値の大小を比べるのが比較演算子、文字列の一部が一致するかを判定するのがワイルドカードです。COUNTIF・SUMIF・IFなど、条件を扱う関数のほぼすべてで使います。
よく使う比較演算子は次の通りです。
> より大きい >= 以上 < より小さい <= 以下 = 等しい <> 等しくない(ノットイコール)
ワイルドカードは、文字列の「あいまい検索」に使う記号です。
* 任意の文字数(0文字以上)にマッチ ? 任意の1文字にマッチ
成績管理表での実例:打数3以上の試合だけ抽出する条件式
個人成績シートのC列に各試合の打数が入っているとします。
| 試合日 | 対戦相手 | 打数 | 安打 |
|---|---|---|---|
| 4/6 | ○○ファイターズ | 4 | 2 |
| 4/13 | △△ベアーズ | 2 | 1 |
| 4/20 | □□イーグルス | 3 | 0 |
| … | … | … | … |
「打数が3以上だった試合の数」を数えたいとき、式はこうなります。
=COUNTIF(C2:C30,">=3")
比較演算子を条件として使うときは、">=3"のようにダブルクォーテーションで囲むのがポイントです。数値の3だけでなく、演算子ごと文字列として渡す必要があります。
打数3以上の試合数を表示したいセル(例:個人成績シートの集計欄)をクリックして選択します。
C2からC30までドラッグすると、自動で「C2:C30」の部分が入力されます。
続けて,">=3"と入力します。演算子と数値をまとめてダブルクォーテーションで囲むのを忘れないようにしましょう。
式を確定すると、条件に合う試合数がすぐにセルに表示されます。
しくみを理解する:演算子とワイルドカードは何をしているのか
COUNTIFなどの関数は、範囲内のセルを1つずつ見て「条件式が真(TRUE)かどうか」を判定し、真だったセルだけをカウント・集計しています。比較演算子は数値の大小関係を、ワイルドカードは文字列の一致範囲を、それぞれTRUE/FALSEに変換する役割を持っています。
- 比較演算子は数値・日付の比較に使う(文字列に対して”>=”を使うと文字コード順の比較になり、意図通りにならないことがある)
- ワイルドカードは文字列専用で、数値には使えない
*は「田中*」のように前方一致、「*ファイターズ」のように後方一致、「*田中*」のように部分一致まで表現できる
よくあるミス:条件式が効かない原因
>=3のように演算子部分をクォーテーションなしで入力すると、エラーになるか意図しない結果になります。演算子と数値をまとめて1つの文字列として">=3"のように書く必要があります。
条件の数値をセル参照にしたい場合、">=3"のようにそのまま書くのではなく、">="&A1のように演算子部分だけを文字列にして「&」でセル参照とつなぐ必要があります。この書き方の違いでつまずくケースが多いので注意してください。
- 比較演算子(
>= <= <>など)は数値・日付の大小判定に使う - ワイルドカード(
* ?)は文字列のあいまい検索に使う、数値には使えない - 条件式は演算子ごとダブルクォーテーションで囲むのが基本ルール
- セル参照と組み合わせるときは
">="&セル番地のように「&」でつなぐ
次回予告
次回のテーマは「OR条件をSUMIFS/COUNTIFSで扱う工夫」です。SUMIFS・COUNTIFSは標準ではAND条件にしか対応していませんが、配列を使ってOR条件を実現する考え方を、勝ちか引分けの試合数を1つの式で出す例をもとに解説していきます。


コメント