n8nのIFノードの使い方|条件分岐を初心者向けにやさしく解説

n8nのIFノードとは?

IFノードは、条件によって処理の流れを分けるためのノードです。

簡単に言うと、

「もし○○ならAへ、違ったらBへ進む」

という仕組みです。

たとえば、

入稿ステータス
=入稿待ち

なら記事作成へ進む。

それ以外なら処理しない。

というような流れを作れます。

プログラミングでも「if」という考え方がありますが、n8nでは画面上で条件を設定できるため、コードを書かなくても使えます。

IFノードにはTrueとFalseがある

IFノードを置くと、基本的に処理の出口が2つに分かれます。

True
=条件に合っている

False
=条件に合っていない

という意味です。

たとえば、

条件
入稿ステータスが「入稿待ち」と同じ

と設定した場合、

入稿待ち
↓
True

完了
↓
False

というように分かれます。

True側にはWordPress投稿処理をつなぎ、False側には何もつながない、といった使い方もできます。

IFノードを使うと何が便利なの?

IFノードを使わない場合、取得したデータをすべて同じように処理します。

でも実際の自動化では、

処理したいデータ
処理したくないデータ

が混ざっていることがあります。

たとえばGoogleスプレッドシートに、

  • 記事A:入稿待ち
  • 記事B:完了
  • 記事C:入稿待ち

というデータがあるとします。

この場合、完了済みの記事Bをもう一度WordPressへ投稿したくありません。

そこでIFノードを使います。

Google Sheets
↓
IF
↓
入稿待ちなら処理
↓
WordPress

という形にすれば、条件に合うデータだけを流せます。

IFノードの基本的な使い方

基本の流れはシンプルです。

まず、条件を判定したいデータを取得します。

たとえばGoogle Sheetsノードで、

  • テーマ
  • カテゴリ
  • 入稿ステータス
  • 完成本文

などを取得します。

次にIFノードを追加します。

IFノードでは、

  • どのデータを見るか
  • どんな条件にするか
  • 何と比較するか

を設定します。

たとえば、

Value 1
入稿ステータス

Operation
is equal to

Value 2
入稿待ち

と設定します。

意味は、

「入稿ステータスが入稿待ちと同じか?」です。

同じならTrue側へ進みます。

違えばFalse側へ進みます。

文字列を比較する条件

初心者が最初によく使うのは、文字列の比較です。

たとえば、

  • ステータス
  • カテゴリ
  • 名前
  • 判定結果

などです。

よく使う条件には、

  • is equal to=同じ
  • is not equal to=同じではない
  • contains=含まれている
  • does not contain=含まれていない

などがあります。

たとえば、

カテゴリに「n8n」が含まれている

という条件なら、

Value 1
カテゴリ

Operation
contains

Value 2
n8n

と設定します。

数字でも条件分岐できる

IFノードでは数字も比較できます。

たとえば、

金額が10,000円以上なら処理

という条件です。

この場合、

Value 1
金額

Operation
is greater than or equal to

Value 2
10000

と設定します。

すると、

15,000
↓
True

8,000
↓
False

となります。

ほかにも、

  • ○○より大きい
  • ○○より小さい
  • ○○以上
  • ○○以下

といった条件を作れます。

空欄かどうかも判定できる

実際の自動化では、

データが入っているか

を確認したい場面も多いです。

たとえば、

完成本文が空欄なら処理しない

という使い方です。

記事本文がないのにOpenAIやWordPressへ処理を進めると、エラーになる可能性があります。

そこでIFノードで、

完成本文が空ではない

という条件を入れます。

これにより、必要なデータが揃っているものだけを処理できます。

Expressionと組み合わせる

IFノードではExpressionもよく使います。

たとえばGoogle Sheetsから取得した、

入稿ステータス

を判定したい場合、

{{ $json["入稿ステータス"] }}

のように指定できます。

意味は、

「現在のデータにある入稿ステータスを使う」

です。

そして比較する値として、

入稿待ち

を指定します。

Expressionを使うことで、行ごとに違うデータを自動で判定できます。

実例:記事の入稿ステータスで分ける

ブログ自動化では、次のような使い方ができます。

Google Sheets
↓
IF
↓
OpenAI
↓
WordPress
↓
Google Sheets更新

IFノードの条件は、

入稿ステータス
=入稿待ち

です。

Trueなら記事作成へ進みます。

Falseなら終了します。

こうしておけば、

入稿待ちの記事だけ自動処理する

という仕組みにできます。

同じ記事を何度も投稿してしまう事故を防ぎやすくなります。

実例:AIの判定結果で分ける

OpenAIとIFノードを組み合わせることもできます。

たとえばAIに、

この問い合わせが
営業
質問
迷惑メッセージ

のどれか判定してください。

と依頼します。

AIの結果が、

営業

だった場合だけ営業用の処理へ進めます。

OpenAI
↓
IF
↓
営業なら通知
↓
その他なら別処理

という形です。

この方法を使えば、文章の内容によって処理を変えられます。

実例:金額によって通知する

IFノードは、売上や経費の管理にも使えます。

たとえば、

10万円以上の売上があったら通知

という条件です。

売上データ取得
↓
IF
↓
10万円以上
↓
メール通知

とすれば、大きな取引だけ知らせることができます。

