Innholdsfortegnelse
Når du trenger å finne data i arket ditt som tilsvarer en bestemt nøkkelpost, er det vanligvis Google Sheets VLOOKUP du henvender deg til. Men sånn sett: VLOOKUP gir deg begrensninger nesten umiddelbart. Det er derfor du bør øke ressursene for oppgaven ved å lære INDEX MATCH.
INDEX MATCH i Google Sheets er en kombinasjon av to funksjoner: INDEX og MATCH. Når de brukes sammen, fungerer de som et bedre alternativ for Google Sheets VLOOKUP. La oss finne ut deres evner sammen i dette blogginnlegget. Men først vil jeg gi deg en rask gjennomgang av deres egne roller i regneark.
Google Sheets MATCH-funksjon
Jeg vil begynne med Google Ark MATCH fordi det er veldig enkelt. Den skanner dataene dine for en bestemt verdi og returnerer posisjonen:
=MATCH(søkenøkkel, område, [søketype])- søknøkkel er posten du leter etter. Obligatorisk.
- område er enten en rad eller en kolonne å se i. Obligatorisk.
Merk. MATCH aksepterer bare endimensjonale arrays: enten rad eller kolonne.
- søketype er valgfritt og definerer om samsvaret skal være eksakt eller omtrentlig. Hvis det utelates, er det 1 som standard:
- 1 betyr at området er sortert i stigende rekkefølge. Funksjonen får den største verdien mindre enn eller lik søkenøkkelen .
- 0 vil få funksjonen til å se etter det eksakte samsvaret i tilfelle området ditt ikke ersortert.
- -1 antyder at poster er rangert ved hjelp av synkende sortering. I dette tilfellet får funksjonen den minste verdien større enn eller lik søkenøkkelen .
Her er et eksempel: for å få en posisjon til en bestemt bær i listen over alle bær, jeg trenger følgende MATCH-formel i Google Sheets:
=MATCH("Blueberry", A1:A10, 0)
Google Sheets INDEX-funksjon
Mens MATCH viser hvor du skal se etter verdien (dens plassering i området), henter Google Sheets INDEX-funksjonen selve verdien basert på rad- og kolonneforskyvninger:
=INDEKS(referanse, [rad], [kolonne])- referanse er området du skal se i. Obligatorisk.
- rad er antallet rader som skal forskyves fra den aller første cellen i området ditt . Valgfritt, 0 hvis utelatt.
- kolonne , akkurat som rad , er antall forskyvningskolonner. Også valgfritt, også 0 hvis utelatt.
Hvis du angir begge valgfrie argumenter (rad og kolonne), vil Google Sheets INDEX returnere en post fra en målcelle:
=INDEX(A1:C10, 7, 1)
Hopp over ett av disse argumentene, og funksjonen vil gi deg hele raden eller kolonnen tilsvarende:
=INDEX(A1:C10, 7)
Hvordan bruke INDEX MATCH i Google Sheets — formeleksempler
Når INDEX og MATCH brukes sammen i regneark, er de på sitt sterkeste. De kan absolutt erstatte Google Sheets VLOOKUP og hente den nødvendige posten fra en tabell basert pånøkkelverdien din.
Bygg din første INDEX MATCH-formel for Google Sheets
Anta at du ønsker å hente aksjeinformasjonen om tranebær fra den samme tabellen som jeg brukte ovenfor. Jeg byttet bare kolonne B og C (du finner ut hvorfor litt senere).
- Nå er alle bær oppført i kolonne C. Google Sheets MATCH-funksjonen vil hjelpe deg med å finne den nøyaktige raden i tranebær: 8
=MATCH("Cranberry", C1:C10, 0)
- Sett hele MATCH-formelen til et rad -argument i INDEX-funksjonen:
=INDEX(A1:C10, MATCH("Cranberry", C1:C10, 0))
Denne vil returnere hele raden med tranebær i.
- Men siden alt du trenger er aksjeinformasjonen, spesifiser også nummeret på oppslagskolonnen: 3
=INDEX(A1:C10, MATCH("Cranberry", C1:C10,0), 2)
- Voila !
- Du kan gå lenger og gi opp den siste kolonneindikatoren ( 2 ). Du trenger ikke det i det hele tatt hvis du bare bruker oppslagskolonnen ( B1:B10 ) i stedet for hele tabellen ( A1:C10 ) som det første argumentet:
=INDEX(B1:B10, MATCH("Cranberry", C1:C10, 0))
Tips. En mer praktisk måte å sjekke tilgjengeligheten til forskjellige bær er å plassere dem i en rullegardinliste ( E2 ) og henvise MATCH-funksjonen til cellen med den listen:
=INDEX(B1:B10, MATCH(E2, C1:C10, 0))
Når du har valgt bæret, vil den relaterte verdien endres tilsvarende:
Hvorfor INDEX MATCH i Google Sheets er bedre enn VLOOKUP
Du vet allerede at Google Sheets INDEX MATCH slår opp verdien din i en tabell og returnerer en annen relatert post fra den sammerad. Og du vet at Google Sheets VLOOKUP gjør akkurat det samme. Så hvorfor bry seg?
Tekken er at INDEKSMATCH har noen store fordeler fremfor VLOOKUP:
- Venstre side oppslag er mulig . Jeg endret kolonneplasseringene tidligere for å illustrere denne: INDEX MATCH-funksjonen i Google Sheets kan og ser til venstre for søkekolonnen. VLOOKUP søker alltid i den aller første kolonnen i området og ser etter treff til høyre for den – ellers får den bare #N/A-feil:
- Ingen søl referanser når du legger til nye kolonner og flytter eksisterende. Hvis du legger til eller flytter kolonner, vil INDEX MATCH reflektere endringene automatisk uten å blande seg inn i resultatet. Siden du bruker kolonnereferanser, justeres de umiddelbart av Google Sheets:
Fortsett og prøv å gjøre dette med VLOOKUP: det krever ordrenummeret i stedet for cellereferanser for en oppslagskolonne. Dermed vil du bare ende opp med å få feil verdi fordi en annen kolonne tar samme plass — kolonne 2 i mitt eksempel:
- Vurderer tekstcaser når det er nødvendig (mer om dette til høyre nedenfor).
- Kan brukes til vertikalt oppslag basert på flere kriterier.
Jeg inviterer deg til å se på de to siste punktene i detalj nedenfor.
Stillingssensitivt v-oppslag med INDEX MATCH i Google Sheets
INDEX MATCH er en go-to når det kommer til store og små bokstaver-følsomhet.
Anta at alle bær selges på to måter - løse (veies i disken) og pakket i bokser. Derfor er det to forekomster av hvert bær skrevet i forskjellige tilfeller i listen, hver med sin egen ID som også varierer i tilfeller:
Så hvordan kan du slå opp lagerinformasjon om et bær som selges på en bestemt måte? VLOOKUP vil returnere fornavnet den finner uansett størrelse.
Heldigvis kan INDEX MATCH for Google Sheets gjøre det riktig. Du trenger bare å bruke én ekstra funksjon – FINN eller EXACT.
Eksempel 1. FINN for store og små bokstaver Vlookup
FINN er en funksjon som skiller mellom store og små bokstaver i Google Regneark som gjør den flott for versalsensitivt vertikalt oppslag:
=ArrayFormula(INDEX(B2:B19, MATCH(1, FIND(E2, C2:C19)), 0))
La oss se hva som skjer i denne formelen:
- FINN skanner kolonne C ( C2:C19 ) for ordens skyld fra E2 ( kirsebær ) med tanke på bokstaven. Når formelen er funnet, "merker" den cellen med et tall - 1 .
- MATCH søker etter dette merket - 1 - i samme kolonne ( C ) og sender nummeret på sin rad til INDEX.
- INDEX kommer ned til den raden i kolonne B ( B2:B19 ) og henter den nødvendige posten til deg.
- Når du er ferdig med å bygge formelen, trykk Ctrl+Shift+Enter for å legge til ArrayFormula i begynnelsen. Det er påkrevd fordi uten det vil ikke FIND kunne søke i arrays (i mer enn én celle). Eller du kan skrive' ArrayFormula ' fra tastaturet.
Eksempel 2. EXACT for store og små bokstaver
Hvis du erstatter FIND med EXACT, vil sistnevnte se etter poster med nøyaktig de samme tegnene, inkludert store og små bokstaver.
Den eneste forskjellen er at EXACT "merker" et samsvar med TRUE i stedet for tallet 1 . Derfor bør det første argumentet for MATCH være TRUE :
=ArrayFormula(INDEX(B2:B19, MATCH(TRUE, EXACT(E2, C2:C19), 0)))
Google Sheets INDEX MATCH med flere kriterier
Hva om det er flere forhold basert på som du ønsker å hente posten?
La oss sjekke prisen på kirsebæret som selges i PP-bøtter og er allerede tømt :
Jeg ordnet alle kriteriene i rullegardinlistene i kolonne F. Og det er Google Sheets INDEX MATCH som støtter flere kriterier, ikke VLOOKUP. Her er formelen du må bruke:
=ArrayFormula(INDEX(B2:B24, MATCH(CONCATENATE(F2:F4), A2:A24&C2:C24&D2:D24, 0),))
Ikke få panikk! :) Logikken er faktisk ganske enkel:
- CONCATENATE(F2:F4) kombinerer alle tre postene fra celler med kriterier til én streng slik:
CherryPP bucketRunning out
Dette er en søkenøkkel for MATCH, eller, med andre ord, det du ser etter i tabellen.
- A2:A24&C2:C24&D2:D24 utgjør et område for MATCH-funksjonen å se i. Siden alle tre kriteriene finner sted i tre separate kolonner, på denne måten kombinerer du dem på en måte:
CherryCardboard-brettPå lager
CherryFilm-emballasjeIkke på lager
Se også: Hvordan telle tegn i Google SheetsCherryPP-bøtte Går tom
osv .
- Det siste argumentet i MATCH — 0 — gjør det mulig å finne det eksakte samsvaret for CherryPP bucketRunning out blant alle radene med kombinerte kolonner. Som du kan se, er den i 3. rad.
- Og så gjør INDEX sitt: den henter posten fra 3. rad i kolonne B.
- ArrayFormula brukes til å tillate andre funksjoner å arbeid med matriser.
Tips. Hvis formelen din ikke finner samsvar, vil den returnere en feil. For å unngå det, kan du pakke hele denne formelen inn i IFERROR (gjør den til det første argumentet) og angi det du vil se i en celle i stedet for feil som et andre argument:
=IFERROR(ArrayFormula(INDEX(B2:B27, MATCH(CONCATENATE(F2:F4), A2:A27&C2:C27&D2:D27, 0),)), "Not found")
Bedre alternativ til INDEX MATCH i Google Sheets — Flere VLOOKUP-treff
Uansett hvilken oppslagsfunksjon du foretrekker, VLOOKUP eller INDEX MATCH, finnes det et bedre alternativ til dem begge.
Flere VLOOKUP Matches er et spesialtillegg for Google Sheets designet for å:
- oppslag uten formler
- oppslag i alle retninger
- søke etter ulike datatyper etter flere forhold : tekst, tall, datoer, klokkeslett, osv.
- hent flere treff, så mange du trenger (forutsatt at det er like mange av dem i tabellen din, selvfølgelig)
Grensesnittet er enkelt, så du trenger ikke å tvile på om du gjør detalt riktig:
- Velg kildeområde.
- Angi antall treff og kolonner som skal returneres.
- Finjuster betingelsene ved å bruke de forhåndsdefinerte operatorene ( inneholder, =, ikke tom , mellom osv.).
Du vil også kunne:
- forhåndsvis resultatet
- bestem hvor du vil plassere det
- og hvordan: som en formel eller bare verdier
Ikke gå glipp av denne muligheten til å sjekke tillegget. Fortsett og installer det fra Google Workspace Marketplace. Opplæringssiden vil forklare hvert alternativ i detalj.
Vi har også laget en spesiell instruksjonsvideo:
Vi sees i kommentarfeltet under eller i neste artikkel ;)