n8nでワークフローを作っていると、
「2つの処理結果を1つにまとめたい」
「Google SheetsのデータとAIの結果を合わせたい」
「別々に動かした処理を、あとで合流させたい」
という場面が出てきます。
そこで使うのが「Mergeノード」です。
Mergeノードは、複数のデータの流れを1つにまとめるためのノードです。n8n公式ドキュメントでも、複数のデータストリームをまとめるためのノードとして説明されています。:chatgpt-content-reference{index=”0″}
この記事では、n8nのMergeノードとは何か、AppendとCombineの違い、Matching FieldsやPositionの使い方、初心者がつまずきやすいポイントまでやさしく解説します。
n8nのMergeノードとは?
Mergeノードは、別々のルートから流れてきたデータをまとめるためのノードです。
たとえば、
Google Sheetsから記事データを取得
という流れと、
OpenAIでタイトルを生成
という流れがあったとします。
それぞれのデータをあとで1つにまとめたい場合にMergeノードを使えます。
イメージは、
データA
↓
Merge
↑
データB
2つの川が合流して、1つの川になるようなイメージです。
なぜMergeノードが必要なの?
n8nでは、基本的にノードからノードへ順番にデータが流れます。
しかし実際の自動化では、処理を2つ以上に分けることがあります。
たとえば、
元の記事データ
↓
AIでタイトル生成
という処理と、
元の記事データ
↓
AIでカテゴリ判定
という処理を別々に行ったとします。
最後に、
タイトル
カテゴリ
元の記事情報
を一緒に使いたい場合があります。
そんなときにMergeノードを使って、分かれていたデータをまとめられます。
Mergeノードの基本イメージ
たとえばInput 1に、
{
"title": "n8nの使い方"
}
Input 2に、
{
"category": "n8n"
}
というデータが入ってきたとします。
Mergeノードで適切にまとめると、
{
"title": "n8nの使い方",
"category": "n8n"
}
のように、1つのデータとして扱える場合があります。
ただし、Mergeノードには複数のモードがあります。
どのようにまとめたいかによって設定を変える必要があります。
Mergeノードの主なモード
現在のn8nのMergeノードには、代表的に、
- Append
- Combine
- SQL Query
- Choose Branch
などのモードがあります。:chatgpt-content-reference{index=”1″}
初心者なら、まず、
Append
Combine
の2つを理解すると使いやすいです。
Appendとは?
Appendは、複数の入力データを順番につなげて出力する方法です。
たとえばInput 1に、
記事A
記事B
があり、
Input 2に、
記事C
記事D
がある場合、
Merge
↓
記事A
記事B
記事C
記事D
というように出力されます。
n8n公式ドキュメントでも、Appendは各Inputのアイテムを順番に出力するモードとして説明されています。:chatgpt-content-reference{index=”2″}
つまり、
「データの中身を1つに合体させる」
というより、
「複数のデータ一覧を1つの流れにまとめる」
使い方です。
Combineとは?
Combineは、複数の入力にあるデータを組み合わせるためのモードです。
たとえば、
Input 1
名前:ルナ
カテゴリ:n8n
Input 2
タイトル:n8nの使い方
というデータを組み合わせて、
名前:ルナ
カテゴリ:n8n
タイトル:n8nの使い方
のようなデータにできます。
Combineの中でも、さらに、
- Matching Fields
- Position
- All Possible Combinations
などの方法があります。:chatgpt-content-reference{index=”3″}
Matching Fieldsとは?
Matching Fieldsは、
「同じ値を持っているデータ同士をまとめる」
方法です。
たとえばInput 1に、
管理ID:101
タイトル:n8n入門
Input 2に、
管理ID:101
カテゴリ:n8n
というデータがあるとします。
管理IDをMatching Fieldsとして指定すると、
管理ID:101
タイトル:n8n入門
カテゴリ:n8n
という形でまとめられます。
つまり、
「共通する目印を使ってデータを結びつける」
方法です。
ExcelやGoogle Sheetsでいう、IDを使った照合に近い考え方です。
Matching Fieldsは実務で使いやすい
Matching Fieldsは、データ数が増えてきたときに便利です。
たとえば、
Google Sheets
管理ID:001
テーマ:n8n
と、
AI処理結果
管理ID:001
タイトル:n8n初心者向け解説
があった場合です。
管理IDで一致させれば、
同じ記事のデータとしてまとめられます。
記事管理や顧客管理では、
- 管理ID
- メールアドレス
- 商品ID
- 注文番号
などを使って一致させることがあります。
Positionとは?
Positionは、データの並んでいる順番で組み合わせる方法です。
たとえば、
Input 1
1番目:記事A
2番目:記事B
Input 2
1番目:タイトルA
2番目:タイトルB
なら、
記事A + タイトルA
記事B + タイトルB
というように結合されます。
n8nでは、Input 1の0番目とInput 2の0番目、次に1番目同士というように順番で結合します。:chatgpt-content-reference{index=”4″}
Positionを使うときの注意点
Positionは簡単ですが、順番がズレると別のデータ同士がくっつく可能性があります。
たとえば、
Input 1
記事A
記事B
記事C
Input 2
タイトルA
タイトルC
のように数や順番がズレていると、期待した結果にならないことがあります。
そのため、
「同じ順番になることが確実」
な場合に使う方が安全です。
IDなどがある場合は、Matching Fieldsを使う方がわかりやすいこともあります。
All Possible Combinationsとは?
All Possible Combinationsは、すべての組み合わせを作る方法です。
たとえばInput 1に、
A
B
Input 2に、
1
2
がある場合、
A+1
A+2
B+1
B+2
のように、すべての組み合わせを作ります。
n8n公式ドキュメントでも、両方のInputの全組み合わせを出力するモードとして説明されています。:chatgpt-content-reference{index=”5″}
普段のブログ自動化では出番は少ないですが、商品と条件の組み合わせなどを作りたい場合に使えます。
Mergeノードは入力が揃うまで待つ
Mergeノードの特徴として、
必要な入力データが揃ってから処理する
という点があります。
たとえば、
ルートA
↓
OpenAI処理
ルートB
↓
Google Sheets処理
の両方をMergeへ接続した場合、Mergeは接続された入力の処理を待ってからデータをまとめます。:chatgpt-content-reference{index=”6″}
これによって、別々に動いていた処理を合流させやすくなります。
実例:Google SheetsとAI結果をまとめる
たとえばブログ記事の自動化を考えます。
Google Sheetsから、
- テーマ
- カテゴリ
- 完成本文
- 管理ID
を取得します。
その一部をOpenAIへ送り、
タイトル
を生成します。
そのあと、
元のGoogle Sheetsデータ
+
AIが作ったタイトル
をまとめたい場合があります。
イメージは、
Google Sheets
↓
分岐
↓ ↓
元データ OpenAI
↓ ↓
Merge
↓
WordPress
です。
Mergeでまとめたあと、WordPressへデータを渡せます。
実例:2種類のAI処理をまとめる
AI処理を分ける場合にも使えます。
たとえば、
記事本文
↓
分岐
1つ目
↓
タイトル生成
2つ目
↓
メタディスクリプション生成
最後にMergeでまとめます。
すると、
タイトル
メタディスクリプション
を次の処理で一緒に使いやすくなります。
複数のAI処理を並列で行うワークフローでは、Mergeノードが便利です。
実例:商品データと在庫データをまとめる
Mergeはブログ以外の業務自動化でも使えます。
たとえば、
商品データ
商品ID:001
商品名:バッグ
と、
在庫データ
商品ID:001
在庫数:5
がある場合です。
商品IDをMatching Fieldsに指定すると、
商品ID:001
商品名:バッグ
在庫数:5
というようにまとめられます。
このあと、
在庫が少なければ通知
というIFノードへつなぐこともできます。
MergeとIFは役割が違う
IFノードとMergeノードは、名前だけ見ると少し混乱することがあります。
役割は違います。
IF
=条件によって流れを分ける
Merge
=分かれたデータや複数データをまとめる
という違いです。
たとえば、
データ
↓
IF
↓ ↓
A処理 B処理
というように分岐したあと、設計によっては別の処理結果をMergeで扱うことがあります。
ただし、IFで分岐した片方しか実行されないケースもあるため、Mergeに必ず両方のデータが届くとは限りません。
ワークフロー全体の流れを確認しながら使うことが大切です。
同じ項目名がある場合は注意
2つの入力に同じ項目名がある場合があります。
たとえば、
Input 1
title:元タイトル
Input 2
title:AIタイトル
という状態です。
この場合、どちらの値を残すかを考える必要があります。
n8nのMergeノードには、フィールド名が重なった場合の扱いを設定するClash Handlingがあります。
標準では、同じフィールド名がぶつかった場合にInput 2側が優先されるケースがあります。:chatgpt-content-reference{index=”7″}
重要なデータなら、
original_title
ai_title
のように最初から名前を分けておくと管理しやすくなります。
データ数が違う場合にも注意
Input 1とInput 2でデータ数が違う場合、設定によっては一部のデータが出力されないことがあります。
特にPositionで結合する場合は注意が必要です。
たとえば、
Input 1
3件
Input 2
2件
なら、3件目に対応するデータがありません。
必要に応じて、未対応のアイテムも保持する設定を使えます。:chatgpt-content-reference{index=”8″}
Mergeが必要ない場合もある
n8nでは、何でもMergeすればいいわけではありません。
たとえば前のノードのデータをExpressionで直接取得できる場合があります。
例として、
{{ $('自動入稿記事取得').first().json['完成本文'] }}
のように別ノードの値を直接参照できます。
そのため、
「別ノードの値を1個使いたい」
だけなら、Mergeを使わなくてもExpressionで済む場合があります。
Mergeが向いているのは、
- 複数のデータセットを1つの流れとして扱いたい
- 複数件のデータを照合したい
- 分かれた処理結果をまとめたい
といった場面です。
初心者はAppendとCombineから覚える
Mergeノードには複数の設定がありますが、最初から全部覚える必要はありません。
まずは、
Append
=データを順番につなげる
Combine
=データ同士を組み合わせる
と覚えましょう。
さらにCombineでは、
Matching Fields
=同じIDなどで結合
Position
=同じ順番で結合
という違いを理解すると、多くの場面に対応できます。
Mergeノードでよくある失敗
Input 1とInput 2を逆にしている
Mergeでは、どちらの入力にデータを入れたかが重要になる設定があります。
結果がおかしい場合は、Input 1とInput 2を確認しましょう。
項目名が一致していない
Matching Fieldsを使う場合、
管理ID
と、
ID
では別の項目です。
どのフィールドを一致させるのか正しく指定する必要があります。
データの型が違う
たとえば、
Input 1
管理ID:123
Input 2
管理ID:”123″
のように、数字と文字列で違う場合があります。
MergeのCombineには型の違いを許容するFuzzy Compareという設定もありますが、まずは元データの形式を揃える方がわかりやすいです。:chatgpt-content-reference{index=”9″}
OUTPUTを必ず確認する
Mergeノードを使ったら、実行後のOUTPUTを確認しましょう。
見るポイントは、
- 必要な項目が入っているか
- データ数が合っているか
- 別の記事同士が結合されていないか
- 項目が上書きされていないか
です。
Mergeは正常に実行されても、
「エラーは出ていないけれど、中身が違う」
ということがあります。
そのためOUTPUT確認が重要です。
AI自動化でもMergeは役立つ
AIを使った自動化では、1つのデータに対して複数のAI処理を行うことがあります。
たとえば、
- タイトル生成
- カテゴリ判定
- 要約生成
- SNS投稿文生成
です。
処理を分けて実行し、必要な結果をまとめる設計ではMergeノードが役立ちます。
自動化が大きくなるほど、
どこで分けるか
どこでまとめるか
を考える場面が増えてきます。
自動化代行でも使える
業務自動化では、複数のサービスからデータを取得することがあります。
たとえば、
- 顧客管理システム + 売上データ
- 問い合わせデータ + 担当者一覧
- 商品情報 + 在庫情報
などです。
共通するIDを使ってMergeすれば、その後のAI処理や通知につなげやすくなります。
そのためMergeノードは、単純な自動化から一歩進んだワークフローを作るときに役立ちます。
まとめ
n8nのMergeノードは、複数のデータの流れを1つにまとめるためのノードです。
まず覚えたいのは、
Append
=データを順番に並べる
Combine
=データ同士を組み合わせる
という違いです。
Combineではさらに、
Matching Fields
=共通するIDなどで結合する
Position
=順番で結合する
という方法があります。
たとえば、
Google Sheetsの元データ
+
OpenAIで作ったデータ
をまとめてWordPressへ送るような使い方ができます。
n8nのワークフローが複雑になると、
処理を分ける
別々にデータを作る
最後にまとめる
という流れが増えてきます。
Mergeノードを理解すると、複数の処理やデータを整理しながら、より実用的な自動化を作れるようになります。