n8nを使いこなし、日々の業務自動化に役立てているあなた。
「もっと複雑なデータ操作がしたい」「特定の条件で処理を分けたい」と感じたことはありませんか。
その壁を乗り越える鍵こそが、n8nの「Expression(エクスプレッション)」機能です。
Expressionを使いこなせれば、まるで魔法のようにデータを操り、ワークフローの可能性を無限に広げることができます。
しかし、少しプログラミングの知識が必要に見えるため、難しそうだと感じて敬遠している方も少なくないでしょう。
ご安心ください。
この記事では、2025年10月時点の最新情報に基づき、n8nのExpression機能の基本から、コピペで使える実践的なチートシート、さらにはエラー解決法まで、誰にでも分かるように徹底解説します。
この記事を読み終える頃には、あなたはExpressionへの苦手意識を克服し、より高度で柔軟なワークフローを構築できるようになっているはずです。
n8nのExpressionとは?基本の「き」を理解しよう
まず、Expressionが一体何者なのか、その基本をしっかりと押さえましょう。Expressionとは、一言で言えば「ワークフロー内で動的なデータを取り扱うための仕組み」です。JavaScriptの構文をベースにしており、これを使うことで、前のノードから受け取ったデータを参照したり、加工したり、計算したりすることが可能になります。
例えば、以下のような場面でExpressionは絶大な威力を発揮します。
- Googleフォームから送信された名前を、後続のGmailノードの宛名に設定する
- スプレッドシートから取得した商品の価格(文字列)を、数値に変換して計算する
- 顧客の年齢が20歳以上の場合のみ、特定の処理を実行する
もしExpressionがなければ、ワークフローは常に固定値しか扱えない、非常に限定的なものになってしまいます。Expressionは、ワークフローに命を吹き込み、柔軟性と拡張性を与えるための必須機能なのです。
Expressionの基本的な構文
Expressionは、{{ }}という二重の中括弧で囲んで記述します。この中括弧の中に、データを参照するための変数や、データを操作するための関数を書いていきます。
最もよく使うのが、前のノードからのデータを格納した$jsonという変数です。例えば、前のノードで{"name": "田中太郎", "age": 30}というデータを受け取った場合、以下のようにして各データにアクセスできます。
- 名前を取得:
{{$json.name}}→ 結果: “田中太郎” - 年齢を取得:
{{$json.age}}→ 結果: 30
感覚的には、Excelのセル参照や関数に近いかもしれません。「プログラミング」と身構える必要はなく、「n8nに指示を出すための簡単な合言葉」くらいに捉えると、心理的なハードルもぐっと下がるでしょう。
【実践編】よく使うExpression構文チートシート
ここからは、あなたが明日からすぐに使える、実践的なExpressionの構文をチートシート形式でご紹介します。すべてを一度に覚える必要はありません。このページをブックマークしておき、必要な時に見返しながら活用してください。
1. データ取得の基本テクニック
ワークフローのデータは、常にきれいな形式とは限りません。ハイフンを含むキーや、階層が深いデータにアクセスする方法をマスターしましょう。
- ドット記法: 最も基本的なアクセス方法です。
{{$json.propertyName}} - ブラケット記法: プロパティ名にハイフン(-)やスペースが含まれる場合に使います。
{{$json["property-name"]}} - 配列の要素へアクセス: 0から始まるインデックス番号で指定します。最初の要素なら
[0]です。
{{$json.arrayName[0]}} - ネストされたオブジェクトへアクセス: ドットを繋げて階層を深く掘り下げます。
{{$json.customer.address.city}}
2. 条件分岐 (三項演算子)
IFノードを使うほどでもない簡単な条件分岐は、Expression内で完結させるとワークフローがすっきりします。三項演算子という書き方を使い、「条件式 ? 真の場合の値 : 偽の場合の値」という形式で記述します。
- 例: 年齢が20歳以上なら「大人」、そうでなければ「未成年」と表示する。
{{$json.age >= 20 ? "大人" : "未成年"}} - 例: 変数
statusが “completed” ならtrue、そうでなければfalseを返す。
{{$json.status === "completed" ? true : false}}
3. 便利な文字列・数値・日付操作
取得したデータをそのまま使うのではなく、加工して使いたい場面は非常に多いです。よく使う便利な関数をいくつかご紹介します。
- 文字列を分割する (split):
{{$json.fullName.split(' ')[0]}}→ “田中 太郎”を”田中”に変換 - 文字列を置換する (replace):
{{$json.price.replace('円', '')}}→ “5,000円”を”5,000″に変換 - 数値を四捨五入する (Math.round):
{{Math.round($json.value)}}→ 123.45を123に変換 - 現在の日付を取得する (luxon): n8nには日付操作ライブラリのluxonが組み込まれています。
{{DateTime.now().toFormat('yyyy-MM-dd')}}→ “2025-10-24″のような形式で今日の日付を取得
これらのチートシートを組み合わせるだけで、データ操作の幅が格段に広がります。まずは簡単なものから試して、Expressionの便利さを体感してみてください。
もう迷わない!Expressionのエラー解決&デバッグ術
Expressionを使い始めると、誰もが一度はエラーの壁にぶつかります。しかし、エラーはあなたの敵ではありません。むしろ、どこが間違っているかを教えてくれる親切なガイドです。ここでは、初心者が陥りがちなエラーの原因と、その解決策を解説します。
よくあるエラーとその原因
エラー1: Expression could not be resolved.
これは最もよく見るエラーです。主な原因は以下の通りです。
- データパスの間違い:
$json.nameと書くべきところを$json.namaeとタイポしている、など。Expressionエディタの左側に表示される入力データ構造をよく確認し、正しいパスをコピー&ペーストするのが確実です。 - 参照するデータが存在しない: IFノードなどで処理が分岐した結果、後続のノードに期待したデータが渡ってこないケースです。前のノードの実行結果を必ず確認し、データが本当に存在するかをチェックしましょう。
エラー2: ... is not a function
これは、データ型に対して不正な操作をしようとした時に発生します。
- 例: 数値型のデータに対して、文字列操作の
split()を使おうとする。 - 解決策: データの型を意識することが重要です。
typeof演算子(例:{{typeof $json.price}})を使ってデータ型を確認したり、必要であれば型変換(例:{{$json.number.toString()}})を行ったりする癖をつけましょう。
デバッグの極意は「Expressionエディタ」にあり
n8nのExpressionエディタは、単なる入力欄ではありません。非常に強力なデバッグツールです。エディタの右側にある「Result」プレビューを常に確認する習慣をつけましょう。ここにリアルタイムでExpressionの実行結果が表示されるため、一文字入力するたびに、自分の書いたコードが正しく評価されているかを確認できます。
また、エディタは入力候補も表示してくれます。$json.と入力すると、その後に続くプロパティ名の候補が一覧で表示されるため、タイポを防ぎ、効率的にコーディングを進めることができます。この2つの機能を使いこなすだけで、エラーの発生率を劇的に下げることが可能です。
私の経験上、複雑なExpressionを一度に書こうとすると、ほぼ間違いなくどこかでミスをします。まずは{{$json}}とだけ書いてみて、全体のデータ構造を確認する。次に{{$json.customer}}と一段階掘り下げて、プレビューで結果を確認する。このように、一歩ずつ進めていく「ステップ実行」的なアプローチが、結果的に最も早く、そして確実な方法です。
まとめ:Expressionを制する者がn8nを制す
今回は、n8nの心臓部とも言えるExpression機能について、その基本から実践的なチートシート、そしてデバッグ術までを詳しく解説しました。
要点をまとめると以下の通りです。
- Expressionは、ワークフローに動的なデータ処理能力を与えるための必須機能である。
{{ }}で囲み、$json変数を使って前のノードのデータにアクセスするのが基本。- 文字列操作、条件分岐、日付計算など、チートシートを活用すれば多くのデータ加工が実現できる。
- エラーは怖くない。Expressionエディタのプレビュー機能を活用し、一歩ずつ確認しながら進めるのが成功の鍵。
最初は難しく感じるかもしれませんが、本記事のチートシートを参考に簡単な操作から試していくうちに、その強力さと便利さに気づくはずです。Expressionを使いこなせるようになれば、これまで「できない」と諦めていた複雑な業務自動化も、間違いなくあなたの手で実現できるようになります。
もし、n8nの基本的な使い方や全体像からもう一度しっかり学びたいと感じた方は、n8nの導入から応用までを網羅したn8n完全ガイド記事もぜひ参考にしてください。あなたの自動化の旅を力強くサポートします。
まだn8nを試したことがないという方は、この機会にぜひ、その第一歩を踏み出してみてはいかがでしょうか。無料で始められるプランも用意されており、この記事で紹介したExpressionのパワフルさをすぐに体験できます。以下のリンクからn8nの世界を覗いてみてください。