Satura rādītājs
Kad lapā nepieciešams atrast datus, kas atbilst noteiktam atslēgas ierakstam, parasti jūs vēršaties pie Google Sheets VLOOKUP. Bet te nu ir tā: VLOOKUP gandrīz uzreiz uzspiež jums ierobežojumus. Tāpēc labāk palieliniet uzdevuma resursus, apgūstot INDEX MATCH.
INDEX MATCH programmā Google Sheets ir divu funkciju kombinācija: INDEX un MATCH. Lietojot tās tandēmā, tās darbojas kā labāka alternatīva Google Sheets VLOOKUP. Šajā emuāra ierakstā uzzināsim par to iespējām kopā. Bet vispirms es vēlētos sniegt jums īsu ieskatu par to lomām izklājlapās.
Google Sheets MATCH funkcija
Es vēlētos sākt ar Google Sheets MATCH, jo tas ir ļoti vienkāršs. Tas skenē datus, meklējot konkrētu vērtību, un atgriež tās pozīciju:
=MATCH(search_key, range, [search_type])- search_key ir tas ieraksts, ko meklējat. Nepieciešams.
- diapazons ir vai nu rinda, vai sleja, kurā meklēt. Nepieciešams.
Piezīme. MATCH pieņem tikai viendimensiju masīvus: rindas vai kolonnas.
- search_type nav obligāts, un tas nosaka, vai atbilstībai jābūt precīzai vai aptuvenai. Ja šis parametrs nav norādīts, pēc noklusējuma tas ir 1:
- 1 nozīmē, ka diapazons ir sakārtots augošā secībā. Funkcija iegūst lielāko vērtību, kas ir mazāka vai vienāda ar jūsu vērtību. search_key .
- 0 funkcija meklēs precīzu atbilstību, ja diapazons nav sakārtots.
- -1 norāda, ka ieraksti tiek sakārtoti, izmantojot dilstošo šķirošanu. Šajā gadījumā funkcija iegūst mazāko vērtību, kas ir lielāka vai vienāda ar jūsu search_key .
Lūk, piemērs: lai iegūtu konkrētu ogu pozīciju visu ogu sarakstā, man ir nepieciešama šāda MATCH formula Google tabulās:
=MATCH("Blueberry", A1:A10, 0)
Google lapu INDEX funkcija
Kamēr MATCH parāda, kur meklēt vērtību (tās atrašanās vietu diapazonā), Google lapu INDEX funkcija iegūst pašu vērtību, pamatojoties uz tās rindu un kolonnu nobīžu:
=INDEX(atsauce, [rinda], [sleja])- atsauce ir diapazons, kurā meklēt. Pieprasīts.
- rinda ir rindu skaits, kas jānobīda no jūsu diapazona pirmās šūnas. Pēc izvēles, 0, ja nav norādīts.
- sleja , tāpat kā rinda , ir nobīdes kolonnu skaits. Arī nav obligāts, arī 0, ja izlaists.
Ja norādīsiet abus neobligātos argumentus (rindu un kolonnu), Google Apkārtraksts INDEX atgriezīs ierakstu no mērķa šūnas:
=INDEX(A1:C10, 7, 1)
Izlaidiet vienu no šiem argumentiem, un funkcija attiecīgi iegūs visu rindu vai kolonnu:
=INDEX(A1:C10, 7)
Kā lietot INDEX MATCH Google tabulās - formulas piemēri
Kad INDEX un MATCH tiek izmantoti kopā izklājlapās, tie ir visspēcīgākie. Tie var pilnībā aizstāt Google Sheets VLOOKUP un iegūt vajadzīgo ierakstu no tabulas, pamatojoties uz jūsu atslēgas vērtību.
Izveidojiet savu pirmo INDEX MATCH formulu Google tabulām
Pieņemsim, ka jūs vēlaties iegūt informāciju par dzērveņu krājumiem no tās pašas tabulas, ko izmantoju iepriekš. Es tikai nomainīju B un C slejas (vēlāk uzzināsiet, kāpēc).
- Tagad visas ogas ir uzskaitītas C slejā. Google lapu MATCH funkcija palīdzēs atrast precīzu dzērveņu rindu: 8
=MATCH("Dzērvene", C1:C10, 0)
- Ievietojiet visu šo MATCH formulu rinda arguments funkcijā INDEX:
=INDEX(A1:C10, MATCH("Cranberry", C1:C10, 0))
Šajā gadījumā tiks atgriezta visa rinda ar dzērvenēm.
- Bet, tā kā jums ir nepieciešama tikai informācija par krājumu, norādiet arī meklēšanas slejas numuru: 3
=INDEX(A1:C10, MATCH("Cranberry", C1:C10,0), 2)
- Voila!
- Varat iet vēl tālāk un atteikties no pēdējā kolonnas indikatora ( 2 ). Jums tas nebūs vajadzīgs, ja izmantosiet tikai meklēšanas kolonnu ( B1:B10 ), nevis visu tabulu ( A1:C10 ) kā pirmo argumentu:
=INDEX(B1:B10, MATCH("Cranberry", C1:C10, 0))
Padoms. Ērtāks veids, kā pārbaudīt dažādu ogu pieejamību, būtu ievietot tās nolaižamajā sarakstā ( E2 ) un norādiet savu funkciju MATCH uz šūnas ar šo sarakstu:
=INDEX(B1:B10, MATCH(E2, C1:C10, 0))
Pēc ogu atlasīšanas attiecīgi mainīsies arī saistītā vērtība:
Kāpēc INDEX MATCH Google tabulās ir labāka nekā VLOOKUP
Jūs jau zināt, ka Google Sheets INDEX MATCH meklē jūsu vērtību tabulā un atgriež citu saistītu ierakstu no tās pašas rindas. Un jūs zināt, ka Google Sheets VLOOKUP dara tieši to pašu. Tad kāpēc gan to darīt?
Lieta ir tāda, INDEX MATCH ir dažas galvenās priekšrocības pār VLOOKUP:
- Iespējama kreisās puses meklēšana . Es mainīju kolonnu vietas iepriekš, lai ilustrētu šo: INDEX MATCH funkcija Google Sheets var meklēt un meklē pa kreisi no meklēšanas kolonnas. VLOOKUP vienmēr meklē pirmo kolonnu diapazonā un meklē atbilstību pa labi no tās - citādi tā saņem tikai #N/A kļūdas:
- Pievienojot jaunas kolonnas un pārvietojot esošās kolonnas, nav nesakārtotu atsauču. Ja pievienosiet vai pārvietosiet kolonnas, INDEX MATCH automātiski atspoguļos izmaiņas, neiejaucoties rezultātos. Tā kā jūs izmantojat kolonnu atsauces, Google Sheets tās uzreiz pielāgos:
Mēģiniet to izdarīt ar VLOOKUP: tas pieprasa kārtas numuru, nevis atsauces uz šūnas meklēšanas kolonnu. Tādējādi galu galā jūs vienkārši iegūsiet nepareizu vērtību, jo to pašu vietu ieņem cita kolonna - kolonna. 2 manā piemērā:
- Apsver teksta gadījumu ja nepieciešams (vairāk par to tālāk tekstā).
- Var izmantot vertikālai meklēšanai, pamatojoties uz vairākiem kritērijiem.
Aicinu jūs sīkāk aplūkot divus pēdējos punktus.
Uz lietām jutīga v-izpētīšana ar INDEX MATCH Google tabulās
INDEX MATCH ir piemērots, ja runa ir par lielo un mazo izmēru jutību.
Pieņemsim, ka visas ogas tiek pārdotas divos veidos - neiesaiņotas (nosvērtas pie letes) un iepakotas kastēs. Tādējādi sarakstā ir divi gadījumi, kad katra oga ir ierakstīta dažādos gadījumos, un katrai ogai ir savs ID, kas arī atšķiras gadījumos:
Tātad, kā jūs varat meklēt informāciju par krājumu par ogu, kas pārdota noteiktā veidā? VLOOKUP atgriezīs pirmo atrasto nosaukumu neatkarīgi no tā gadījuma.
Par laimi, INDEX MATCH for Google Sheets to var izdarīt pareizi. Jums būs jāizmanto tikai viena papildu funkcija - FIND vai EXACT.
piemērs. 1. Lieto ar mazo un lielo burtu jutīgu Vlookup FIND
Funkcija FIND Google tabulās ir lielo un mazo izmēru noteikšanas funkcija, tāpēc tā ir lieliski piemērota vertikālai meklēšanai pēc lielajiem izmēriem:
=ArrayFormula(INDEX(B2:B19, MATCH(1, FIND(E2, C2:C19)), 0)))
Paskatīsimies, kas notiek šajā formulā:
- FIND skenē C sleju ( C2:C19 ) ierakstam no E2 ( ķiršu ), ņemot vērā tās burtu lielumu. Kad tā ir atrasta, formula "iezīmē" šo šūnu ar skaitli - 1 .
- MATCH meklē šo zīmi - 1 - tajā pašā slejā ( C ) un nodod tās rindas numuru INDEX.
- INDEX nonāk līdz šai rindai B slejā ( B2:B19 ) un jums tiek iegūts vajadzīgais ieraksts.
- Kad esat pabeidzis formulas veidošanu, nospiediet Ctrl+Shift+Enter, lai sākumā pievienotu ArrayFormula. Tas ir nepieciešams, jo bez tā FIND nevarēs meklēt masīvos (vairāk nekā vienā šūnā). Vai arī varat ievadīt ArrayFormula ' no tastatūras.
Piemērs 2. EXACT lielo un mazo burtu un lielo izmēru noteikšanai Vlookup
Ja aizstājat FIND ar EXACT, pēdējais meklēs ierakstus ar tieši tādām pašām rakstzīmēm, ieskaitot to teksta burtus.
Vienīgā atšķirība ir tā, ka EXACT "atzīmē" atbilstību ar TRUE nevis skaits 1 . Tādējādi MATCH pirmajam argumentam jābūt šādam. TRUE :
=ArrayFormula(INDEX(B2:B19, MATCH(TRUE, EXACT(E2, C2:C19), 0))))
Google lapas INDEX MATCH ar vairākiem kritērijiem
Ko darīt, ja ir vairāki nosacījumi, pamatojoties uz kuriem vēlaties iegūt ierakstu?
Pārbaudīsim cenu ķiršu kas tiek pārdots PP spaiņi un jau ir beidzas :
Es sakārtoju visus kritērijus nolaižamajos sarakstos kolonnā F. Un tieši Google Sheets INDEX MATCH atbalsta vairākus kritērijus, nevis VLOOKUP. Šeit ir formula, kas jums būs jāizmanto:
=ArrayFormula(INDEX(B2:B24, MATCH(CONCATENATE(F2:F4), A2:A24&C2:C24&D2:D24, 0),)))
Nebīstieties! :) Tās loģika patiesībā ir pavisam vienkārša:
- CONCATENATE(F2:F4) apvieno visus trīs ierakstus no šūnām ar kritērijiem vienā virknē, piemēram, šādi:
CherryPP spainis
Tas ir search_key MATCH jeb, citiem vārdiem sakot, ko meklējat tabulā.
- A2:A24&C2:C24&D2:D24 veido diapazons Tā kā visi trīs kritēriji tiek meklēti trīs atsevišķās kolonnās, šādā veidā jūs tos it kā apvienojat:
CherryKartona paplāteSk noliktavā
CherryFilm iepakojumsIr noliktavā vairs nav pieejams
CherryPP spainis
utt.
- Pēdējais arguments MATCH - 0 - ļauj atrast precīzu atbilstību CherryPP spainis Kā redzat, tas atrodas 3. rindā.
- Un tad INDEX veic savu uzdevumu: tas iegūst ierakstu no B slejas 3. rindas.
- ArrayFormula tiek izmantots, lai citas funkcijas varētu strādāt ar masīviem.
Padoms. Ja jūsu formula neatradīs atbilstību, tā atgriezīs kļūdu. Lai no tā izvairītos, varat visu šo formulu ietīt IFERROR (lai tas būtu pirmais arguments) un kā otro argumentu ievadīt visu, ko vēlaties redzēt šūnā, nevis kļūdas:
=IFERROR(ArrayFormula(INDEX(B2:B27, MATCH(CONCATENATE(F2:F4), A2:A27&C2:C27&D2:D27, 0),)), "Not found")
Labāka alternatīva INDEX MATCH Google tabulās - vairākas VLOOKUP sakritības
Neatkarīgi no tā, kuru meklēšanas funkciju (VLOOKUP vai INDEX MATCH) izvēlaties, abām ir labāka alternatīva.
Vairāki VLOOKUP sakritības ir īpašs papildinājums Google tabulām, kas paredzēts, lai:
- meklēšana bez formulām
- meklēšana visos virzienos
- meklēšana pēc vairākiem nosacījumiem dažādiem datu tipiem: tekstu, skaitļiem, datumiem, laikiem, utt.
- iegūt vairākas spēles - tik daudz, cik nepieciešams (protams, ar nosacījumu, ka tabulā ir tikpat daudz spēļu).
Saskarne ir vienkārša, tāpēc jums nebūs jāšaubās, vai visu darāt pareizi:
- Izvēlieties avota diapazonu.
- Iestatiet atgriežamo atbilžu un kolonnu skaitu.
- Nosacījumu precizēšana, izmantojot iepriekš definētos operatorus ( satur, =, nav tukšs , starp u. c.).
Jūs arī varēsiet:
- rezultātu priekšskatījums
- izlemt, kur to novietot.
- un kā: kā formula vai tikai vērtības
Nepalaidiet garām iespēju pārbaudīt šo papildinājumu. Uzstādiet to no Google Workspace Marketplace. Tā pamācību lapā būs detalizēti izskaidrota katra opcija.
Mēs sagatavojām arī īpašu mācību videoklipu:
Uz tikšanos komentāros zemāk vai nākamajā rakstā ;)