IF関数とCOUNTIF関数の組み合わせでデータ分析を効率化!実例で学ぶ有用性

Sheet基本

IF × COUNTIF 組み合わせガイド
重複チェックと存在確認の定番パターン

IFとCOUNTIFを組み合わせると「このコードはリストに存在するか」「この値は重複しているか」を1つの式で判定できる。データ検証・入力チェックの定番テクニック。

GASとの関係:includes() や indexOf() との組み合わせと同じ

GASで if(list.includes(value)){ ... } と書く「リストに含まれるか」の判定は、IF+COUNTIF と同じロジックです。スプレッドシートで動作確認してからGASに移植できます。

GASで自動化を学ぶ →
目次

IF × COUNTIF の基本パターン

=IF(COUNTIF(範囲, 値) > 0, "存在する場合", "存在しない場合")
// A2の値が「マスターリスト」シートのA列に存在するか確認
=IF(COUNTIF(マスター!A:A, A2) > 0, "登録済み", "未登録")

// シンプルな書き方(>0は省略可能)
=IF(COUNTIF(マスター!A:A, A2), "登録済み", "未登録")

COUNTIF が 0 以外(1以上)のとき TRUE として評価されるため、>0 は省略できます。

重複チェックのパターン

パターン1:入力済みの値が重複しているか

// A2:A100の各行で、同じ値が他にも存在するか確認
=IF(COUNTIF($A$2:$A$100, A2) > 1, "重複あり", "")

// 2件以上あったら警告(自分自身も1件なので >1)
=ARRAYFORMULA(IF(COUNTIF(A2:A100, A2:A100) > 1, "⚠重複", ""))

パターン2:リストへの存在確認

// 受注リストの商品コードが商品マスターに存在するか確認
=IF(COUNTIF(商品マスター!$A:$A, B2), "OK", "コード不明")

// 複数リストのどこかに存在するか
=IF(COUNTIF(リスト1!$A:$A, A2) + COUNTIF(リスト2!$A:$A, A2) > 0, "存在", "なし")

パターン3:条件付き書式と組み合わせて視覚化

// 条件付き書式の「カスタム数式」に使う(A列が重複していたら赤)
=COUNTIF($A:$A, A1) > 1

COUNTIF vs MATCH vs VLOOKUP の存在確認

方法特徴
IF(COUNTIF(…))シンプル・件数も分かる・OR条件が書きやすい
IFERROR(VLOOKUP(…))値の取り出しと同時に存在確認できる
IFERROR(MATCH(…))位置も取得できる。VLOOKUP不要ならこちら

実務での応用:入力チェックシート

// B列(ステータス)に「完了」「進行中」「未着手」以外が入ったら警告
=IF(COUNTIF({"完了","進行中","未着手"}, B2)=0, "⚠無効な値", "")

// D列(担当者名)が担当者マスターにあるか確認
=IF(COUNTIF(担当者マスター!$A:$A, D2), "", "⚠担当者不明")

この知識をGASで活かす

GASでデータ検証処理を書くとき、IF+COUNTIFで設計した「存在確認ロジック」をそのままincludes()やfind()に変換できます。スプレッドシートで動作確認してからGASで自動バリデーションに発展させる手順が実用的です。

Free Newsletter

AIを業務に活かしたいなら
SMR-Labメルマガ

毎週火曜10時、コピペで使えるChatGPTプロンプト・
GASテンプレートをお届け。登録は1分・完全無料。

▶ 無料で登録する

📧 無料メルマガ登録

DX・AI活用のヒントを週1回お届け。登録特典:すぐ使えるプロンプト集&GASテンプレート。

登録情報は第三者に提供しません。いつでも配信停止できます。

目次