# How to update existing rows and append new ones between two Google Sheets in n8n?

**URL:** <https://community.n8n.io/t/how-to-update-existing-rows-and-append-new-ones-between-two-google-sheets-in-n8n/217500>\
**Category:** Questions\
**Created:** [2025年十一月6日 17:50 UTC](https://community.n8n.io/t/how-to-update-existing-rows-and-append-new-ones-between-two-google-sheets-in-n8n/217500 "2025-11-06T17:50:39Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Folake\_Sowonoye](https://dub1.discourse-cdn.com/n8n/user_avatar/community.n8n.io/folake_sowonoye/32/116764_2.png) [@Folake\_Sowonoye](https://community.n8n.io/u/Folake_Sowonoye)\
**Post date:** [2025年十一月6日 17:50 UTC](https://community.n8n.io/t/how-to-update-existing-rows-and-append-new-ones-between-two-google-sheets-in-n8n/217500/1 "2025-11-06T17:50:39Z")

</div>

Hi everyone 👋

I have a Google Sheet that acts as my **data source** ,it gets updated frequently.  
Here’s what I’ve done so far in n8n:

- I’m using a **Google Sheets trigger** to watch the source sheet.

- I **normalize the email** (trim + lowercase).

- I **skip blank rows** using an IF condition.

Now I want to **look up the target sheet** to check if the new or updated row already exists.  
I’m using the **Google Sheets → Lookup** node, which correctly returns duplicates (existing rows).

But I’m stuck here:  
I need the workflow to **update** the existing rows (duplicates) and **append** the new ones (non-duplicates).  
However, since the Lookup node only returns the matching rows, I can’t seem to separate the duplicates from the new data properly.

What’s the best way to handle this logic in n8n?  
Basically, I want:

- If Email exists → update the row in Target sheet.

- If Email doesn’t exist → append it as a new row.

Any help or example on how to structure this flow would be awesome 🙏

---

<div class="post-metadata">

**Author:** ![achamm](https://dub1.discourse-cdn.com/n8n/user_avatar/community.n8n.io/achamm/32/143734_2.png) [@achamm](https://community.n8n.io/u/achamm)\
**Post date:** [2026年一月20日 14:18 UTC](https://community.n8n.io/t/how-to-update-existing-rows-and-append-new-ones-between-two-google-sheets-in-n8n/217500/2 "2026-01-20T14:18:39Z")

</div>

To update existing rows and append new ones between two Google Sheets in n8n, you can use a combination of the \*\*Google Sheets Lookup\*\* node and \*\*IF\*\* node to separate duplicates from new data. Here’s how:

1. After the Lookup node, add an \*\*IF\*\* node to check if the email exists in the target sheet.

2. If the email exists, use the \*\*Google Sheets Update Row\*\* node to update the row.

3. If the email doesn’t exist, use the \*\*Google Sheets Append Row\*\* node to add it as a new row.

For more details, check out this step-by-step guide from [n8n-tutorial.com]([How to read append update delete Google Sheets in n8n: Step-by-Step Guide (2025)](https://www.n8n-tutorial.com/tutorials/n8n/data-handling/how-to-read-append-update-delete-google-sheets-in-n8n/)).

---

<div class="post-metadata">

**Author:** ![system](https://dub1.discourse-cdn.com/n8n/user_avatar/community.n8n.io/system/32/195824_2.png) [@system](https://community.n8n.io/u/system)\
**Post date:** [2026年四月20日 14:18 UTC](https://community.n8n.io/t/how-to-update-existing-rows-and-append-new-ones-between-two-google-sheets-in-n8n/217500/3 "2026-04-20T14:18:42Z")

</div>

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.
