Att manuellt slå ihop listor mellan Google Sheets och Excel låter enkelt. Tills du sitter och stirrar på två flikar, en halvdant fungerande VLOOKUP och en kolumn för ”language” som aldrig matchar som du tror.
Marketing ops-personer stöter på det här när de förbereder flerspråkiga kampanjer. Byråägare känner av det när kundleveranser kommer i olika format. Och en teammedlem i ett småföretag får ofta fastna med att städa upp allt. Den här automatiseringen för listsammanslagning ger dig en korrekt formaterad datamängd, korrekt grupperad per språk, utan copy-paste-spiralen.
Det här arbetsflödet visar ett pålitligt sätt att slå ihop två datamängder via ett gemensamt fält för ”language”, och sedan återanvända samma mönster på dina riktiga Sheets/Excel-data.
Så fungerar automatiseringen
Se hur detta löser problemet:
n8n Workflow Template: Google Sheets + Excel: rensa sammanslagna listor
flowchart LR
subgraph sg0["Manual Launch Flow"]
direction LR
n0@{ icon: "mdi:play-circle", form: "rounded", label: "Manual Launch Trigger", pos: "b", h: 48 }
n1["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/code.svg' width='40' height='40' /></div><br/>Name Language Dataset"]
n2["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/code.svg' width='40' height='40' /></div><br/>Greeting Language Dataset"]
n3["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/merge.svg' width='40' height='40' /></div><br/>Combine Language Greetings"]
n1 --> n3
n2 --> n3
n0 --> n1
n0 --> n2
end
%% Styling
classDef trigger fill:#e8f5e9,stroke:#388e3c,stroke-width:2px
classDef ai fill:#e3f2fd,stroke:#1976d2,stroke-width:2px
classDef aiModel fill:#e8eaf6,stroke:#3f51b5,stroke-width:2px
classDef decision fill:#fff8e1,stroke:#f9a825,stroke-width:2px
classDef database fill:#fce4ec,stroke:#c2185b,stroke-width:2px
classDef api fill:#fff3e0,stroke:#e65100,stroke-width:2px
classDef code fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px
classDef disabled stroke-dasharray: 5 5,opacity: 0.5
class n0 trigger
class n1,n2 code
classDef customIcon fill:none,stroke:none
class n1,n2,n3 customIcon
Utmaningen: slå ihop flerspråkiga listor utan missade matchningar
Du har en lista med ”name” och ”language”. En annan lista med ”greeting” och ”language”. Du vill bara ha ett sammanslaget resultat så att varje språk matchas snyggt. Men i verkligheten blir det här sköra formler, dubblettrader och ”nästan”-matchningar som i tysthet skickar fel innehåll. Det värsta är den mentala belastningen. Du dubbelkollar hela tiden eftersom du vet att en enda felaktig join kan skicka ”Hola” till den engelska segmenteringen och ingen upptäcker det förrän en kund gör det.
Det eskalerar snabbt. Här är var det brukar fallera i vardagen.
- Du får underhålla separat logik för Google Sheets och Excel, så samma uppgift löses två gånger.
- Uppslag ”fungerar” tills ett värde saknas, och då får du tomma fält som ser korrekta ut vid en snabb blick.
- Någon ändrar kolumnrubrik eller ordning, och hela sammanslagningen kopplar i tysthet ihop fel fält.
- Även när det är rätt tar efterstädningen runt en timme varje gång listorna uppdateras.
Lösningen: slå ihop listorna per språk och få ut en korrekt formaterad datamängd
Det här n8n-arbetsflödet använder ett enkelt, robust mönster: skapa (eller ta emot) två datamängder och slå sedan ihop dem med en gemensam nyckel. I exempelversionen skapar en Code-nod en lista med namn kopplade till ett språk. En annan Code-nod skapar hälsningar kopplade till ett språk. Merge-noden kombinerar dem genom att matcha det gemensamma fältet ”language”, så att varje post med samma språk slås ihop till en enhetlig struktur. När du sett att det fungerar med exempeldata byter du till dina riktiga källor, som en export från Google Sheets, en Excel-fil eller en HTTP-endpoint som returnerar rader.
Arbetsflödet startar med en manuell trigger, vilket är perfekt för test. Båda datamängderna skapas parallellt, och sedan slår merge-steget ihop dem till ett enda resultat som du kan skriva direkt till Google Sheets, exportera till Excel eller skicka vidare till nästa automatisering.
Vad som förändras: före vs. efter
| Det här elimineras | Effekten du märker |
|---|---|
|
|
Effekt i verkligheten
Säg att du hanterar 4 språk och uppdaterar två listor varje vecka (namn/segment i en fil, hälsningar/mallar i en annan). Manuellt kanske du lägger cirka 30 minuter på att städa varje fil, och sedan ytterligare 30 minuter på uppslag och att fixa mismatchar, alltså ungefär 2 timmar per vecka. Med det här arbetsflödet blir ”arbetet” att lägga in uppdaterade data och låta sammanslagningen köra, vilket tar några minuter att trigga och granska. Du slipper över en timmes städning varje vecka.
Krav
- n8n-instans (prova n8n Cloud gratis)
- Möjlighet till self-hosting om du föredrar det (Hostinger fungerar bra)
- Google Sheets för att lagra det sammanslagna resultatet (valfritt)
- Microsoft Excel som indata-/exportformat (valfritt)
- API-åtkomst om du byter exempeldata mot HTTP-källor (konfigureras i källsystemet)
Svårighetsgrad: Nybörjare. Du kopplar främst datakällor och bekräftar att merge-nyckeln är konsekvent.
Behöver du hjälp att implementera detta? Prata med en automationsspecialist (gratis 15-minuters konsultation).
Flödet i arbetsflödet
Manuell starttrigger. Du klickar på ”execute”, vilket gör det enkelt att testa sammanslagningar innan du kopplar på riktiga Sheets- eller Excel-data.
Två datamängder skapas parallellt. En Code-nod genererar en lista med ”name + language”, och en annan genererar en lista med ”greeting + language”. I produktion är det här de två noderna där du hämtar från Google Sheets, läser en Excel-fil eller hämtar rader via HTTP Request.
Sammanslagning via det gemensamma språkfältet. Merge-noden joinar objekt där värdet i ”language” matchar, och skapar kombinerade rader som innehåller både namn och hälsning.
Korrekt formaterat kombinerat resultat. Den sammanslagna datamängden är redo att skickas var som helst: tillbaka till ett Google Sheet, till ett Excel-exportsteg eller vidare till ett arbetsflöde som formaterar meddelanden och routar dem till rätt kanal.
Du kan enkelt ändra merge-nyckeln från language till något annat (som locale, country eller segment) beroende på behov. Se hela implementationsguiden nedan för anpassningsalternativ.
Steg-för-steg-guide för implementering
Steg 1: konfigurera den manuella triggern
Det här arbetsflödet startar manuellt så att ni kan testa datasammanslagningen vid behov.
- Lägg till noden Manual Launch Trigger som startpunkt.
- Lämna alla inställningar på standardvärdena (inga parametrar krävs).
- Koppla Manual Launch Trigger till både Name Language Dataset och Greeting Language Dataset.
Manual Launch Trigger skickar ut data till både Name Language Dataset och Greeting Language Dataset parallellt.
Steg 2: anslut Name Language Dataset
Ange listan med namn och deras tillhörande språkkoder.
- Lägg till kodenoden Name Language Dataset.
- Ställ in JavaScript Code till:
return [
{
json: {
name: 'Stefan',
language: 'de',
}
},
{
json: {
name: 'Jim',
language: 'en',
}
},
{
json: {
name: 'Hans',
language: 'de',
}
}
]; - Koppla Name Language Dataset till Combine Language Greetings (input 1).
Steg 3: anslut Greeting Language Dataset
Ange hälsningarna mappade till samma språkkoder som används i namn-datasetet.
- Lägg till kodenoden Greeting Language Dataset.
- Ställ in JavaScript Code till:
return [
{
json: {
greeting: 'Hello',
language: 'en',
}
},
{
json: {
greeting: 'Hallo',
language: 'de',
}
}
]; - Koppla Greeting Language Dataset till Combine Language Greetings (input 2).
Steg 4: konfigurera logiken för sammanslagning
Slå ihop de två dataset:en via den gemensamma språknyckeln för att skapa kompletta hälsningsposter.
- Lägg till noden Combine Language Greetings.
- Ställ in Mode på
combine. - Ställ in Fields to Match på
language.
language-koder så att sammanslagningen ger kompletta par med namn + hälsning.Steg 5: testa och aktivera ert arbetsflöde
Verifiera att sammanslagningen returnerar kombinerade hälsningsposter och aktivera därefter arbetsflödet.
- Klicka på Execute Workflow för att köra Manual Launch Trigger.
- Bekräfta att Combine Language Greetings ger sammanslagna objekt som innehåller fälten
name,greetingochlanguage. - När ni är nöjda, slå på arbetsflödet till Active för användning i produktion.
Se upp med
- Google Sheets-inloggningar kan löpa ut eller kräva specifika behörigheter. Om något slutar fungera, kontrollera n8n-credential-posten för Google Sheets-kontot och bekräfta att arket är delat med rätt användare.
- Om du ersätter exempel-noderna med HTTP Request-indata kan API-svar vara långsamma eller paginerade. Processingtider varierar, så öka väntetider (eller lägg till pagineringshantering) om nedströmsnoder kör med tom data.
- Merge-logiken är bara så bra som nyckeln. Om ”EN”, ”en” och ”English” förekommer får du delvisa sammanslagningar; normalisera språkfältet tidigt så att joinen håller sig korrekt.
Vanliga frågor
Cirka 30 minuter om dina inlistor redan är korrekt formaterade.
Ja. Du kopplar din datakälla och bekräftar fältet du slår ihop på (som ”language”).
Ja. n8n har ett gratis self-hosted-alternativ och en gratis testperiod på n8n Cloud. Cloud-planer börjar på 20 USD/månad för högre volym. Du behöver också räkna in eventuella API-kostnader om du hämtar data via HTTP requests.
Två alternativ: n8n Cloud (hanterat, enklast att komma igång) eller self-hosting på en VPS. För self-hosting är Hostinger VPS prisvärd och hanterar n8n bra. Self-hosting ger dig obegränsade körningar men kräver grundläggande serveradministration.
Byt ut de två exempel-Code-noderna (“Name Language Dataset” och “Greeting Language Dataset”) mot dina riktiga indata, som Google Sheets, Excel eller en HTTP Request. De flesta anpassningar är enkla: normalisera språkvärden (EN vs en), välj en annan merge-nyckel (locale, region, segment) eller lägg till ett Set/Edit Fields-steg för att byta kolumnnamn så att resultatet matchar din mall.
Oftast beror det på en utgången credential eller att arket inte är delat med det anslutna Google-kontot. Anslut Google Sheets på nytt i n8n, och bekräfta sedan behörigheterna för kalkylarket och att filen inte har flyttats till en begränsad Drive. Om du hämtar många rader på en gång kan rate limits också orsaka intermittenta fel, så testa med ett mindre intervall först.
Om du self-hostar n8n finns ingen fast körningsgräns; det beror främst på din server och hur tunga indata du har. På n8n Cloud beror dina månatliga körningar på din plan, och sammanslagningar som denna är lätta, så de flesta små team kör den utan problem. I praktiken kan du slå ihop hundratals rader per körning utan dramatik och skala därifrån om dina källor är välstrukturerade.
Ofta, ja, om du behöver pålitlig sammanslagning och dataformning utan att betala extra för varje gren. n8n gör det enklare att hålla logiken synlig, särskilt när din ”join key” behöver städas upp innan sammanslagning. Zapier och Make funkar för enkla tvåstegsflyttar, men merges kan bli klumpiga när datamängder inte ligger perfekt i linje. Dessutom innebär self-hosting att du inte behöver räkna tasks lika noga. Om du är kluven, prata med en automationsspecialist så gör vi en rimlighetskontroll av ditt case.
När du väl har ett pålitligt arbetsflöde för att slå ihop per språk försvinner en hel kategori av kalkylbladsjobb. Sätt upp det, återanvänd det och gå vidare till arbete som faktiskt kräver din uppmärksamhet.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.