INDEX MATCH în Google Sheets - o altă modalitate de căutare verticală

  • Imparte Asta
Michael Brown

Atunci când trebuie să găsiți în foaia dvs. date care corespund unei anumite înregistrări cheie, de obicei, la Google Sheets se apelează la VLOOKUP. Dar iată că VLOOKUP vă plesnește cu limitări aproape imediat. De aceea, ar fi bine să vă măriți resursele pentru această sarcină prin învățarea INDEX MATCH.

INDEX MATCH în Google Sheets este o combinație a două funcții: INDEX și MATCH. Atunci când sunt utilizate în tandem, acestea acționează ca o alternativă mai bună pentru VLOOKUP din Google Sheets. Să le aflăm capacitățile împreună în acest articol de blog. Dar mai întâi, aș dori să vă ofer un tur rapid al propriilor lor roluri în foile de calcul.

    Funcția MATCH din Google Sheets

    Aș dori să încep cu Google Sheets MATCH, deoarece este foarte simplu. Acesta scanează datele dvs. pentru o anumită valoare și returnează poziția acesteia:

    =MATCH(search_key, range, [search_type])
    • cheie_de_cercetare este înregistrarea pe care o căutați. Necesar.
    • gama este fie un rând, fie o coloană în care să se caute. Necesar.

      Notă: MATCH acceptă numai array-uri unidimensionale: fie rând sau coloană.

    • căutare_tip este opțional și definește dacă potrivirea trebuie să fie exactă sau aproximativă. Dacă este omis, valoarea este 1 în mod implicit:
      • 1 înseamnă că intervalul este sortat în ordine crescătoare. Funcția obține cea mai mare valoare mai mică sau egală cu valoarea ta cheie_de_cercetare .
      • 0 va face ca funcția să caute corespondența exactă în cazul în care intervalul nu este sortat.
      • -1 indică faptul că înregistrările sunt clasificate folosind sortarea descrescătoare. În acest caz, funcția obține cea mai mică valoare mai mare sau egală cu valoarea dvs. cheie_de_cercetare .

    Iată un exemplu: pentru a obține poziția unei anumite fructe de pădure în lista tuturor fructelor de pădure, am nevoie de următoarea formulă MATCH în foaia de calcul Google Sheets:

    =MATCH("Blueberry", A1:A10, 0)

    Funcția INDEX din Google Sheets

    În timp ce MATCH arată unde trebuie să căutați valoarea dvs. (locația sa în interval), funcția INDEX din Google Sheets extrage valoarea în sine pe baza distanțelor dintre rânduri și coloane:

    =INDEX(referință, [rând], [coloană])
    • referință este intervalul în care trebuie să te uiți. Necesar.
    • rând este numărul de rânduri care trebuie decalate de la prima celulă a intervalului. Opțional, 0 dacă se omite.
    • coloana , la fel ca rând , este numărul de coloane de decalaj. De asemenea, opțional, și 0 dacă este omis.

    Dacă specificați ambele argumente opționale (rând și coloană), Google Sheets INDEX va returna o înregistrare dintr-o celulă de destinație:

    =INDEX(A1:C10, 7, 1)

    Dacă săriți peste unul dintre aceste argumente, funcția va obține întregul rând sau întreaga coloană în mod corespunzător:

    =INDEX(A1:C10, 7)

    Cum se utilizează INDEX MATCH în Google Sheets - exemple de formule

    Atunci când INDEX și MATCH sunt utilizate împreună în foile de calcul, acestea sunt cele mai puternice. Ele pot înlocui în mod absolut VLOOKUP din Google Sheets și pot prelua înregistrarea necesară dintr-un tabel pe baza valorii cheie.

    Construiți prima dvs. formulă INDEX MATCH pentru Google Sheets

    Să presupunem că ați dori să obțineți informații despre stocurile de afine din același tabel pe care l-am folosit mai sus. Am schimbat doar coloanele B și C (veți afla de ce puțin mai târziu).

    1. Acum toate fructele de pădure sunt listate în coloana C. Funcția MATCH din Google Sheets vă va ajuta să găsiți rândul exact al afinei: 8

      =MATCH("Cranberry", C1:C10, 0)

    2. Pune toată formula MATCH la o rând în funcția INDEX:

      =INDEX(A1:C10, MATCH("Cranberry", C1:C10, 0))

      Aceasta va returna întregul rând cu afine.

    3. Dar, din moment ce aveți nevoie doar de informații despre acțiuni, specificați și numărul coloanei de căutare: 3

      =INDEX(A1:C10, MATCH("Cranberry", C1:C10,0), 2)

    4. Voila!

    5. Puteți merge mai departe și să renunțați la acel ultim indicator de coloană ( 2 ). Nu veți avea nevoie de ea deloc dacă utilizați doar coloana de căutare ( B1:B10 ) mai degrabă decât întregul tabel ( A1:C10 ) ca prim argument:

      =INDEX(B1:B10, MATCH("Cranberry", C1:C10, 0))

      Sfat. O modalitate mai comodă de a verifica disponibilitatea diferitelor fructe de pădure ar fi să le plasați într-o listă derulantă ( E2 ) și trimiteți funcția MATCH la celula cu lista respectivă:

      =INDEX(B1:B10, MATCH(E2, C1:C10, 0))

      Odată ce selectați boabele, valoarea aferentă se va modifica în mod corespunzător:

    De ce INDEX MATCH în Google Sheets este mai bun decât VLOOKUP

    Știți deja că Google Sheets INDEX MATCH caută valoarea dvs. într-un tabel și returnează o altă înregistrare conexă din același rând. Și știți că Google Sheets VLOOKUP face exact același lucru. Deci, de ce să vă deranjați?

    Chestia e că, INDEX MATCH are câteva avantaje majore peste VLOOKUP:

    1. Este posibilă căutarea pe partea stângă . am schimbat mai devreme locurile coloanelor pentru a ilustra acest lucru: funcția INDEX MATCH din Google Sheets poate căuta și caută în stânga coloanei de căutare. VLOOKUP caută întotdeauna prima coloană a intervalului și caută corespondențe în dreapta acesteia - altfel, primește doar erori #N/A:

    2. Nu mai există referințe încurcate la adăugarea de noi coloane și la mutarea celor existente. Dacă adăugați sau mutați coloane, INDEX MATCH va reflecta modificările în mod automat, fără a interveni în rezultat. Deoarece utilizați referințe de coloană, acestea sunt ajustate instantaneu de Google Sheets:

      Încercați să faceți acest lucru cu VLOOKUP: acesta necesită numărul de ordine și nu referințe de celule pentru o coloană de căutare. Astfel, veți sfârși prin a obține o valoare greșită, deoarece o altă coloană ocupă același loc - coloana 2 în exemplul meu:

    3. Consideră cazul textului atunci când este necesar (mai multe despre acest lucru chiar mai jos).
    4. Poate fi utilizat pentru o căutare verticală bazată pe criterii multiple.

    Vă invit să analizați în detaliu ultimele două puncte de mai jos.

    V-lookup sensibil la majuscule și minuscule cu INDEX MATCH în Google Sheets

    INDEX MATCH este o soluție de referință atunci când vine vorba de sensibilitatea la majuscule și minuscule.

    Să presupunem că toate fructele de pădure sunt vândute în două moduri - în vrac (cântărite la ghișeu) și ambalate în cutii. Prin urmare, există două apariții ale fiecărei fructe de pădure scrise în cazuri diferite în listă, fiecare cu propriul său ID care variază, de asemenea, în funcție de cazuri:

    Deci, cum puteți căuta informații despre stocurile de fructe de pădure vândute într-un anumit mod? VLOOKUP va returna primul nume pe care îl găsește, indiferent de caz.

    Din fericire, INDEX MATCH pentru Google Sheets poate face acest lucru în mod corect. Va trebui doar să utilizați o funcție suplimentară - FIND sau EXACT.

    Exemplul 1. FIND pentru Vlookup sensibil la majuscule și minuscule

    FIND este o funcție care face distincție între majuscule și minuscule în Google Sheets, ceea ce o face excelentă pentru căutarea verticală în funcție de majuscule și minuscule:

    =ArrayFormula(INDEX(B2:B19, MATCH(1, FIND(E2, C2:C19)), 0))

    Să vedem ce se întâmplă în această formulă:

    1. FIND scanează coloana C ( C2:C19 ) pentru înregistrarea de la E2 ( cireșe ) ținând cont de majuscula literelor. Odată localizată, formula "marchează" acea celulă cu un număr - 1 .
    2. MATCH caută această marcă - 1 - în aceeași coloană ( C ) și transmite numărul rândului său la INDEX.
    3. INDEX coboară până la rândul respectiv din coloana B ( B2:B19 ) și vă aduce înregistrarea necesară.
    4. Când terminați de construit formula, apăsați Ctrl+Shift+Enter pentru a adăuga ArrayFormula la început. Este necesară, deoarece fără ea FIND nu va putea căuta în array-uri (în mai multe celule). Sau puteți tasta ' ArrayFormula ' de pe tastatură.

    Exemplul 2. EXACT pentru Vlookup sensibil la majuscule și minuscule

    Dacă înlocuiți FIND cu EXACT, acesta din urmă va căuta înregistrări cu exact aceleași caractere, inclusiv cu majusculele din text.

    Singura diferență este că EXACT "marchează" o potrivire cu ADEVĂRAT mai degrabă decât numărul 1 Prin urmare, primul argument pentru MATCH ar trebui să fie ADEVĂRAT :

    =ArrayFormula(INDEX(B2:B19, MATCH(TRUE, EXACT(E2, C2:C19), 0))))

    Google Sheets INDEX MATCH cu mai multe criterii

    Ce se întâmplă dacă există mai multe condiții pe baza cărora doriți să obțineți înregistrarea?

    Să verificăm prețul cireșe care se vinde în PP găleți și este deja care se termină :

    Am aranjat toate criteriile în listele derulante din coloana F. Și este vorba de Google Sheets INDEX MATCH care acceptă criterii multiple, nu VLOOKUP. Iată formula pe care va trebui să o utilizați:

    =ArrayFormula(INDEX(B2:B24, MATCH(CONCATENATE(F2:F4), A2:A24&C2:C24&D2:D24, 0),))

    Nu intrați în panică! :) Logica sa este de fapt destul de simplă:

    1. CONCATENATE(F2:F4) combină toate cele trei înregistrări din celulele cu criterii într-un singur șir de caractere, după cum urmează:

      CherryPP bucketRunning out

      Acesta este un cheie_de_cercetare pentru MATCH sau, cu alte cuvinte, ceea ce căutați în tabel.

    2. A2:A24&C2:C24&D2:D24 constituie o gama pentru ca funcția MATCH să caute în. Deoarece toate cele trei criterii au loc în trei coloane separate, în acest fel le combinăm într-un fel:

      CherryCardboard trayÎn stoc

      CherryAmbalajele din filmNu mai este în stoc

      CherryPP bucketRunning out

      etc.

    3. Ultimul argument din MATCH - 0 - face posibilă găsirea unei corespondențe exacte pentru CherryPP bucketRunning out După cum vedeți, se află pe al treilea rând.
    4. Apoi, INDEX își face treaba: extrage înregistrarea din al treilea rând al coloanei B.
    5. ArrayFormula este utilizată pentru a permite altor funcții să lucreze cu array-uri.

    Sfat: Dacă formula dvs. nu găsește o potrivire, va returna o eroare. Pentru a evita acest lucru, puteți să includeți întreaga formulă în IFERROR (să fie primul argument) și să introduceți ceea ce doriți să vedeți într-o celulă în loc de erori ca al doilea argument:

    =IFERROR(ArrayFormula(INDEX(B2:B27, MATCH(CONCATENATE(F2:F4), A2:A27&C2:C27&D2:D27, 0),)), "Not found"), "Not found")

    O alternativă mai bună la INDEX MATCH în Google Sheets - Potriviri multiple VLOOKUP

    Oricare ar fi funcția de căutare pe care o preferați, VLOOKUP sau INDEX MATCH, există o alternativă mai bună la ambele.

    Multiple VLOOKUP Matches este un add-on special pentru Google Sheets conceput pentru:

    • căutare fără formule
    • căutare în toate direcțiile
    • căutare prin condiții multiple pentru diferite tipuri de date: text, numere, date, timp, etc.
    • să aduci mai multe chibrituri, atâtea câte ai nevoie (cu condiția să existe tot atâtea chibrituri în tabelul tău, desigur)

    Interfața este simplă, astfel încât nu va trebui să vă îndoiți dacă faceți totul corect:

    1. Selectați gama de surse.
    2. Setați numărul de meciuri și de coloane care trebuie returnate.
    3. Reglați condițiile cu ajutorul operatorilor predefiniți ( conține, =, nu este gol , între , etc.).

    De asemenea, veți putea să:

    • previzualizați rezultatul
    • decideți unde să o amplasați
    • și cum: ca o formulă sau doar valori

    Nu ratați această ocazie de a verifica acest add-on. Instalați-l din Google Workspace Marketplace. Pagina de tutorial vă va explica în detaliu fiecare opțiune.

    De asemenea, am pregătit un videoclip special de instruire:

    Ne vedem în comentariile de mai jos sau în următorul articol ;)

    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.