毎回すべて通知するより、重要なデータだけ確認しやすくなります。

条件は複数設定できる

IFノードでは、1つだけでなく複数の条件を設定できます。

たとえば、

入稿ステータスが「入稿待ち」

さらに、

完成本文が空ではない

という2つの条件です。

つまり、

「入稿待ちで、しかも本文がある記事だけ処理する」

という条件にできます。

実際の自動化では、1つの条件だけよりも安全です。

ANDとORの違い

複数条件を使う場合は、

AND
OR

という考え方も出てきます。

ANDは、

すべての条件を満たしたらTrue

です。

たとえば、

入稿待ち
AND
本文あり

なら、

両方とも満たしている場合だけ処理します。

一方ORは、

どれか1つでも条件を満たしたらTrue

です。

たとえば、

カテゴリがn8n
OR
カテゴリがChatGPT

という条件なら、どちらかに当てはまればTrueになります。

初心者のうちは、

AND
=全部OK

OR
=どれか1つOK

と覚えるとわかりやすいです。

IFノードでよくある失敗

文字が完全一致していない

たとえばスプレッドシートには、

入稿待ち

と入っているのに、

入稿待ち 

のように最後に空白がある場合があります。

見た目では同じでも、完全一致しないことがあります。

条件がTrueにならない場合は、余計なスペースが入っていないか確認しましょう。

数字が文字列になっている

見た目は10000でも、データの種類が文字列として扱われている場合があります。

数字として比較したいのに、文字として入っていると予想と違う結果になることがあります。

IFノードではデータの種類も確認しましょう。

Expressionの参照先が違う

IFノードの条件が合っているように見えても、別の項目を参照している場合があります。

たとえば、

入稿ステータス

を見たいのに、

カテゴリ

をExpressionで指定していたら正しく判定できません。

前のノードのOUTPUTを確認して、必要な項目を選びます。

TrueとFalseを逆につないでしまう

意外と多いのが、

True
False

の接続ミスです。

条件に合ったときにWordPressへ進めたいのに、False側につないでしまうと逆の動きになります。

ワークフローを作ったら、どちらの線につながっているか確認しましょう。

テストデータを変えて確認する

IFノードを作ったら、1パターンだけでなく複数のデータでテストするのがおすすめです。

たとえば、

入稿待ち
完了

の両方を試します。

入稿待ち
↓
True

完了
↓
False

になれば、狙った動きになっています。

数字なら、

10000
5000

など、条件の前後を試します。

自動化では、条件に合うケースだけでなく、合わないケースも確認することが重要です。

IFノードとFilterの違い

n8nでは、データを絞り込む方法がほかにもあります。

たとえばGoogle Sheets側で、

入稿ステータス
=入稿待ち

という条件を指定して、最初から対象データだけ取得することもできます。

ではIFノードはいらないのかというと、そうではありません。

Google SheetsのFilter
=最初から対象データだけ取得する

IFノード
=取得したデータを途中で条件分岐する

という違いがあります。

場合によっては両方使います。

最初にFilterで対象を絞り、その後IFでさらに確認する方法もあります。

IFノードを入れると自動化が安全になる

IFノードは単に処理を分けるだけではありません。

事故を防ぐためにも使えます。

たとえば、

  • 記事本文が空なら投稿しない
  • 投稿済みなら処理しない
  • 画像IDが取得できなかったら次へ進まない

といった安全確認です。

自動化は便利ですが、条件を入れずにすべて処理すると、誤投稿や重複処理につながることがあります。

重要な処理の前にIFノードを入れると、ワークフローを安全にしやすくなります。

自動化代行でもよく使う

n8nで業務自動化を作る場合、IFノードはかなりよく使います。

たとえば、

  • 問い合わせ金額が一定以上なら営業担当へ送る
  • 予約内容によって担当者を分ける
  • AI判定がOKなら処理を続ける
  • 必要項目が空なら担当者へ通知する

といった使い方です。

実際の仕事では、

「全部同じ処理」

より、

「条件によって処理を変える」

ケースが多くあります。

そのため、IFノードを理解すると実用的なワークフローを作りやすくなります。

初心者は1つの条件から始めよう

最初から複雑な条件を作る必要はありません。

まずは、

ステータスが「入稿待ち」ならTrue

のような1つの条件から試しましょう。

慣れてきたら、

ステータスが入稿待ち
AND
本文が空ではない

のように条件を追加していけば十分です。

小さく作って、実行結果を確認しながら増やしていく方がエラーを見つけやすくなります。

まとめ

n8nのIFノードは、条件によって処理を分けるためのノードです。

基本は、

条件に合う
=True

条件に合わない
=False

という2つのルートに分かれます。

たとえば、

入稿ステータスが入稿待ち
↓
True
↓
WordPressへ投稿

それ以外
↓
False
↓
処理終了

という自動化を作れます。

IFノードを使えるようになると、

  • 必要なデータだけ処理する
  • 特定の条件だけ通知する
  • AIの結果によって処理を変える
  • 誤投稿や重複処理を防ぐ

といったことができるようになります。

n8nの自動化は、ただノードを順番につなぐだけではありません。

「どんな条件なら次へ進むのか」

を決められるようになると、より実用的で安全なワークフローを作れるようになります。

次に読む記事