AI活用

n8nでスプレッドシートを更新する|追記と上書きをIDで分ける

n8nからGoogle Sheetsへ追記・更新する際のID設計と操作の選び方を整理。同じ依頼の再送、空ID、列名変更、同時更新を試験用シートで確認する手順を紹介します。

この記事の目次
  1. 行番号ではなく、依頼そのもののIDを持たせる
  2. Append、Update、Append or Updateを選び分ける
  3. 試験用シートで、三つの入力を順に送る
  4. 同時更新が多いなら、台帳の役割を見直す
  5. 次に知りたいこと

スプレッドシートへ書き込む前に、一行を識別するIDと、追記・更新のどちらを行うかを決めます。同じデータを再実行しても新しい行として増える構成では、集計結果が少しずつずれていきます。

行番号ではなく、依頼そのもののIDを持たせる

問い合わせ台帳ならrequest_id、商品一覧なら商品コードなど、並べ替えても変わらない値を用意します。行番号は並べ替えや行削除で変わり、メールアドレスだけでは同じ人の別の依頼を区別できません。

{
  "request_id": "sample-001",
  "received_at": "2026-10-10T09:00:00+09:00",
  "status": "review",
  "amount": 1200
}

これは設計用の架空データです。金額の単位と日時のタイムゾーンも列名か運用メモへ残します。金額をカンマ付き文字列にするか数値にするかで、後の集計方法が変わるためです。

スポンサーリンク

Append、Update、Append or Updateを選び分ける

Google Sheetsノードには、新しい行の追記、既存行の更新、既存行があれば更新してなければ追記する操作があります。詳細な項目は公式の行操作で確認できます。

台帳の使い方 選ぶ処理
すべての変更を履歴として残す Append Row。ただし履歴のIDも分ける
登録済みの依頼だけ状態を変更 Update Row。未登録時の扱いを別にする
依頼IDごとに現在の状態を一行で持つ Append or Update Row。照合する列を固定する

同じIDの行がすでに二つあると、照合キーを決めても台帳は一意になりません。重複行を先に調べ、更新対象が一つに決まらなければ書き込みを止めます。

試験用シートで、三つの入力を順に送る

  1. sample-001を初めて送り、想定した列へ一行入るか見る。
  2. 同じIDでstatusだけ変え、選んだ操作どおり更新か追記になるか見る。
  3. IDを空にし、不完全な行を書かずに確認待ちへ止まるか見る。

列の並びだけに頼らず、入力項目と見出しの対応を確認してください。担当者が列名を変更したときにも、書き込み前に必要な見出しが揃っているか点検できると修復しやすくなります。

同時更新が多いなら、台帳の役割を見直す

スプレッドシートで「検索してから追記する」二段階の処理は、同時実行が重なると同じIDが二行になる可能性があります。厳密な重複防止が必要なら、一意制約を持つ保存先で処理権を確保し、シートは表示用にする構成を検討します。

外部更新が成功したか分からないときに再実行する条件は、二重実行を防ぐ設計で整理しています。まず一つのIDを二回送った結果を確認し、その記録を残してから本番の台帳へ移してください。

スポンサーリンク