Inhoudsopgave
De blogpost van vandaag bevat alle manieren om 2 Google Sheets samen te voegen. U gebruikt VLOOKUP, INDEX/MATCH, QUERY en Merge Sheets add-on om cellen in het ene blad bij te werken vanuit records in een ander blad op basis van overeenkomsten in gemeenschappelijke kolommen.
Google-sheets samenvoegen met de VLOOKUP-functie
Het eerste waartoe u zich kunt wenden wanneer u twee Google-sheets moet matchen en samenvoegen is de VLOOKUP-functie.
Syntax & gebruik
Deze functie doorzoekt een kolom die u opgeeft voor een bepaalde sleutelwaarde en haalt een van de gerelateerde records uit dezelfde rij op in een andere tabel of blad.
Hoewel Google Sheets VLOOKUP gewoonlijk wordt beschouwd als een van de moeilijke functies, is het eigenlijk vrij eenvoudig en zelfs gemakkelijk als je het eenmaal leert kennen.
Laten we even kijken naar de onderdelen ervan:
=VLOOKUP(search_key, range, index, [is_sorted])- zoeksleutel is de sleutelwaarde die u zoekt. Het kan een tekststring, een getal of een celverwijzing zijn.
- reeks is die groep cellen (of een tabel) waar u de zoeksleutel en waar u de gerelateerde records vandaan haalt.
Opmerking. VLOOKUP in Google Sheets scant altijd de eerste kolom van de reeks voor de zoeksleutel .
- index is het nummer van de kolom binnen die reeks waar u de gegevens vandaan wilt halen.
Bijvoorbeeld, als uw te doorzoeken bereik A2:E20 is en het is kolom E waaruit u de gegevens moet halen, voert u 5 in. Maar als uw bereik D2:E20 is, moet u 2 invoeren om records uit kolom E te halen.
- [is_gesorteerd] is het enige argument dat u kunt weglaten. Het wordt gebruikt om aan te geven of de kolom met sleutelwaarden gesorteerd is (TRUE) of niet (FALSE). Indien TRUE, werkt de functie met de dichtstbijzijnde overeenkomst, indien FALSE - met een volledige. Indien weggelaten, wordt standaard TRUE gebruikt.
Tip: we hebben een gedetailleerde gids gewijd aan VLOOKUP in Google Sheets. Bekijk deze om meer te leren over de functie, de bijzonderheden & grenzen, en meer formulevoorbeelden.
Met deze argumenten in gedachten, laten we VLOOKUP gebruiken om twee Google sheets samen te voegen.
Stel, ik heb een kleine tabel met bessen en hun ID's in Blad2. De beschikbaarheid van de voorraad is echter onbekend:
Laten we deze tabel de hoofdtabel noemen, omdat het mijn bedoeling is hem in te vullen.
Er is ook een andere tabel in Blad1 met alle gegevens, inclusief de beschikbaarheid van de voorraad:
Ik noem het de opzoektabel, omdat ik erin zal kijken om de gegevens te krijgen.
Ik zal de Google Sheets VLOOKUP functie gebruiken om deze 2 bladen samen te voegen. De functie zal de bessen in beide tabellen matchen, en de overeenkomstige "voorraad" info uit de lookup in de hoofdtabel trekken.
=VLOOKUP(B2,Sheet1!$B$2:$C$10,2,FALSE)
Dit is hoe deze formule twee Google bladen precies samenvoegt:
- Het zoekt naar de waarde van B2 (hoofdblad) in kolom B op blad1 (opzoekblad).
Opmerking. Vergeet niet dat VLOOKUP de 1e kolom van het opgegeven bereik scant - Blad1!$B$2:$C$10 .
Opmerking: ik gebruik absolute referenties voor het bereik omdat ik de formule naar beneden in de kolom kopieer en daarom moet dit bereik in elke rij hetzelfde blijven zodat het resultaat niet breekt.
- FALSE aan het eind zegt dat de gegevens in kolom B (in het opzoekblad) niet gesorteerd zijn, zodat alleen exacte overeenkomsten in aanmerking worden genomen.
- Zodra er een overeenkomst is, haalt Google Sheets VLOOKUP het gerelateerde record uit de tweede kolom van dat bereik (kolom C).
Verberg fouten die terugkomen door VLOOKUP in Google Sheets - IFERROR
Maar hoe zit het met die #N/A fouten?
Je ziet ze in die rijen waar bessen geen overeenkomsten hebben in een ander blad en er is niets om terug te geven. Gelukkig is er een manier om zulke cellen leeg te houden.
Wikkel uw Google Sheets VLOOKUP gewoon in IFERROR:
=IFERROR(VLOOKUP(B2,Sheet1!$B$2:$C$10,2,FALSE),"")
Tip. Trap en repareer andere fouten die uw Google Sheets VLOOKUP kan retourneren met behulp van oplossingen uit deze gids.
Match & records voor de hele kolom in één keer bijwerken - ArrayFormula
Nog één ding dat ik wil noemen is hoe je Google Sheets-gegevens voor de hele kolom in één keer kunt matchen en samenvoegen.
Niets bijzonders hier, gewoon nog een functie - ArrayFormula.
Vervang in Google Sheets VLOOKUP gewoon uw sleutelrecord met één cel door de hele kolom en plaats deze hele formule in ArrayFormula:
=ArrayFormula(IFERROR(VLOOKUP(B2:B10,Sheet1!$B$2:$C$10,2,FALSE),"")
Zo hoeft u de formule niet naar beneden in de kolom te kopiëren. ArrayFormula geeft meteen het juiste resultaat in elke cel.
Hoewel VLOOKUP in Google Sheets perfect is voor dergelijke eenvoudige taken, heeft het enkele beperkingen. Hier is een van de nadelen: het kan niet naar links kijken. Welk bereik u ook aangeeft, het scant altijd de eerste kolom.
Als u dus 2 Google-sheets moet samenvoegen en ID's (gegevens in de eerste kolom) moet trekken op basis van beslagen (tweede kolom), zal VLOOKUP niet helpen. U zult gewoon niet in staat zijn een correcte formule op te stellen.
In dit soort gevallen komt INDEX MATCH voor Google Sheets in beeld.
Google bladen matchen & samenvoegen met behulp van INDEX MATCH duo
INDEX MATCH, of eigenlijk INDEX & MATCH, zijn eigenlijk twee verschillende Google Sheets-functies. Maar wanneer ze samen worden gebruikt, is het net een VLOOKUP op een hoger niveau.
Ja, ze voegen ook Google sheets samen: cellen in een tabel bijwerken met records uit een andere tabel op basis van gemeenschappelijke sleutelrecords.
Maar ze doen dat veel beter omdat ze al die beperkingen van VLOOKUP negeren.
Ik zal vandaag niet alle basisprincipes behandelen, omdat ik dat in deze blogpost heb gedaan. Maar ik zal u een paar INDEX MATCH formulevoorbeelden geven, zodat u kunt zien hoe ze direct in Google spreadsheets werken. Ik zal dezelfde voorbeeldtabellen van hierboven gebruiken.
INDEX MATCH in actie in Google Sheets
Laten we eerst die Google sheets samenvoegen en de voorraadbeschikbaarheid voor alle overeenkomende bessen bijwerken:
=INDEX(Blad1!$C$1:$C$10,MATCH(B2,Blad1!$B$1:$B$10,0))
Hoe werken INDEX & MATCH als ze zo samen worden gebruikt?
- MATCH kijkt naar B2 en zoekt naar exact hetzelfde record in kolom B op blad 1. Als het gevonden is, geeft het het nummer van de rij die die waarde bevat - 10 in mijn geval.
- INDEX gaat ook naar die 10e rij op Blad1, maar haalt de waarde uit een andere kolom - C.
Laten we nu proberen INDEX MATCH te testen tegen wat Google Sheets VLOOKUP niet kan - bladen samenvoegen en de meest linkse kolom bijwerken met de vereiste ID's:
=INDEX(Blad1!$A$2:$A$10,MATCH(B2,Blad1!$B$2:$B$10,0))
Easy-peasy :)
Fouten afhandelen die door INDEX MATCH in Google Sheets worden geretourneerd
Laten we verder gaan en ons ontdoen van die fouten in cellen zonder overeenkomsten. IFERROR zal weer helpen. Zet gewoon je Google Sheets INDEX MATCH als eerste argument.
Voorbeeld 1.
=IFERROR(INDEX(Sheet1!$C$1:$C$10,MATCH(B2,Sheet1!$B$1:$B$10,0)),"")
Voorbeeld 2.
=IFERROR(INDEX(Sheet1!$A$2:$A$10,MATCH(B2,Sheet1!$B$2:$B$10,0)),"")
Hoe voeg je nu die Google-bladen samen met behulp van INDEX MATCH en werk je alle cellen in de hele kolom tegelijk bij?
Er is een klein probleempje: ArrayFormula werkt niet met deze twee.
U moet de INDEX MATCH-formule kopiëren naar de kolom of de Google Sheets QUERY-functie gebruiken als alternatief.
Google sheets samenvoegen & cellen bijwerken met QUERY
Google Sheets QUERY is de krachtigste functie in spreadsheets. Met dit ding in gedachten is het geen verrassing dat het een manier biedt om soort van tabellen samen te voegen - match & waarden van verschillende bladen samenvoegen.
=QUERY(data, query, [headers])Tip. Als u nog nooit Google Sheets QUERY hebt gebruikt, zal deze handleiding u door de eigenaardige taal ervan loodsen.
Hoe moet de QUERY-formule eruit zien om de Voorraad kolom met de werkelijke gegevens?
=QUERY(Sheet1!$A$2:$C$10,"select C where&Sheet4!$B2:$B$10&"")
- Google Sheets QUERY kijkt naar mijn opzoekblad (Sheet1 met de records die ik naar mijn hoofdtabel moet trekken)
- en geeft alle cellen van kolom C terug waar kolom B overeenkomt met bessen in mijn hoofdtabel
Laat me die fouten voor cellen zonder overeenkomsten gewoon kwijtraken:
=IFERROR(QUERY(Sheet1!$A$2:$C$10,"select C where&Sheet4!$B2:$B$10&""),"")
Nou, dat is beter :)
Tabellen uit verschillende Google-spreadsheets samenvoegen - IMPORTRANGE-functie
Er is nog een functie die ik wil noemen. Die is belangrijk omdat je er bladen mee kunt samenvoegen die zich in verschillende Google-spreadsheets (bestanden) bevinden.
De functie heet IMPORTRANGE:
=IMPORTRANGE("spreadsheet_url","range_string")- de eerste gaat de link naar die spreadsheet waar je de gegevens vandaan haalt...
- de laatste gaat het blad & het bereik dat u uit die spreadsheet wilt halen
Opmerking: ik raad ten zeerste aan om Google-documenten over deze functie door te nemen, zodat je geen enkele belangrijke nuance van het werk ervan mist.
Stel dat uw opzoekblad (met de referentiegegevens) zich in Spreadsheet 2 (ook wel opzoekspreadsheet genoemd) bevindt. Uw hoofdblad bevindt zich in Spreadsheet 1 (hoofdspreadsheet).
Opmerking: om IMPORTRANGE te laten werken, moet u beide bestanden met elkaar verbinden. En hoewel Google Sheet daarvoor een knop voorstelt direct nadat u uw formule in een cel hebt getypt en op Ga naar voor de onderstaande formules moet je dat misschien vooraf doen. Deze stap-voor-stap gids zal je helpen.
Hieronder staan de voorbeelden om Google sheets uit verschillende bestanden samen te voegen met behulp van IMPORTRANGE met elke functie die je eerder vandaag hebt geleerd.
Voorbeeld 1. IMPORTRANGE + VLOOKUP
Gebruik IMPORTRAGE als een bereik in VLOOKUP om 2 afzonderlijke Google-spreadsheets samen te voegen:
=ArrayFormula(IFERROR(VLOOKUP(B2:B10,IMPORTRANGE("//docs.google.com/spreadsheets/d/1Sq...j7o/edit","Sheet1!$B$2:$C$10"),2,FALSE),"").
Voorbeeld 2. IMPORTRANGE + INDEX MATCH
Voor INDEX MATCH & IMPORTRANGE wordt de formule omvangrijker omdat u tweemaal naar een andere spreadsheet moet verwijzen: als een bereik voor INDEX en als een bereik voor 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),"").
Voorbeeld 3. IMPORTRANGE + QUERY
Deze tandem van formules is mijn persoonlijke favoriet. Ze kunnen bijna alles in spreadsheets aan wanneer ze samen worden gebruikt. Het samenvoegen van Google-sheets uit afzonderlijke spreadsheets is geen uitzondering.
=IFERROR(QUERY(IMPORTRANGE("//docs.google.com/spreadsheets/d/1Sq...j7o/edit","Sheet1!$A$2:$C$10"),"select Col3 where&QUERY!$B2:$B$10&""),"").
Oef!
Dat is alles voor functies & formules.
U bent vrij om elke functie & te kiezen; bouw uw eigen formule aan de hand van bovenstaande voorbeelden...
of...
...probeer een speciale tool die Google sheets voor je samenvoegt! ;)
Formulevrije manier om gegevens te matchen en samen te voegen - Add-on Samenvoegen voor Google Sheets
Als u geen tijd hebt om formules te maken of zelfs maar te leren, of als u gewoon op zoek bent naar de gemakkelijkste manier om gegevens samen te voegen op basis van gemeenschappelijke records, dan is Merge Sheets perfect.
U hoeft alleen maar de vakjes aan te vinken in 5 gebruiksvriendelijke stappen:
- kies uw hoofdblad
- selecteer uw lookup sheet
- belangrijke kolommen (die records bevatten die moeten overeenkomen) markeren met selectievakjes
- kies kolommen om bij te werken:
Er is zelfs een mogelijkheid om alle geselecteerde opties op te slaan in een scenario en het opnieuw te gebruiken wanneer je maar wilt:
Bekijk deze 3 minuten durende demonstratievideo om te zien hoe het werkt:
Ik moedig u aan om uw samenvoegbladen uit de Google Sheets-winkel te installeren en deze instructies te volgen om te proberen uw eigen tabel bij te werken met de info uit een ander blad.
Spreadsheet met formulevoorbeelden
Google sheets & samenvoegen; gegevens bijwerken - formulevoorbeelden (maak een kopie van het bestand)