Looker StudioのIF関数を使えば、条件に応じたデータの自動判定や表示切替が簡単に実現できます。「売上目標の達成状況を自動表示したい」「ユーザーをセグメント別に分類したい」といったニーズに対応する、データ分析に欠かせない基本機能です。
本記事では、IF関数の基本構文から実務で即使える応用テクニックまで、15の実践コード例とともに解説します。GA4やGoogle Search Consoleのデータ分析でもすぐに活用できる内容ですので、ぜひブックマークしてご活用ください。
この記事で学べること:
- IF関数の基本構文と3つの引数の役割
- データ型別(数値・文字列・日付)の実装方法
- 実務でよく使う条件分岐パターン15選
- エラーが起きた時の原因と対処法
- CASE関数との使い分けのポイント
様々なレポートを取り扱っております。用途やシーンに合わせて、最適なレポートを使っていただくことで、日々のレポート作成やデータ分析のお役に立ちます!
レポート一覧はこちら
IF関数の基本構文と動作原理
IF関数は、Looker Studioで条件分岐を実現するための最も基本的な関数です。基本構文は以下の通りです。
IF(条件式, 真の場合の値, 偽の場合の値)
| 引数 | 説明 | 例 |
|---|---|---|
| 条件式 | 評価する条件を指定 | 売上 > 100000 |
| 真の場合の値 | 条件が成立したときの戻り値 | “達成” |
| 偽の場合の値 | 条件が不成立の場合の戻り値 | “未達成” |
この関数は、指定された条件式を判定し、その結果に応じて2つの値のいずれかを返します。
例えば、以下のような使い方が可能です。
IF(売上 >= 目標値, "目標達成", "目標未達")
戻り値の型は、真の場合と偽の場合で同じ型である必要があります。数値、文字列、日付などのデータ型に対応しており、それぞれの型に応じた適切な比較演算子を使用することが重要です。
なぜLooker StudioでIF関数が必須なのか?3つの活用メリット
IF関数は、データ分析レポートの品質を高める3つの重要な役割を果たします。
1. データの条件付き表示と視覚化
できること:
- KPI達成状況の自動判定と色分け表示
- 異常値の検出と強調表示
- セグメント別のデータ抽出と分析
実例: GA4のセッション数が前月比で増減した際に、自動的に「↑増加」「↓減少」を表示することで、ダッシュボードの視認性が向上します。
2. 計算ロジックの柔軟な制御
できること:
- 条件に応じた計算式の動的な切り替え
- ゼロ除算エラーなどの例外処理
- データクレンジング(不要データの除外)の自動化
実例: Google Search Consoleのデータで、表示回数が0の場合にCTRの計算でエラーが出るのを防ぐため、IF(表示回数 > 0, クリック数/表示回数, 0)のように記述します。
3. レポートの動的な制御
できること:
- ユーザー権限に応じた表示内容の制御
- 時期による表示内容の自動変更(四半期判定など)
- データ量に応じた表示形式の最適化
実例: 月次レポートで、現在の月を自動判定して「今月」「先月」「前年同月」を動的に表示することで、レポート更新の手間を削減できます。
GA4やSearch Consoleでの具体的な使いどころ: これらのツールは大量のデータを扱うため、IF関数で必要なデータだけを抽出することが頻繁に発生します。例えば:
- Search Consoleで「掲載順位10位以内のクエリのみ」を抽出
- GA4で「セッション時間5分以上のユーザー」を分析
- 特定の参照元からの流入のみを集計
基本的な使用例と実装手順
IF関数の実装は、データの型によって異なるアプローチが必要です。以下に、主要なデータ型ごとの実装例を示します。
型に合わせて条件を設定しないとデータの整合性がなくなり、計算式がエラーになることもありますので、ご注意ください。
数値データの条件分岐
// 売上高に応じて評価を返す
IF(売上高 >= 1000000, "A",
IF(売上高 >= 500000, "B",
IF(売上高 >= 100000, "C", "D")))
数値型はもっと良く使用する方法になります。範囲内の数値の場合に表示を変える方法になります。分析するデータが数値の型が多いため使用頻度は高いです。
文字列データの条件分岐
// 地域コードから地域名を表示
IF(地域コード = "JP", "日本",
IF(地域コード = "US", "アメリカ",
IF(地域コード = "UK", "イギリス", "その他")))
GA4で都道府県から地域情報に分類したりすることが可能です。
日付データの条件分岐
// 日付に応じて四半期を判定
IF(MONTH(日付) <= 3, "Q1",
IF(MONTH(日付) <= 6, "Q2",
IF(MONTH(日付) <= 9, "Q3", "Q4")))
無料のGA4のレポートを提供しておりますので参考までにご利用ください。
Looker Studioで日々のレポート作成業務の工数を削減できます。
無料レポートはこちら
よくある活用シーン別の実装方法
実務でよく遭遇する具体的なシーンにおけるIF関数の活用方法を解説します。
売上データの条件別集計
// 目標達成率に応じて表示を変える
IF(達成率 >= 100, CONCAT("達成 (+", FORMAT(達成率 - 100, "#.#"), "%)"),
CONCAT("未達 (", FORMAT(達成率, "#.#"), "%)"))
| 売上目標 | 実績 | 達成率 | 評価 |
|---|---|---|---|
| 1,000,000 | 1,200,000 | 120% | 達成 (+20%) |
| 800,000 | 600,000 | 75% | 未達 (75%) |
ユーザーセグメント分析の実装例
// RFM分析でのセグメント判定
IF(AND(購買頻度 >= 3, 最終購買日 <= 30, 累計購入額 >= 50000), "優良顧客",
IF(AND(購買頻度 >= 2, 最終購買日 <= 60), "一般顧客", "離反顧客"))
上記の2つの事例は、GA4やサーチコンソールのデータソースに対して使用することは少ないです。
スプレッドシートやエクセルなどの売上分析などをするに使用することがあります。
複数条件の組み合わせ方
複雑な条件分岐を実装する際の効果的なアプローチを説明します。
AND/OR条件の実装
// 複数条件を組み合わせた例
IF(AND(売上高 > 1000000,
利益率 > 20,
前年比 > 110),
"優秀", "要改善")
ネストされたIF関数の使用
// 段階的な条件判定
IF(売上高 > 1000000,
IF(利益率 > 20, "S", "A"),
IF(売上高 > 500000, "B", "C"))
これらの実装方法を組み合わせることで、より柔軟で強力なデータ分析が可能になります。
IF関数は、他の関数とよく使用されるため、IF関数と他の関数も合わせて覚えておくと良いです。
無料のGA4のレポートを提供しておりますので参考までにご利用ください。
Looker Studioで日々のレポート業務の工数を削減できます。
無料レポートはこちら
シーン1:売上データの条件別集計と達成率表示
コード例:目標達成率に応じた表示切替
IF(達成率 >= 100,
CONCAT("達成 (+", TEXT(達成率 - 100), "%)"),
CONCAT("未達 (", TEXT(達成率), "%)"))
実行結果イメージ:
| 目標 | 実績 | 達成率 | 評価 |
|---|---|---|---|
| 1,000,000円 | 1,200,000円 | 120% | 達成 (+20%) |
| 800,000円 | 600,000円 | 75% | 未達 (75%) |
活用ポイント:
CONCAT()で文字列を結合し、視覚的に分かりやすく表示TEXT()関数で数値を文字列に変換- スコアカードやテーブルで使用すると効果的
シーン2:GA4のユーザーセグメント自動分類
コード例:RFM分析でのセグメント判定
IF(AND(セッション回数 >= 5, 最終訪問日数 <= 30, ページビュー合計 >= 50), "コアユーザー",
IF(AND(セッション回数 >= 2, 最終訪問日数 <= 90), "アクティブユーザー", "休眠ユーザー"))
判定基準:
- コアユーザー:セッション5回以上 & 30日以内訪問 & PV50以上
- アクティブユーザー:セッション2回以上 & 90日以内訪問
- 休眠ユーザー:上記以外
注意: このようなCRM的な分析は、GA4データだけでなく、スプレッドシートやBigQueryと連携したデータソースで実施することが多いです。
シーン3:Search Consoleの掲載順位評価
コード例:掲載順位による3段階評価
IF(平均掲載順位 <= 3, "🥇 上位表示",
IF(平均掲載順位 <= 10, "📊 1ページ目", "📉 改善必要"))
活用シーン:
- キーワード別の順位モニタリング
- 優先的に改善すべきクエリの特定
- 絵文字を使うことで視認性向上
シーン4:GA4のコンバージョン率による評価
コード例:CVR基準の評価
IF(コンバージョン率 >= 5, "優秀",
IF(コンバージョン率 >= 2, "標準", "要改善"))
業界別の目安:
- ECサイト:2-3%が標準
- BtoB:3-5%が標準
- リード獲得:5-10%が標準
シーン5:複数条件の組み合わせ(AND/OR条件)
コード例:売上高と利益率の複合評価
IF(AND(売上高 > 1000000,
利益率 > 20,
前年比 > 110),
"S評価",
IF(OR(売上高 > 500000, 利益率 > 15), "A評価", "B評価"))
AND条件とOR条件の使い分け:
- AND:すべての条件を満たす必要がある(厳しい条件)
- OR:いずれか1つでも満たせばOK(緩い条件)
シーン6:ゼロ除算エラーの回避
コード例:CTR計算でのエラー防止
IF(表示回数 > 0, クリック数 / 表示回数 * 100, 0)
なぜ必要か: Search Consoleのデータで表示回数が0の場合、クリック数/表示回数はエラーになります。IF関数で事前にチェックすることでエラーを防ぎます。
シーン7:NULL値の処理
コード例:データが存在しない場合の代替値表示
IF(IS_NULL(売上), "データなし", TEXT(売上))
活用シーン:
- データが欠損している期間の表示
- BigQueryとの連携でNULL値が混在する場合
シーン8:期間による動的な表示切替
コード例:当月・先月の自動判定
IF(YEAR_MONTH(日付) = YEAR_MONTH(TODAY()), "今月", "過去")
メリット: レポートを毎月更新する必要がなく、自動的に「今月」が切り替わります。
シーン9:デバイス別の日本語表示
コード例:GA4のデバイスカテゴリ変換
IF(デバイスカテゴリ = "mobile", "スマートフォン",
IF(デバイスカテゴリ = "desktop", "PC", "タブレット"))
シーン10:ページパスからカテゴリ自動判定
コード例:URLパターンマッチング
IF(REGEXP_MATCH(ページパス, "^/blog/"), "ブログ",
IF(REGEXP_MATCH(ページパス, "^/products/"), "商品", "その他"))
活用ポイント: REGEXP_MATCH()関数で正規表現によるパターンマッチングが可能です。
シーン11-15:その他の実践例
シーン11:時間帯による分類
IF(HOUR(日時) < 12, "午前", "午後")
シーン12:曜日による分類
IF(WEEKDAY(日付) IN (1,7), "週末", "平日")
シーン13:前年比の増減表示
IF(前年比 > 100, "↑", IF(前年比 < 100, "↓", "→"))
シーン14:文字数による分類
IF(LENGTH(検索クエリ) > 20, "ロングテール", "ショート")
シーン15:複数値の範囲判定
IF(スコア BETWEEN 80 AND 100, "A",
IF(スコア BETWEEN 60 AND 79, "B", "C"))
結論:条件数で使い分ける
IF関数を使うべきケース:
- 条件分岐が2-3段階まで
- 動的な条件判定が必要
- 他の関数(AND/ORなど)と組み合わせる
CASE関数を使うべきケース:
- 条件分岐が4段階以上
- 固定値との比較が主
- コードの可読性を重視
実例比較:同じ処理をIF関数とCASE関数で実装
IF関数での実装(ネスト構造)
IF(スコア >= 90, "S",
IF(スコア >= 80, "A",
IF(スコア >= 70, "B",
IF(スコア >= 60, "C", "D"))))
CASE関数での実装(フラット構造)
CASE
WHEN スコア >= 90 THEN "S"
WHEN スコア >= 80 THEN "A"
WHEN スコア >= 70 THEN "B"
WHEN スコア >= 60 THEN "C"
ELSE "D"
END
可読性の比較: CASE関数の方が条件が増えた際に読みやすく、メンテナンスしやすいです。
参考記事:Looker Studio CASE関数の使い方完全ガイド
エラー1:データ型の不一致(最頻出)
エラーが起こる例:
IF(売上 > 100000, "達成", 1) // NG:文字列と数値が混在
正しい書き方:
IF(売上 > 100000, "達成", "未達") // OK:両方とも文字列
対処法:
- 真の場合と偽の場合の戻り値の型を統一
- 数値を文字列化する場合は
TEXT()関数を使用
エラー2:構文エラー
よくあるミス:
- カンマ
,の位置が間違っている - 括弧
()の対応が取れていない - 引数の数が不足している
チェックポイント:
- 開き括弧
(と閉じ括弧)の数が一致しているか - 引数は3つ(条件式、真の値、偽の値)あるか
- カンマは引数の間だけに入っているか
Tips: 複雑なIF関数は、テキストエディタで整形してから貼り付けると間違いが減ります。
エラー3:NULL値の処理不足
エラーが起こる例:
IF(売上 > 100000, "達成", "未達") // 売上がNULLの場合にエラー
正しい書き方:
IF(IS_NULL(売上), "データなし",
IF(売上 > 100000, "達成", "未達"))
対処法: IS_NULL()関数で事前にNULL値をチェックする
- IF関数とCASE関数はどちらを使うべきですか?
-
条件分岐の複雑さと可読性によって使い分けることをお勧めします。CASE文は複数のパターンで条件を判定する必要がある場合に有効です。IFは、1つか2つの状態を管理する時に使用するのが良いです。
- IF関数は
- 単純な条件分岐(2-3段階程度)
- 動的な条件判定が必要な場合
- 他の関数と組み合わせて使用する場合
- CASE関数は
- 多段階の条件分岐(4段階以上)
- 固定値との比較が主な場合
- コードの可読性を重視する場合
- IF関数は
- IF関数でエラーが発生する主な原因は何ですか?
-
A: 構文エラーがもっとも多いです。構文エラーの次に多いのがデータ型の不一致です。型が不一致があると判定されないのでエラーになります。
- データ型の不一致
- 数値と文字列の混在
- 日付フォーマットの違い
- NULL値の不適切な処理
- 構文エラー
- カンマの位置
- 括弧の対応関係
- 引数の数の誤り
- 論理エラー
- 条件式の順序が不適切
- 条件の範囲設定ミス
- 重複する条件の存在
- データ型の不一致
- IF関数のパフォーマンスを改善するにはどうすればよいですか?
-
以下の最適化テクニックを推奨します。
- 条件式の簡素化
- 複雑な条件は分割して記述
- 不要な条件判定を削除
- 共通の条件をグループ化
- データ型の最適化
- 適切なデータ型の使用
- 型変換の最小化
- インデックスの活用
- キャッシュの活用
- 計算結果の再利用
- 中間結果の保存
- 更新頻度の適正化
- 条件式の簡素化
- 複数のIF関数を効率的に管理するコツはありますか?
-
A: 複数のIFを管理するには、ドキュメントやコメントなどをつけておき管理するのが良いです。通常のプログラムではモジュール化したりすることができますが、Looker Studioではできないため、別で管理しておくことが良いです。
- ドキュメント化
- 条件ロジックの説明
- 更新履歴の管理
- テストケースの記録
- 定期的なレビュー
- パフォーマンスチェック
- ロジックの妥当性確認
- 改善点の洗い出し
- ドキュメント化
様々なレポートを取り扱っております。用途やシーンに合わせて、最適なレポートを使っていただくことで、日々のレポート作成やデータ分析のお役に立ちます!
レポート一覧はこちら
無料のGA4のレポートを提供しておりますので参考までにご利用ください。
Looker Studioで日々のレポート作成業務の工数を削減できます。
無料レポートはこちら
関連記事
Looker Studio CASE関数の使い方完全ガイド|初心者でも5分でマスター

