Att kopiera en Google Sheet‑”mall” med flera flikar låter enkelt – tills du har gjort det fem gånger i rad och inser att ett fliknamn är fel, två formler inte följde med och din ”slutliga” fil redan är rörig.
Marketing ops-team märker det när kampanjtrackers måste återskapas snabbt. Byråägare stöter på det när varje ny kund behöver samma rapporteringsarbetsbok. Och analytiker gör samma städning igen – eftersom ingen litar på manuell duplicering. Den här automatiseringen för Google Sheets-duplicering löser det.
Du får se hur det här n8n-flödet skapar ett helt nytt kalkylark i Google Drive, återskapar varje flik och kopierar rätt data till rätt plats. Smidiga överlämningar. Konsekvent struktur. Betydligt färre ”vänta, vilken version är det här?”-ögonblick.
Så fungerar automatiseringen
Hela n8n-flödet, från trigger till slutresultat:
n8n Workflow Template: Google Sheets till Google Drive, perfekta mallkopior
flowchart LR
subgraph sg0["When clicking 'Test workflow' Flow"]
direction LR
n0@{ icon: "mdi:play-circle", form: "rounded", label: "When clicking 'Test workflow'", 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/httprequest.dark.svg' width='40' height='40' /></div><br/>HTTP Request"]
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/>Code"]
n3@{ icon: "mdi:swap-vertical", form: "rounded", label: "Loop Over Items", pos: "b", h: 48 }
n4@{ icon: "mdi:database", form: "rounded", label: "Create Sheets", pos: "b", h: 48 }
n5@{ icon: "mdi:database", form: "rounded", label: "Write sheet", pos: "b", h: 48 }
n6@{ icon: "mdi:database", form: "rounded", label: "Google Sheets2", pos: "b", h: 48 }
n7@{ icon: "mdi:database", form: "rounded", label: "Read Spreadsheet1", pos: "b", h: 48 }
n8@{ icon: "mdi:database", form: "rounded", label: "Create New Spreadsheet", pos: "b", h: 48 }
n2 --> n3
n5 --> n3
n1 --> n2
n4 --> n7
n3 --> n6
n3 --> n4
n7 --> n5
n8 --> n1
n0 --> n8
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 n4,n5,n6,n7,n8 database
class n1 api
class n2 code
classDef customIcon fill:none,stroke:none
class n1,n2 customIcon
Problemet: mallar med flera flikar kopieras inte felfritt
När en Google Sheet har flera flikar blir lite ”manuell kopiering” en förvånansvärt skör process. Du duplicerar en fil, byter namn på flikar, tar bort platshållare och börjar sedan klistra in data i rätt blad. Ett litet misstag och du får fliknamn som inte matchar, saknade kolumner eller ett blad som ser rätt ut men använder förra månadens rubriker. Det värsta är den mentala belastningen. Du lägger mer tid på att dubbelkolla än på att göra faktiskt arbete – och ändå känns det inte tryggt att skicka filen till en kund eller ditt team.
Friktionen växer, särskilt när mallen är ryggraden i en process.
- Att återskapa en arbetsbok med 6–10 flikar kan ta ungefär en timme om du också verifierar strukturen.
- En omdöpt flik bryter referenser längre ned i kedjan, så rapporter och formler misslyckas tyst.
- Team slutar standardisera eftersom ”mallen är jobbig”, och varje fil blir sin egen snöflinga.
- Manuell duplicering bjuder in copy‑paste-misstag som är svåra att upptäcka innan det är för sent.
Lösningen: duplicera och fyll automatiskt varje flik
Det här flödet använder n8n för att ta ett källkalkylark i Google Sheets (din ”huvudmall”) och sedan skapa ett helt nytt kalkylark i Google Drive med samma flikstruktur. Det börjar med att hämta metadata från källkalkylarket (som inkluderar alla fliknamn), gör om det till en strukturerad lista och loopar sedan igenom varje blad ett i taget. Under loopen skapar det matchande flikar i målfilen, läser data från källfliken och skriver den datan till motsvarande målflik. Det tar också bort standardfliken som Google skapar i nya kalkylark, så du slipper att ”Sheet1” blir kvar.
Flödet startar med en manuell körning när du är redo att skapa en kopia. Därefter skapar det målfilen, hämtar källans bladnamn via en HTTP-förfrågan och itererar igenom dem i batchar. Till sist skriver det raderna från varje flik till det nya kalkylarket, så att slutresultatet speglar din mall – pålitligt.
Det här får du: automatisering vs. resultat
| Vad det här flödet automatiserar | Resultat du får |
|---|---|
|
|
Exempel: så här ser det ut
Säg att din ”kundrapportmall” har 8 flikar och att manuell duplicering tar cirka 10 minuter per flik när du räknar in namnbyte, borttagning av Sheet1 och kontroll av kolumnrubriker. Det blir ungefär 80 minuter per ny kundsetup. Med det här flödet kör du den manuella triggern (cirka 1 minut) och låter sedan n8n skapa målfilen och kopiera varje fliks data i bakgrunden (ofta 5–10 minuter beroende på bladens storlek). Du sparar vanligtvis runt en timme per arbetsbok – och resultatet blir mer prydligt.
Det här behöver du
- n8n-instans (testa n8n Cloud gratis)
- Alternativ för self-hosting om du föredrar det (Hostinger fungerar bra)
- Google Sheets för källmallen och målkopian
- Google Drive för att lagra det nyligen skapade kalkylarket
- Google Sheets OAuth2 (hämta från Google Cloud Console-uppgifter)
Kunskapsnivå: Nybörjare. Du kopplar Google-uppgifter och klistrar in ett kalkylarks-ID.
Vill du inte sätta upp detta själv? Prata med en automationsexpert (gratis 15-minuters konsultation).
Så fungerar det
Du kör det när du behöver en ny kopia. Flödet startar med en manuell trigger, så att du kan testa säkert och bara skapa en ny fil när den faktiskt behövs.
Det skapar målkalkylarket först. n8n genererar ett nytt Google-kalkylark i din Drive, som blir ”behållaren” för alla replikerade flikar och data.
Det läser källkalkylarkets fliklista och loopar igenom den. En HTTP-förfrågan hämtar källans metadata (inklusive bladtitlar). Ett kort kodsteg gör om svaret till en strukturerad lista, och sedan hanterar loopen varje blad så att inget missas.
Varje flik återskapas och fylls. Flödet tar bort standardfliken ”Sheet1”, skapar rätt målflik, läser rader från den matchande källfliken och skriver dem till målfliken så att allt hamnar där du förväntar dig.
Du kan enkelt ändra målfilsnamnet så att det inkluderar kundnamn eller datum utifrån dina behov. Se hela implementationsguiden nedan för anpassningsalternativ.
Steg-för-steg-implementeringsguide
Steg 1: Konfigurera manuell trigger
Ställ in arbetsflödet så att det startar manuellt, så att ni kan testa dupliceringen av kalkylarket vid behov.
- Lägg till triggernoden Manual Execution Start som startpunkt.
- Lämna triggerinställningarna som standard eftersom den inte kräver några parametrar.
Steg 2: Anslut Google Sheets och hämta metadata
Skapa målkalkylarket och hämta metadata från källkalkylarket.
- I Generate Destination Sheet ställer ni in Resource till
spreadsheetoch Title tillCopy of Master Spreadsheet. - Inloggningsuppgifter krävs: Anslut era
googleSheetsOAuth2Api-inloggningsuppgifter i Generate Destination Sheet. - I Fetch Spreadsheet Metadata ställer ni in URL till
https://sheets.googleapis.com/v4/spreadsheets/[YOUR_ID]. - Aktivera Send Headers och lägg till rubriken Accept med värdet
application/json. - Ställ in Authentication till
predefinedCredentialTypeoch Node Credential Type tillgoogleSheetsOAuth2Api. - Inloggningsuppgifter krävs: Anslut era
httpHeaderAuth- ochgoogleSheetsOAuth2Api-inloggningsuppgifter i Fetch Spreadsheet Metadata. - Koppla Manual Execution Start → Generate Destination Sheet → Fetch Spreadsheet Metadata.
[YOUR_ID] i Fetch Spreadsheet Metadata med det faktiska källkalkylarkets ID, annars misslyckas metadataförfrågan.Steg 3: Bygg och iterera listan över arkflikar
Tolka flikarna i källkalkylarket till en lista och iterera igenom dem i batchar.
- I Build Sheet List klistrar ni in den tillhandahållna JavaScript-koden för att mappa varje arks
title,sheetIdochindex. - Koppla Fetch Spreadsheet Metadata → Build Sheet List → Iterate Sheet Batches.
- Lämna inställningarna i Iterate Sheet Batches som standard för normal batchbearbetning.
Steg 4: Konfigurera skapande av flikar, läsning, skrivning och städning
Skapa motsvarande flikar i målkalkylarket, kopiera data från källan och ta bort standardfliken.
- I Create Target Tabs ställer ni in Operation till
createoch Title till={{ $('Iterate Sheet Batches').item.json.sheetName }}. - Ställ in Document ID till
={{ $('Generate Destination Sheet').item.json.spreadsheetId }}i Create Target Tabs. - I Read Source Sheet ställer ni in Document ID till
[YOUR_ID]och Sheet Name till={{ $('Iterate Sheet Batches').item.json.sheetName }}. - I Write Target Sheet ställer ni in Operation till
appendOrUpdate, Sheet Name till={{ $('Iterate Sheet Batches').item.json.sheetName }}och Document ID till={{ $('Generate Destination Sheet').item.json.spreadsheetUrl }}. - Granska schemat för Columns i Write Target Sheet och mappa fält till er data vid behov (standard är Column 1–Column 9).
- I Remove Default Tab ställer ni in Operation till
remove, Sheet Name tillSheet1och Document ID till={{ $('Generate Destination Sheet').item.json.spreadsheetUrl }}. - Iterate Sheet Batches skickar utdata parallellt till både Remove Default Tab och Create Target Tabs, och fortsätter sedan via Read Source Sheet → Write Target Sheet → tillbaka till Iterate Sheet Batches.
- Inloggningsuppgifter krävs: Anslut era
googleSheetsOAuth2Api-inloggningsuppgifter till alla Google Sheets-noder (Generate Destination Sheet, Create Target Tabs, Read Source Sheet, Write Target Sheet, Remove Default Tab).
Steg 5: Testa och aktivera ert arbetsflöde
Kör ett manuellt test för att bekräfta att målkalkylarket skapas och fylls korrekt.
- Klicka på Execute Workflow för att trigga Manual Execution Start.
- Verifiera att ett nytt kalkylark med namnet
Copy of Master Spreadsheetvisas i Google Drive. - Öppna den nya filen och bekräfta att varje källflik skapas och fylls med förväntade data.
- Bekräfta att standardfliken
Sheet1har tagits bort av Remove Default Tab. - När allt är verifierat växlar ni arbetsflödet till Active för användning i produktion.
Vanliga fallgropar
- Google Sheets-uppgifter kan gå ut eller kräva specifika behörigheter. Om något slutar fungera, börja med att kontrollera n8n:ens status för autentiseringsuppgifterna och din Google-kontos åtkomst till källkalkylarket.
- Om du använder Split in Batches (Loop Over Items) och bladen är stora varierar bearbetningstiderna. Öka batchstorlekar försiktigt och höj väntetider/timeouts om noder längre ned misslyckas på tomma svar.
- HTTP Request-anrop kan misslyckas om källkalkylarkets ID är fel eller om API-scope är för begränsad. Bekräfta kalkylarks-ID:t och verifiera sedan Google API-scopes i din OAuth-klient innan du antar att flödet är ”buggigt”.
Vanliga frågor
Cirka 30 minuter om din Google-åtkomst redan är på plats.
Nej. Du kopplar Google Sheets och klistrar in källkalkylarkets ID.
Ja. n8n har ett gratis self-hosted-alternativ och en gratis provperiod på n8n Cloud. Cloud-planer startar på 20 USD/månad för högre volym. Du behöver också ta hänsyn till eventuella begränsningar i Google API-användning, även om de flesta små team ligger väl inom dem.
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 obegränsade körningar men kräver grundläggande serverhantering.
Ja, och det är en av de mest användbara justeringarna. Du kan ändra steget ”Generate Destination Sheet” så att kalkylarkets titel byggs av ett kundnamn, ett deal-ID eller dagens datum. Vanliga anpassningar är att skapa en mapp i Google Drive per kund, lägga till en ”Audit”-flik och infoga en Timestamp-kolumn under skrivsteget.
Oftast är det utgången OAuth eller fel Google-konto. Återanslut Google Sheets-uppgiften i n8n och bekräfta sedan att samma konto kan öppna källkalkylarket i en webbläsare. Om HTTP Request-noden är den som fallerar kan det också bero på att rätt API-scope saknas eller att den pekar på ett kalkylarks-ID som har ändrats.
En typisk setup klarar dussintals flikar och tusentals rader utan större drama, men väldigt stora arbetsböcker tar längre tid att bearbeta. På n8n Cloud Starter begränsas du av månatliga körningar, inte av antal rader. Om du kör self-hosted finns ingen körningsgräns, så den praktiska gränsen blir dina serverresurser och Googles API-kvoter.
Ofta, ja – eftersom duplicering med flera flikar kräver loopar och noggrann mappning, och n8n hanterar den typen av logik snyggt utan att göra det till en labyrint av betalda steg. Du får också möjligheten att self-hosta, vilket är viktigt om du duplicerar mallar ofta. Zapier eller Make kan fungera för enkla jobb som ”kopiera ett blad”, men de blir snabbt klumpiga när du itererar över flikar och skriver många rader. Om du är osäker, tänk på volym: några kopior per månad är en sak, daglig generering är en annan. Prata med en automationsexpert så får du ett rakt svar för din setup.
När det här väl rullar blir mallduplicering en tråkig icke-händelse. Ärligt talat är det målet.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.