TableauにおけるIF
関数は、条件によって表示・集計のロジックを変えられる基本中の基本かつ応用性の高い関数です。このページでは、IF
の基本からSUMIF
・COUNTIF
的な活用方法、複数条件や括弧の使い方まで、完全網羅で解説します。
目次
IF関数とは?基本構造と役割
IF
関数は「条件に一致すればある値を、そうでなければ別の値を返す」関数です。
IF [条件項目] = "条件"
THEN "真の場合の結果"
ELSE "偽の場合の結果"
END
THEN
で条件が成立したときの結果を返すELSE
で条件が成立しなかったときの結果を返すELSEIF
を使えば条件分岐を追加可能
AND, OR, NOTの使い方(複数条件)
AND(かつ):すべての条件が真である必要がある
IF [年齢] > 20 AND [性別] = "女性"
THEN "条件成立"
ELSE "条件不成立"
END
OR(または):どれか1つでも真なら成立
IF [地域] = "関東" OR [地域] = "関西"
THEN "主要エリア"
ELSE "その他"
END
NOT(否定):条件が成立しない場合にTRUE
IF NOT [ステータス] = "退会"
THEN "有効"
ELSE "無効"
END
ELSEIFで複数条件に分岐する
複数の条件を段階的に評価したい場合は、ELSEIF
を使います。
IF [得点] >= 80 THEN "優秀"
ELSEIF [得点] >= 60 THEN "合格"
ELSE "不合格"
END
- 最初に真になった条件だけが適用される
- それ以降の条件は評価されない
()かっこで論理グループを明示する
複雑な条件式では、論理演算子の優先順位ミスによるバグが起こりがちです。
// 正しい書き方
IF [会員] = "有料" AND ([地域] = "関東" OR [地域] = "関西") THEN 1 ELSE 0 END
// 誤解されやすい書き方
IF [会員] = "有料" AND [地域] = "関東" OR [地域] = "関西" THEN 1 ELSE 0 END
上の例では、()を使うかどうかで条件の意味がまったく変わります。
COUNTIF・SUMIF的に使う方法(条件付き集計)
COUNTIFの再現
// 条件に一致する顧客数をカウント
COUNT(IF [商品カテゴリ] = "コピー機" THEN [顧客名] END)
// 重複を除く場合
COUNTD(IF [商品カテゴリ] = "コピー機" THEN [顧客名] END)
SUMIFの再現
// 条件に一致する売上の合計
SUM(IF [商品カテゴリ] = "コピー機" THEN [売上] END)
非集計フィールドでも使える
IF [商品カテゴリ] = "コピー機" THEN 1 ELSE 0 END
このようにして、1 or 0 を用いて 集計に使えるフラグフィールド を作ることもできます。
よくある間違い・注意点
IF A AND B OR C
は B OR C が先に評価される → 必ず括弧で明示を!IF
の中にSUM
やAVG
などの集計関数を直接書くとエラーになる → 条件に使うのは非集計フィールドが基本- 集計関数と一緒に使うなら、
IF
を集計関数の中にネストする(SUM(IF ...)
)
まとめ
IF
関数はTableauの条件ロジックの基礎ですが、SUMIF
・COUNTIF
的な応用や複雑な分岐を設計する際にも非常に重要です。
- 単純な分岐だけでなく
- 集計の条件分岐
- フラグ設計や集計フィルタリング
など、Tableauを使いこなすうえで避けて通れない関数です。
検索クエリにも多くのバリエーションがある通り、初心者から上級者まで誰もが必要とする定番関数として、正しく理解しておきましょう。
Comment