Flette 2 Google-ark og opdatere data baseret på fælles poster

  • Del Dette
Michael Brown

Dagens blogindlæg indeholder alle måder at flette 2 Google Sheets på. Du vil bruge VLOOKUP, INDEX/MATCH, QUERY og Merge Sheets add-on til at opdatere celler i et ark fra poster fra et andet ark baseret på match i fælles kolonner.

    Sammenlægning af Google-ark ved hjælp af VLOOKUP-funktionen

    Den første ting, som du måske bruger, når du skal matche og flette to Google-ark, er VLOOKUP-funktionen.

    Syntaks & brug

    Denne funktion søger i en kolonne, du angiver, efter en bestemt nøgleværdi og trækker en af de relaterede poster fra den samme række ind i en anden tabel eller et andet ark.

    Selvom Google Sheets VLOOKUP normalt betragtes som en af de svære funktioner, er den faktisk ret ligetil og endda let, når du først lærer den at kende.

    Lad os tage et hurtigt kig på dens komponenter:

    =VLOOKUP(search_key, range, index, [is_sorted])
    • search_key er den nøgleværdi, du leder efter. Det kan være en tekststreng, et tal eller en cellehenvisning.
    • rækkevidde er den gruppe af celler (eller en tabel), hvor du vil søge efter den search_key og hvor du vil hente de relaterede poster fra.

      Bemærk. VLOOKUP i Google Sheets gennemgår altid den første kolonne i rækkevidde for den search_key .

    • indeks er nummeret på kolonnen i den pågældende rækkevidde hvor du ønsker at hente dataene fra.

      Hvis det område, du vil søge i, f.eks. er A2:E20, og det er kolonne E, du skal hente data fra, skal du indtaste 5. Men hvis dit område er D2:E20, skal du indtaste 2 for at hente poster fra kolonne E.

    • [is_sorted] er det eneste argument, som du kan udelade. Det bruges til at angive, om kolonnen med nøgleværdier er sorteret (TRUE) eller ej (FALSE). Hvis TRUE, vil funktionen arbejde med det nærmeste match, hvis FALSE - med et komplet match. Hvis det udelades, bruges TRUE som standard.

    Tip. Vi har en detaljeret vejledning om VLOOKUP i Google Sheets. Tjek den ud for at lære mere om funktionen, dens særheder & begrænsninger og få flere eksempler på formler.

    Med disse argumenter i baghovedet kan vi bruge VLOOKUP til at flette to Google-ark.

    Lad os antage, at jeg har en lille tabel med bær og deres ID'er i ark2. Lagertilgængeligheden er dog ukendt:

    Lad os kalde denne tabel for den vigtigste, da mit mål er at udfylde den.

    Der er også en anden tabel i Sheet1 med alle data på plads, herunder lagertilgængelighed:

    Jeg kalder det opslagsskemaet, da jeg vil kigge ind i det for at få dataene.

    Jeg vil bruge Google Sheets VLOOKUP-funktionen til at flette disse 2 ark. Funktionen vil matche bær i begge tabeller og trække de tilsvarende "lageroplysninger" fra opslaget ind i hovedtabellen.

    =VLOOKUP(B2,Sheet1!$B$2:$C$10,2,FALSE)

    Her kan du se, hvordan denne formel sammenføjer to Google-ark nøjagtigt:

    1. Den leder efter værdien fra B2 (hovedark) i kolonne B på ark 1 (opslagsark).

      Bemærk. Husk, at VLOOKUP scanner den 1. kolonne i det angivne område - Ark1!$B$2:$C$10 .

      Bemærk. Jeg bruger absolutte referencer til området, fordi jeg kopierer formlen ned i kolonnen, og derfor skal dette område forblive det samme i hver række, så resultatet ikke går i stykker.

    2. FALSE til sidst siger, at data i kolonne B (i opslagsarket) ikke er sorteret, så kun nøjagtige matches vil blive taget i betragtning.
    3. Når der er et match, trækker Google Sheets VLOOKUP den relaterede post fra den anden kolonne i det pågældende område (kolonne C).

    Skjul fejl, der returneres af VLOOKUP i Google Sheets - IFERROR

    Men hvad med disse #N/A-fejl?

    Du kan se dem i de rækker, hvor bær ikke har overenskomster i et andet ark, og hvor der ikke er noget at returnere. Heldigvis er der en måde at holde sådanne celler tomme i stedet.

    Du skal blot indpakke din Google Sheets VLOOKUP i IFERROR:

    =IFERROR(VLOOKUP(B2,Sheet1!$B$2:$C$10,2,FALSE),""")

    Tip. Fange og rette andre fejl, som din Google Sheets VLOOKUP kan returnere, ved hjælp af løsninger fra denne vejledning.

    Match & opdaterer poster for hele kolonnen på én gang - ArrayFormula

    En ting mere, som jeg gerne vil nævne, er, hvordan du kan matche og flette Google Sheets-data for hele kolonnen på én gang.

    Der er ikke noget smart her, blot endnu en funktion - ArrayFormula.

    Du skal blot erstatte din nøglepost med én celle i Google Sheets VLOOKUP med hele kolonnen og placere hele formlen i ArrayFormula:

    =ArrayFormula(IFERROR(VLOOKUP(B2:B10,Sheet1!$B$2:$C$10,2,FALSE),"""))

    På denne måde behøver du ikke at kopiere formlen ned i kolonnen. ArrayFormula returnerer det korrekte resultat til hver celle med det samme.

    Selv om VLOOKUP i Google Sheets er perfekt til sådanne enkle opgaver, har den nogle begrænsninger. Her er en af ulemperne: Den kan ikke se til venstre. Uanset hvilket område du angiver, gennemgår den altid den første kolonne.

    Hvis du skal flette 2 Google-ark og trække ID'er (data i 1. kolonne) ud fra bær (2. kolonne), hjælper VLOOKUP ikke. Du vil bare ikke være i stand til at lave en korrekt formel.

    I tilfælde som dette kommer INDEX MATCH til Google Sheets ind i spillet.

    Match & sammenlæg Google-ark ved hjælp af INDEX MATCH duo

    INDEX MATCH, eller rettere INDEX & MATCH, er faktisk to forskellige Google Sheets-funktioner. Men når de bruges sammen, er det som en VLOOKUP på næste niveau.

    Ja, de fletter også Google-ark sammen: Opdater celler i en tabel med poster fra en anden tabel baseret på fælles nøgleposter.

    Men de gør det meget bedre, da de ignorerer alle de begrænsninger, som VLOOKUP har.

    Jeg vil ikke dække alle de grundlæggende principper i dag, for det har jeg gjort i dette blogindlæg. Men jeg vil give dig et par eksempler på INDEX MATCH-formler, så du kan se, hvordan de fungerer direkte i Google-regneark. Jeg vil bruge de samme eksempeltabeller som ovenfor.

    INDEX MATCH i aktion i Google Sheets

    Lad os først slå disse Google-ark sammen og opdatere lagertilgængeligheden for alle matchende bær:

    =INDEX(Ark1!$C$1:$C$10,MATCH(B2,Ark1!$B$1:$B$10,0))

    Hvordan fungerer INDEX & MATCH, når de bruges sammen på denne måde?

    1. MATCH ser på B2 og søger efter nøjagtig den samme post i kolonne B på ark 1. Når den er fundet, returnerer den nummeret på den række, der indeholder den pågældende værdi - 10 i mit tilfælde.
    2. INDEX går også til den 10. række på ark 1, men den tager værdien fra en anden kolonne - C.

    Lad os nu prøve at teste INDEX MATCH i forhold til det, som Google Sheets VLOOKUP ikke kan gøre - nemlig at flette ark og opdatere kolonnen længst til venstre med de krævede ID'er:

    =INDEX(Ark1!$A$2:$A$10,MATCH(B2,Ark1!$B$2:$B$10,0))

    Let-let :)

    Håndtering af fejl, der returneres af INDEX MATCH i Google Sheets

    Lad os gå videre og slippe af med fejlene i celler uden match. IFERROR hjælper igen. Du skal blot indsætte dit Google Sheets INDEX MATCH som det første argument.

    Eksempel 1.

    =IFERROR(INDEX(Ark1!$C$1:$C$10,MATCH(B2,Ark1!$B$1:$B$10,0)),""")

    Eksempel 2.

    =IFERROR(INDEX(Ark1!$A$2:$A$10,MATCH(B2,Ark1!$B$2:$B$10,0)),""")

    Hvordan fletter du nu disse Google-ark sammen ved hjælp af INDEX MATCH og opdaterer alle celler i hele kolonnen på én gang?

    Der er et lille problem: ArrayFormula fungerer ikke med disse to.

    Du skal kopiere INDEX MATCH-formlen ned i kolonnen eller bruge Google Sheets QUERY-funktionen som et alternativ.

    Sammenlægning af Google-ark &; opdater celler ved hjælp af QUERY

    Google Sheets QUERY er den mest kraftfulde funktion i regneark. Det er derfor ikke overraskende, at den tilbyder en måde at slå tabeller sammen på - matche & sammenlægge værdier fra forskellige ark.

    =QUERY(data, forespørgsel, [headers])

    Tip. Hvis du aldrig har brugt Google Sheets QUERY før, kan du i denne vejledning få hjælp til at gennemskue det specielle sprog.

    Hvordan skal QUERY-formlen se ud for at opdatere Lager kolonne med de faktiske data?

    =QUERY(Sheet1!$A$2:$C$10, "select C where&Sheet4!$B2:$B$10&"""")

    • Google Sheets QUERY ser på mit opslagsark (Sheet1 med de poster, som jeg skal trække til min hovedtabel)
    • og returnerer alle de celler fra kolonne C, hvor kolonne B matcher bær i min hovedtabel

    Lad mig lige fjerne disse fejl for celler uden match:

    =IFERROR(QUERY(Sheet1!$A$2:$C$10, "select C where&Sheet4!$B2:$B$10&"""),"""),"")

    Nå, det er bedre :)

    Sammenlægning af tabeller fra forskellige Google-regneark - IMPORTRANGE-funktionen

    Der er endnu en funktion, som jeg gerne vil nævne, og som er vigtig, fordi den giver dig mulighed for at flette ark, der ligger i forskellige Google-regneark (filer).

    Funktionen hedder IMPORTRANGE:

    =IMPORTRANGE("spreadsheet_url", "range_string")
    • førstnævnte er linket til det regneark, hvor du trækker dataene fra
    • sidstnævnte går til ark & det område, som du ønsker at tage fra dette regneark

    Bemærk. Jeg anbefaler stærkt at gennemgå Google docs om denne funktion, så du ikke går glip af nogen vigtige nuancer af dens arbejde.

    Forestil dig, at dit opslagsark (med referencedata) er i regneark 2 (også kaldet opslagsark), mens dit hovedark er i regneark 1 (hovedregneark).

    Bemærk: For at IMPORTRANGE kan fungere, skal du forbinde begge filer. Og mens Google Sheet foreslår en knap til det, lige efter du har skrevet din formel i en celle og trykket Indtast , for nedenstående formler skal du måske gøre det på forhånd. Denne trinvise vejledning vil hjælpe dig.

    Nedenfor er der eksempler på at flette Google-ark fra forskellige filer ved hjælp af IMPORTRANGE med hver funktion, du har lært tidligere i dag.

    Eksempel 1. IMPORTRANGE + VLOOKUP

    Brug IMPORTRAGE som et interval i VLOOKUP til at flette 2 separate Google-regneark:

    =ArrayFormula(IFERROR(VLOOKUP(B2:B10,IMPORTRANGE("//docs.google.com/spreadsheets/d/1Sq...j7o/edit", "Sheet1!$B$2:$C$10"),2,FALSE),"""))

    Eksempel 2. IMPORTRANGE + INDEX MATCH

    Med hensyn til INDEX MATCH & IMPORTRANGE bliver formlen mere omfangsrig, da du skal henvise til et andet regneark to gange: som et interval for INDEX og som et interval for MATCH:

    =IFERROR(INDEX(IMPORTRANGE("//docs.google.com/spreadsheets/d/1Sq...j7o/edit", "Sheet1!$A$1:$A$10"),MATCH(B2,IMPORTRANGE("//docs.google.com/spreadsheets/d/1Sq...j7o/edit", "Sheet1!$B$2:$B$10"),0)),""),"")

    Eksempel 3. IMPORTRANGE + QUERY

    Dette tandem af formler er min personlige favorit. De kan håndtere næsten alt i regneark, når de bruges sammen. Sammenlægning af Google-ark fra separate regneark er ikke en undtagelse.

    =IFERROR(QUERY(IMPORTRANGE("//docs.google.com/spreadsheets/d/1Sq....j7o/edit", "Sheet1!$A$2:$C$10"), "select Col3 where&QUERY!$B2:$B$10&"""),"""),"")

    Whew!

    Det er alt for funktioner & formler.

    Du kan frit vælge en hvilken som helst funktion & opbyg din egen formel ud fra ovenstående eksempler...

    eller...

    ...prøv et særligt værktøj, der samler Google-ark for dig! ;)

    Formel-fri måde at matche & flette data på - Tilføjelse til Google Sheets: Merge Sheets add-on til Google Sheets

    Hvis du ikke har tid til at lave eller lære formler, eller hvis du blot leder efter den nemmeste måde at sammenføje data baseret på fælles poster på, er Merge Sheets perfekt.

    Det eneste, du skal gøre, er at sætte kryds i afkrydsningsfelterne i 5 brugervenlige trin:

    1. vælg dit hovedark
    2. vælg dit opslagsark
    3. markere nøglekolonner (de kolonner, der indeholder poster, der skal matches) med afkrydsningsfelter
    4. vælge de kolonner, der skal opdateres:

  • justere yderligere indstillinger, f.eks. markere opdaterede poster med farve eller i en statuskolonne osv.
  • Der er endda mulighed for at gemme alle de valgte indstillinger i et scenarie og genbruge det, når du har brug for det:

    Se denne demovideo på 3 minutter for at se, hvordan det fungerer:

    Jeg opfordrer dig til at installere dine sammenlægningsark fra Google Sheets-butikken og følge disse instruktioner for at forsøge at opdatere din egen tabel med oplysninger fra et andet ark.

    Regneark med eksempler på formler

    Sammenlægning af Google ark & opdatering af data - eksempler på formler (lav en kopi af filen)

    Michael Brown er en dedikeret teknologientusiast med en passion for at forenkle komplekse processer ved hjælp af softwareværktøjer. Med mere end ti års erfaring i teknologibranchen har han finpudset sine færdigheder i Microsoft Excel og Outlook samt Google Sheets og Docs. Michaels blog er dedikeret til at dele sin viden og ekspertise med andre og giver nemme at følge tips og vejledninger til at forbedre produktiviteten og effektiviteten. Uanset om du er en erfaren professionel eller nybegynder, tilbyder Michaels blog værdifuld indsigt og praktiske råd til at få mest muligt ud af disse vigtige softwareværktøjer.