Îmbinarea a 2 foi Google și actualizarea datelor pe baza înregistrărilor comune

  • Imparte Asta
Michael Brown

Postul de astăzi de pe blog prezintă toate modalitățile de fuzionare a 2 foi Google. Veți utiliza VLOOKUP, INDEX/MATCH, QUERY și add-on-ul Merge Sheets pentru a actualiza celulele dintr-o foaie din înregistrările din alta pe baza corespondențelor din coloanele comune.

    Îmbinarea foilor Google folosind funcția VLOOKUP

    Primul lucru la care puteți apela atunci când trebuie să potriviți și să unificați două foi Google este funcția VLOOKUP.

    Sintaxă & utilizare

    Această funcție caută într-o coloană pe care o specificați o anumită valoare cheie și extrage una dintre înregistrările aferente din același rând într-un alt tabel sau foaie.

    Deși VLOOKUP din Google Sheets este de obicei considerată una dintre funcțiile dificile, este de fapt destul de simplă și chiar ușoară odată ce o cunoașteți.

    Să aruncăm o privire rapidă asupra componentelor sale:

    =VLOOKUP(search_key, range, index, [is_sorted])
    • cheie_de_cercetare este valoarea cheie pe care o căutați. Aceasta poate fi orice șir de text, număr sau referință de celulă.
    • gama este acel grup de celule (sau un tabel) în care veți căuta cheie_de_cercetare și de unde veți extrage înregistrările aferente.

      Notă. VLOOKUP în Google Sheets scanează întotdeauna prima coloană a gama pentru cheie_de_cercetare .

    • index este numărul coloanei din cadrul coloanei respective gama de unde doriți să extrageți datele.

      De exemplu, dacă intervalul de căutare este A2:E20 și trebuie să obțineți datele din coloana E, introduceți 5. Dar dacă intervalul este D2:E20, va trebui să introduceți 2 pentru a obține înregistrări din coloana E.

    • [is_sorted] este singurul argument pe care îl puteți omite. Este folosit pentru a spune dacă coloana cu valorile cheie este sortată (TRUE) sau nu (FALSE). Dacă TRUE, funcția va lucra cu cea mai apropiată potrivire, dacă FALSE - cu una completă. Atunci când este omis, TRUE este folosit în mod implicit.

    Sfat. Avem un ghid detaliat dedicat VLOOKUP în Google Sheets. Vă rugăm să îl consultați pentru a afla mai multe despre această funcție, particularitățile & limitele sale și pentru a obține mai multe exemple de formule.

    Având în vedere aceste argumente, să folosim VLOOKUP pentru a uni două foi Google.

    Să presupunem că am un mic tabel cu fructe de pădure și ID-urile lor în Sheet2. Disponibilitatea stocului este însă necunoscută:

    Să numim acest tabel principal, deoarece scopul meu este de a-l completa.

    Există, de asemenea, un alt tabel în Sheet1 cu toate datele existente, inclusiv disponibilitatea stocurilor:

    Îl voi numi tabel de căutare, deoarece mă voi uita în el pentru a obține datele.

    Voi folosi funcția VLOOKUP din Google Sheets pentru a unifica aceste 2 foi. Funcția va potrivi boabele din ambele tabele și va extrage informațiile corespunzătoare "stocului" din căutare în tabelul principal.

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

    Iată cum fuzionează această formulă două foi Google exact:

    1. Se caută valoarea din B2 (foaia principală) în coloana B de pe foaia1 (foaia de căutare).

      Notă. Rețineți, VLOOKUP scanează prima coloană a intervalului specificat - Foaie1!$B$2:$C$10 .

      Notă. Folosesc referințe absolute pentru interval deoarece copiez formula în josul coloanei și, prin urmare, am nevoie ca acest interval să rămână același în fiecare rând pentru ca rezultatul să nu se întrerupă.

    2. FALSE de la sfârșit indică faptul că datele din coloana B (din foaia de căutare) nu sunt sortate, astfel încât vor fi luate în considerare doar corespondențele exacte.
    3. Odată ce există o potrivire, Google Sheets VLOOKUP extrage înregistrarea conexă din a doua coloană a intervalului respectiv (coloana C).

    Ascundeți erorile returnate de VLOOKUP în Google Sheets - IFERROR

    Dar cum rămâne cu acele erori #N/A?

    Le vedeți în acele rânduri în care boabele nu au corespondențe în altă foaie și nu există nimic de returnat. Din fericire, există o modalitate de a păstra astfel de celule goale în schimb.

    Pur și simplu înfășurați VLOOKUP-ul din Google Sheets în IFERROR:

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

    Sfat. Prindeți și remediați alte erori pe care le poate returna VLOOKUP-ul din Google Sheets folosind soluțiile din acest ghid.

    Potriviți & actualizați înregistrările pentru întreaga coloană deodată - ArrayFormula

    Încă un lucru pe care aș dori să îl menționez este cum să potriviți și să fuzionați datele din Google Sheets pentru întreaga coloană deodată.

    Nimic deosebit aici, doar încă o funcție - ArrayFormula.

    Pur și simplu înlocuiți înregistrarea cheie cu o singură celulă în VLOOKUP din Google Sheets cu întreaga coloană și puneți întreaga formulă în ArrayFormula:

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

    În acest fel, nu va fi nevoie să copiați formula în josul coloanei. ArrayFormula va returna imediat rezultatul corect în fiecare celulă.

    Deși VLOOKUP din Google Sheets este perfect pentru astfel de sarcini simple, are unele limite. Iată unul dintre dezavantaje: nu se poate uita în stânga sa. Indiferent de intervalul pe care îl indicați, acesta scanează întotdeauna prima sa coloană.

    Astfel, dacă trebuie să unificați 2 foi Google și să extrageți ID-uri (datele din prima coloană) pe baza boabelor (a doua coloană), VLOOKUP nu vă va ajuta. Pur și simplu nu veți putea construi o formulă corectă.

    În astfel de cazuri, INDEX MATCH pentru Google Sheets intră în joc.

    Potriviți & îmbinați foile Google folosind duo INDEX MATCH

    INDEX MATCH, sau mai degrabă INDEX & MATCH, sunt de fapt două funcții diferite din Google Sheets. Dar când sunt folosite împreună, este ca un VLOOKUP de nivel superior.

    Da, de asemenea, fuzionează foile Google: actualizează celulele dintr-un tabel cu înregistrări dintr-un alt tabel pe baza înregistrărilor cheie comune.

    Dar ele fac asta mult mai bine, deoarece ignoră toate limitările pe care le are VLOOKUP.

    Nu voi acoperi toate elementele de bază astăzi, deoarece am făcut acest lucru în această postare pe blog. Dar vă voi da câteva exemple de formule INDEX MATCH, astfel încât să puteți vedea cum funcționează direct în foile de calcul Google. Voi folosi aceleași tabele de probă de mai sus.

    INDEX MATCH în acțiune în Google Sheets

    În primul rând, haideți să fuzionăm aceste foi Google și să actualizăm disponibilitatea stocurilor pentru toate fructele de pădure care se potrivesc:

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

    Cum funcționează INDEX & MATCH atunci când sunt folosite împreună în acest fel?

    1. MATCH se uită la B2 și caută exact aceeași înregistrare în coloana B de pe Foaia 1. Odată găsită, returnează numărul rândului care conține acea valoare - 10 în cazul meu.
    2. INDEX merge și el la acel al 10-lea rând de pe Foaia 1, numai că ia valoarea dintr-o altă coloană - C.

    Acum, să încercăm să testăm INDEX MATCH împotriva a ceea ce nu poate face VLOOKUP din Google Sheets - să fuzionăm foi și să actualizăm coloana din stânga cu ID-urile necesare:

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

    Ușor-ușor :)

    Gestionați erorile returnate de INDEX MATCH în Google Sheets

    Să mergem mai departe și să scăpăm de acele erori din celulele fără corespondențe. IFERROR vă va ajuta din nou. Puneți doar INDEX MATCH din Google Sheets ca prim argument.

    Exemplul 1.

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

    Exemplul 2.

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

    Acum, cum puteți unifica aceste foi Google folosind INDEX MATCH și să actualizați toate celulele din întreaga coloană deodată?

    Ei bine... Nu trebuie. Există o mică problemă: ArrayFormula nu funcționează cu aceste două.

    Va trebui să copiați formula INDEX MATCH pe coloană sau să utilizați funcția QUERY din Google Sheets ca alternativă.

    Îmbinarea foilor Google & actualizați celulele folosind QUERY

    Google Sheets QUERY este cea mai puternică funcție din foile de calcul. Ținând cont de acest lucru, nu este de mirare că oferă o modalitate de a unifica tabelele - potriviți & uniți valori din foi diferite.

    =QUERY(data, query, [headers])

    Sfat: Dacă nu ați mai folosit niciodată Google Sheets QUERY, acest tutorial vă va ajuta să vă familiarizați cu limbajul său specific.

    Cum ar trebui să arate formula QUERY pentru a actualiza Stoc cu datele reale?

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

    • Google Sheets QUERY se uită la foaia mea de căutare (Sheet1 cu înregistrările de care am nevoie pentru a trage în tabelul meu principal)
    • și returnează toate acele celule din coloana C în care coloana B se potrivește cu fructele de pădure din tabelul meu principal

    Permiteți-mi să pierd aceste erori pentru celulele fără corespondență:

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

    Ei bine, așa e mai bine :)

    Îmbinarea tabelelor din diferite foi de calcul Google - funcția IMPORTRANGE

    Aș dori să mai menționez încă o funcție, care este importantă deoarece vă permite să unificați foi care se află în foi de calcul Google diferite (fișiere).

    Funcția se numește IMPORTRANGE:

    =IMPORTRANGE("spreadsheet_url", "range_string")
    • prima merge link-ul către foaia de calcul din care se extrag datele.
    • acesta din urmă merge foaia & intervalul pe care doriți să îl luați din acea foaie de calcul

    Notă. Vă recomand să parcurgeți documentele Google privind această funcție pentru a nu pierde nicio nuanță importantă a activității sale.

    Imaginați-vă că foaia de căutare (cu datele de referință) se află în foaia de calcul 2 (foaia de calcul de căutare). Foaia principală se află în foaia de calcul 1 (foaia de calcul principală).

    Notă. Pentru ca IMPORTRANGE să funcționeze, trebuie să conectați ambele fișiere. Și, deși Google Sheet sugerează un buton pentru asta imediat după ce introduceți formula într-o celulă și apăsați pe Introduceți , pentru formulele de mai jos este posibil să fie nevoie să faceți acest lucru în prealabil. Acest ghid pas cu pas vă va ajuta.

    Mai jos sunt prezentate exemplele de fuziune a foilor Google din fișiere diferite utilizând IMPORTRANGE cu fiecare funcție pe care ați învățat-o mai devreme astăzi.

    Exemplul 1. IMPORTRANGE + VLOOKUP

    Utilizați IMPORTRAGE ca interval în VLOOKUP pentru a unifica 2 foi de calcul Google separate:

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

    Exemplul 2. IMPORTRANGE + INDEX MATCH

    În ceea ce privește INDEX MATCH & IMPORTRANGE, formula devine mai voluminoasă deoarece trebuie să faceți referire la o altă foaie de calcul de două ori: ca interval pentru INDEX și ca interval pentru 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)),""),"")

    Exemplul 3. IMPORTRANGE + QUERY

    Acest tandem de formule este preferatul meu personal. Ele pot rezolva aproape orice în foile de calcul atunci când sunt folosite împreună. Fuzionarea foilor Google din foi de calcul separate nu face excepție.

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

    Whew!

    Asta e tot pentru funcții & formule.

    Sunteți liber să alegeți orice funcție & construiți propria formulă după exemplele de mai sus...

    sau...

    ...încercați un instrument special care combină foile Google pentru dumneavoastră! ;)

    Modul fără formule pentru a potrivi & fuziona date - Merge Sheets add-on pentru Google Sheets

    Dacă nu aveți timp să construiți sau chiar să învățați formule, sau dacă pur și simplu căutați cea mai simplă modalitate de a uni date pe baza înregistrărilor comune, Merge Sheets va fi perfect.

    Tot ce trebuie să faceți este să bifați căsuțele de control în 5 pași ușor de parcurs:

    1. selectați foaia principală
    2. selectați foaia de căutare
    3. marchează coloanele cheie (cele care conțin înregistrări de comparat) cu casete de selectare
    4. alegeți coloanele de actualizat:

  • adaptați opțiuni suplimentare, de exemplu, marcați înregistrările actualizate cu o culoare sau într-o coloană de stare etc.
  • Există chiar și posibilitatea de a salva toate opțiunile selectate într-un scenariu și de a-l reutiliza ori de câte ori aveți nevoie:

    Urmăriți acest videoclip demonstrativ de 3 minute pentru a vedea cum funcționează:

    Vă încurajez să vă instalați foile Merge Sheets din magazinul Google Sheets și să urmați aceste instrucțiuni pentru a încerca să vă actualizați propriul tabel cu informațiile dintr-o altă foaie.

    Foaie de calcul cu exemple de formule

    Îmbinarea foilor Google & actualizați datele - exemple de formule (faceți o copie a fișierului)

    Michael Brown este un pasionat de tehnologie dedicat, cu o pasiune pentru simplificarea proceselor complexe folosind instrumente software. Cu mai mult de un deceniu de experiență în industria tehnologiei, el și-a perfecționat abilitățile în Microsoft Excel și Outlook, precum și în Google Sheets și Docs. Blogul lui Michael este dedicat împărtășirii cunoștințelor și experienței sale cu alții, oferind sfaturi și tutoriale ușor de urmat pentru îmbunătățirea productivității și eficienței. Indiferent dacă sunteți un profesionist experimentat sau un începător, blogul lui Michael oferă informații valoroase și sfaturi practice pentru a profita la maximum de aceste instrumente software esențiale.