Tartalomjegyzék
A mai blogbejegyzésben a 2 Google Sheets összevonásának minden módja megtalálható. A VLOOKUP, INDEX/MATCH, QUERY és a Merge Sheets add-on segítségével frissítheti az egyik lap celláit a másik lap rekordjaiból a közös oszlopok egyezései alapján.
Google lapok egyesítése a VLOOKUP funkcióval
Az első dolog, amihez fordulhat, amikor két Google-táblázatot kell egyeztetnie és egyesítenie, a VLOOKUP funkció.
Szintaxis & használat
Ez a funkció egy megadott oszlopban keres egy bizonyos kulcsértéket, és a kapcsolódó rekordok egyikét ugyanabból a sorból egy másik táblázatba vagy lapra húzza.
Bár a Google Sheets VLOOKUP funkcióját általában az egyik legnehezebb funkciónak tartják, valójában elég egyszerű, sőt, ha egyszer megismeri.
Vessünk egy gyors pillantást az összetevőkre:
=VLOOKUP(search_key, range, index, [is_sorted])- search_key a keresett kulcsérték, amely lehet bármilyen szöveges karakterlánc, szám vagy cellahivatkozás.
- tartomány a cellák azon csoportja (vagy egy táblázat), ahol a következő adatokat keresi search_key és honnan fogja a kapcsolódó rekordokat kinyerni.
Megjegyzés: A VLOOKUP a Google Sheetsben mindig az első oszlopot vizsgálja be. tartomány a search_key .
- index az oszlop száma az adott oszlopon belül tartomány ahonnan az adatokat szeretné kinyerni.
Például, ha a keresendő tartomány A2:E20, és az E oszlopból kell adatokat szereznie, akkor írja be az 5-öt. De ha a tartomány D2:E20, akkor 2-t kell beírnia, hogy az E oszlopból kapjon rekordokat.
- [is_sorted] az egyetlen olyan argumentum, amelyet elhagyhatsz. Azt mondja meg, hogy a kulcsértékeket tartalmazó oszlop rendezett-e (TRUE) vagy sem (FALSE). Ha TRUE, akkor a függvény a legközelebbi egyezéssel dolgozik, ha FALSE - a teljes egyezéssel. Ha elhagyod, akkor alapértelmezés szerint TRUE-t használ.
Tipp: Van egy részletes útmutatónk a VLOOKUP-ról a Google Sheets-ben. Kérjük, nézze meg, hogy többet tudjon meg a funkcióról, a sajátosságairól & korlátokról, és további képletpéldákat kapjon.
Ezekkel az érvekkel a fejünkben használjuk a VLOOKUP-ot két Google-táblázat összevonására.
Tegyük fel, hogy van egy kis táblázatom a bogyókkal és azok azonosítóival a Sheet2-ben. A készlet elérhetősége azonban ismeretlen:
Nevezzük ezt a táblázatot fő táblázatnak, mivel az a célom, hogy kitöltsem.
Van egy másik táblázat is a Sheet1-ben, amely tartalmazza az összes adatot, beleértve a készlet elérhetőségét is:
A keresőtáblának fogom nevezni, mivel az adatok megszerzéséhez bele fogok nézni.
A Google Sheets VLOOKUP funkcióját fogom használni a 2 lap összevonására. A funkció mindkét táblázatban lévő bogyókkal egyezik, és a megfelelő "készlet" információt a keresésből a fő táblázatba húzza.
=VLOOKUP(B2,Sheet1!$B$2:$C$10,2,FALSE)
Íme, hogyan egyesít ez a képlet két Google-táblázatot pontosan:
- A B2 (fő lap) értékét keresi a B oszlopban a Sheet1 (kereső lap) B oszlopában.
Megjegyzés: Ne feledje, a VLOOKUP a megadott tartomány 1. oszlopát vizsgálja - Sheet1!$B$2:$C$10 .
Megjegyzés: Abszolút hivatkozásokat használok a tartományhoz, mivel a képletet az oszlopba másolom, és ezért szükségem van arra, hogy ez a tartomány minden sorban ugyanaz maradjon, hogy az eredmény ne törjön meg.
- A FALSE a végén azt mondja, hogy a B oszlopban (a keresési lapon) lévő adatok nincsenek rendezve, így csak a pontos egyezéseket veszi figyelembe.
- Ha van egyezés, a Google Sheets VLOOKUP a tartomány 2. oszlopából (C oszlop) húzza ki a kapcsolódó rekordot.
A VLOOKUP által visszaadott hibák elrejtése a Google Sheetsben - IFERROR
De mi van azokkal az #N/A hibákkal?
Azokban a sorokban látod őket, ahol a bogyóknak nincs egyezésük egy másik lapon, és nincs mit visszaadni. Szerencsére van rá mód, hogy az ilyen cellákat üresen tartsd helyette.
Csak csomagolja be a Google Sheets VLOOKUP-ot IFERROR-ral:
=IFERROR(VLOOKUP(B2,Sheet1!$B$2:$C$10,2,FALSE),"")
Tipp. A Google Sheets VLOOKUP egyéb hibáinak felderítése és javítása az ebben az útmutatóban található megoldások segítségével.
Match & a teljes oszlop rekordjainak frissítése egyszerre - ArrayFormula
Még egy dolgot szeretnék megemlíteni, hogyan lehet a Google Sheets adatokat egyszerre az egész oszlopra vonatkozóan egyeztetni és összevonni.
Semmi különös, csak egy újabb függvény - ArrayFormula.
Egyszerűen cserélje ki az egycellás kulcsrekordot a Google Sheets VLOOKUP-ban a teljes oszlopra, és helyezze ezt az egész képletet az ArrayFormula belsejébe:
=ArrayFormula(IFERROR(VLOOKUP(B2:B10,Sheet1!$B$2:$C$10,2,FALSE),"")))
Így nem kell lemásolnia a képletet az oszlopba. Az ArrayFormula rögtön a megfelelő eredményt adja vissza minden cellába.
Bár a VLOOKUP a Google Sheetsben tökéletes az ilyen egyszerű feladatokra, van néhány korlátja. Íme az egyik hátránya: nem tud balra nézni. Bármilyen tartományt is adunk meg, mindig az első oszlopot vizsgálja.
Így, ha 2 Google lapot kell egyesítenie, és az azonosítókat (1. oszlop adatai) a bogyók (2. oszlop) alapján kell kihúznia, a VLOOKUP nem segít. Egyszerűen nem lesz képes helyes képletet készíteni.
Ilyen esetekben lép be a játékba az INDEX MATCH for Google Sheets.
Match &; egyesíteni Google lapok segítségével INDEX MATCH duó
Az INDEX MATCH, vagy inkább INDEX & MATCH, valójában két különböző Google Sheets függvény. De amikor együtt használják őket, olyan, mint egy új szintű VLOOKUP.
Igen, a Google lapokat is összevonják: az egyik táblázat celláit frissítik egy másik táblázat rekordjaival a közös kulcsrekordok alapján.
De sokkal jobban csinálják, mivel figyelmen kívül hagyják a VLOOKUP összes korlátozását.
Ma nem fogom az összes alapot tárgyalni, mert ezt már megtettem ebben a blogbejegyzésben. De adok néhány INDEX MATCH képlet példát, hogy láthassa, hogyan működnek közvetlenül a Google táblázatokban. Ugyanazokat a mintatáblákat fogom használni, mint fentebb.
INDEX MATCH működés közben a Google Sheetsben
Először is egyesítsük ezeket a Google-lapokat, és frissítsük a készletek elérhetőségét az összes megfelelő bogyós gyümölcs esetében:
=INDEX(Sheet1!$C$1:$C$10,MATCH(B2,Sheet1!$B$1:$B$10,0))
Hogyan működik az INDEX & MATCH, ha így együtt használjuk?
- A MATCH megnézi a B2-t, és pontosan ugyanazt a rekordot keresi a B oszlopban a Sheet1-en. Ha megtalálta, visszaadja annak a sornak a számát, amely tartalmazza ezt az értéket - az én esetemben 10.
- Az INDEX is az 1. lap 10. sorába megy, csak egy másik oszlopból - C - veszi az értéket.
Most próbáljuk meg tesztelni az INDEX MATCH-t azzal szemben, amire a Google Sheets VLOOKUP nem képes - egyesítse a lapokat és frissítse a bal szélső oszlopot a szükséges azonosítókkal:
=INDEX(Sheet1!$A$2:$A$10,MATCH(B2,Sheet1!$B$2:$B$10,0))
Easy-peasy :)
Az INDEX MATCH által visszaadott hibák kezelése a Google Sheetsben
Menjünk tovább, és szabaduljunk meg a hibáktól az egyezés nélküli cellákban. Az IFERROR ismét segít. Csak tegyük a Google Sheets INDEX MATCH-t az első argumentumaként.
Példa 1.
=IFERROR(INDEX(Sheet1!$C$1:$C$10,MATCH(B2,Sheet1!$B$1:$B$10,0)),"")
2. példa.
=IFERROR(INDEX(Sheet1!$A$2:$A$10,MATCH(B2,Sheet1!$B$2:$B$10,0)),"")
Hogyan egyesítheti ezeket a Google-lapokat az INDEX MATCH használatával, és hogyan frissítheti egyszerre az összes cellát az egész oszlopban?
Nos... Nem. Van egy kis probléma: az ArrayFormula nem működik ezzel a kettővel.
Meg kell másolni az INDEX MATCH képletet az oszlopba, vagy használja a Google Sheets QUERY funkciót, mint egy alternatívát.
Összevonása Google lapok & cellák frissítése QUERY segítségével
A Google Sheets QUERY a legerősebb funkció a táblázatokban. Ezt a dolgot szem előtt tartva nem meglepő, hogy módot kínál a táblázatok egyfajta összevonására - match & értékek összevonása különböző lapokból.
=QUERY(data, query, [headers])Tipp: Ha még soha nem használtad a Google Sheets QUERY-t, ez a bemutató eligazít a sajátos nyelvezetében.
Mit kell a QUERY formula néz ki, hogy frissítse a Készlet oszlopot a tényleges adatokkal?
=QUERY(Sheet1!$A$2:$C$10, "select C where&Sheet4!$B2:$B$10&"""")
- Google Sheets QUERY nézi az én lookup lap (Sheet1 a rekordokat kell húzni a fő táblázat)
- és visszaadja az összes olyan cellát a C oszlopból, ahol a B oszlop megegyezik a fő táblázatomban lévő bogyókkal.
Hadd veszítsem el ezeket a hibákat a gyufa nélküli cellák esetében:
=IFERROR(QUERY(Sheet1!$A$2:$C$10, "select C where&Sheet4!$B2:$B$10&""""),"")
Nos, így már jobb :)
Táblázatok egyesítése különböző Google táblázatokból - IMPORTRANGE funkció
Van még egy funkció, amit szeretnék megemlíteni. Ez azért fontos, mert lehetővé teszi a különböző Google táblázatokban (fájlokban) található lapok egyesítését.
A funkció neve IMPORTRANGE:
=IMPORTRANGE("spreadsheet_url", "range_string")- az előbbi megy a linket, hogy a táblázat, ahol húzza az adatokat a
- az utóbbi megy a lap & az a tartomány, amelyet a táblázatból akarsz venni.
Megjegyzés: Nagyon ajánlom, hogy nézze át a Google-dokumentumokat erről a funkcióról, hogy ne maradjon le semmilyen fontos árnyalatáról.
Képzelje el, hogy a keresési lapja (a referenciaadatokkal) a 2. táblázatban (más néven keresési táblázat) van. A fő lapja az 1. táblázatban (fő táblázat) van.
Megjegyzés: Ahhoz, hogy az IMPORTRANGE működjön, mindkét fájlt össze kell kapcsolnia. És bár a Google Sheet javasol erre egy gombot, miután beírta a képletet egy cellába, és megnyomta a Írja be a címet. , az alábbi képletekhez ezt előzetesen meg kell tennie. Ez a lépésről-lépésre útmutató segít Önnek.
Az alábbiakban példákat mutatjuk be a Google lapok különböző fájlokból történő egyesítésére az IMPORTRANGE segítségével, az egyes funkciókkal, amelyeket ma már megtanultál.
Példa 1. IMPORTRANGE + VLOOKUP
Használja az IMPORTRAGE-t tartományként a VLOOKUP-ban 2 különálló Google-táblázat egyesítéséhez:
=ArrayFormula(IFERROR(VLOOKUP(B2:B10,IMPORTRANGE("//docs.google.com/spreadsheets/d/1Sq...j7o/edit", "Sheet1!$B$2:$C$10")),2,FALSE),""))
Példa 2. IMPORTRANGE + INDEX MATCH
Az INDEX MATCH & IMPORTRANGE esetében a képlet terjedelmesebbé válik, mivel kétszer kell hivatkoznia egy másik táblázatkezelőre: tartományként az INDEX és tartományként a MATCH esetében:
=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)),"")
Példa 3. IMPORTRANGE + QUERY
A képleteknek ez a tandemje a személyes kedvencem. Együtt használva szinte bármivel megbirkóznak a táblázatokban. A különálló táblázatokból származó Google-lapok összevonása sem kivétel.
=IFERROR(QUERY(IMPORTRANGE("//docs.google.com/spreadsheets/d/1Sq...j7o/edit", "Sheet1!$A$2:$C$10"), "select Col3 where&QUERY!$B2:$B$10&""""),"")
Whew!
Ez minden a függvények & képletek.
Szabadon választhatsz bármilyen függvényt & építsd fel a saját képletedet a fenti példák alapján...
vagy...
...próbálj ki egy speciális eszközt, amely egyesíti a Google lapokat helyetted! ;)
Formula nélküli módja az adatok illesztésének és egyesítésének - Merge Sheets add-on for Google Sheets
Ha nincs ideje képleteket készíteni vagy akár megtanulni, vagy ha egyszerűen csak a legegyszerűbb módot keresi az adatok közös rekordok alapján történő összekapcsolására, a Merge Sheets tökéletes lesz.
Mindössze annyit kell tennie, hogy 5 felhasználóbarát lépésben kipipálja a jelölőnégyzeteket:
- válassza ki a fő lapot
- válassza ki a keresési lapot
- jelölje meg a kulcsoszlopokat (azokat, amelyek a megfeleltetendő rekordokat tartalmazzák) jelölőnégyzetekkel.
- válassza ki a frissítendő oszlopokat:
Lehetőség van arra is, hogy az összes kiválasztott opciót elmentse egy forgatókönyvbe, és azt bármikor újra felhasználhassa:
Nézze meg ezt a 3 perces demóvideót, hogy megnézze, hogyan működik:
Javaslom, hogy telepítse a Google Sheets áruházból a Merge Sheets-t, és kövesse ezeket az utasításokat, hogy megpróbálja frissíteni a saját táblázatát egy másik lapból származó információkkal.
Táblázat képlet példákkal
Google sheets & összevonása; adatok frissítése - képlet példák (készítsen másolatot a fájlról)