Innholdsfortegnelse
I Microsoft Excel er det flere nyttige metoder for å slå opp delvise teksttreff og deretter trekke ut data basert på det spesifikke samsvaret. I denne artikkelen lærer du alle de egnede metodene for å slå opp delvis tekstsamsvar i Excel med inkorporering av forskjellige oppslagsfunksjoner og formler.
Last ned øvelsesarbeidsbok
Du kan laste ned Excel-arbeidsboken som vi har brukt til å forberede denne artikkelen.
Slå opp delvis tekst Match.xlsx
5 egnede metoder for å Slå opp delvis tekstmatch i Excel
1. Delvis tekstmatch med VLOOKUP i Excel
I det følgende bildet er det en tabell som inneholder karakterene i ulike fag for noen studenter på en eksamen. Nå basert på den delvise samsvaret med en tekst fra Kolonne B , trekker vi ut karakterene i et emne for en elev.
Vi kan for eksempel se etter teksten "Husk" i kolonnen til Navn . Basert på den delvise matchingen finner vi ut det faktiske navnet på den eleven og trekker deretter ut karakterene i matematikk for den tilsvarende eleven fra tabellen.
I dette eksemplet bruker vi VLOOKUP funksjon her da denne funksjonen ser etter en verdi i kolonnen lengst til venstre i en tabell og returnerer deretter verdien i samme rad fra den angitte kolonnen. Den generiske formelen for denne VLOOKUP-funksjonen er:
=VLOOKUP(oppslagsverdi, tabellmatrise, col_index_number,[range_lookup])
Siden vi skal trekke ut merkene i matematikk til en elev hvis navn inneholder teksten “Tick” , så den nødvendige formelen i utdata Celle D17 vil være:
=VLOOKUP(D16,B5:G14,5,FALSE)
Eller,
=VLOOKUP("*Tick*",B5:G14,5,FALSE)
Etter å ha trykket Enter , vil du få vist karakterene i matematikk for Tickner med en gang.
Les mer: Hvordan bruke VLOOKUP for delvis samsvar i Excel (4 måter)
2. Slå opp delvis tekstmatch med INDEX-MATCH-funksjoner
Nå skal vi bruke kombinasjonen av INDEX - og MATCH -funksjoner. INDEKS-funksjonen returnerer en verdi eller referanse til cellen i skjæringspunktet mellom den bestemte raden og kolonnen i et gitt område, og MATCH-funksjonen returnerer den relative posisjonen til et element i en matrise som samsvarer med en spesifisert verdi i en spesifisert rekkefølge.
Vi skal finne en lignende utgang som i forrige metode. Så i denne delen vil den nødvendige formelen i utdata Celle D18 være:
=INDEX(B5:G14,MATCH(D17,B5:B14,0),MATCH(D17,B4:G4,0))
Eller,
=INDEX(B5:G14,MATCH("*Tick*",B5:B14,0),MATCH(D17,B4:G4,0))
Trykk nå Enter og formelen vil returnere 91- karakterene Tickner har fått i matematikk.
I denne formelen definerer de to MATCH funksjonene rad- og kolonnenumrene til henholdsvis elevens navn og emne. INDEKS funksjonen returnerer deretter verdien i skjæringspunktet mellom de definerte rad- og kolonnenumrenefra arrayet.
Les mer: Hvordan bruke INDEX and Match for Partial Match (2 Ways)
3. XLOOKUP med jokertegn for å slå opp delvis tekstmatch
XLOOKUP -funksjonen søker i et område eller en matrise etter et samsvar og returnerer det tilsvarende elementet fra et andre område eller en matrise. Den generiske formelen for denne funksjonen er:
=XLOOKUP(oppslagsverdi, oppslagsmatrise, returmatrise, [hvis_ikke_funnet], [samsvarsmodus], [søkemodus])
Nå har vi Jeg bruker denne XLOOKUP funksjonen direkte for å trekke ut merkene i matematikk til eleven hvis navn inneholder teksten “Tick” inne.
I utdata Cellen D18 , den nødvendige formelen vil være:
=XLOOKUP("*"&D16&"*",B5:B14,F5:F14,,2)
Etter å ha trykket Enter , vil du bli vist en lignende utgang som funnet i de to foregående eksemplene.
I denne funksjonen har vi brukt 2 som [match_mode]-argumentet som angir samsvar med jokertegn. Hvis du ikke bruker dette argumentet, vil funksjonen returnere #N/A feil som standard, funksjonen vil se etter det eksakte samsvaret i stedet for samsvaret med jokertegn.
4. Kombinere XLOOKUP-, ISNUMBER- og SEARCH-funksjoner for å søke opp delvis tekstmatch
Hvis du velger å unngå bruk av jokertegn i oppslagsfunksjonen, må du bruke den kombinerte formelen XLOOKUP , ISNUMBER og SEARCH -funksjonene.
ISNUMBER -funksjonen sjekker omen celleverdi er en numerisk verdi eller ikke. SØK -funksjonen returnerer nummeret på tegnet der et spesifikt tegn eller en tekststreng først ble funnet, ved å lese fra venstre til høyre. De generiske formlene for disse to funksjonene er som følger:
=ISNUMBER(verdi)
Og
=SØK(finn_tekst, innenfor_tekst , [søkenummer])
Så den nødvendige formelen i utdata Celle D18 vil være:
=XLOOKUP(TRUE,ISNUMBER(SEARCH(D16,B5:B14)),F5:F14)
Etter å ha trykket Enter , vil den resulterende verdien vises umiddelbart.
🔎 Hvordan fungerer formelen Fungerer du?
- SØK funksjonen ser etter teksten 'Tick av' i celleområdet B5:B14 og returnerer en matrise med:
{#VALUE!;#VALUE!;1;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;# VERDI!;#VERDI!}
- ISNUMBER funksjonen søker deretter etter den numeriske verdien i den matrisen og returnerer en annen matrise med boolske verdier:
{FALSE;FALSE;TRUE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE}
- XLOOKUP funksjonen ser etter den spesifiserte boolske verdien- TRUE i matrisen funnet i forrige trinn og trekker ut radnummeret til den verdien i matrisen B5:B1 4 .
- Til slutt, basert på returmatrisen til F5:F14 , trekker XLOOKUP ut karakterene i matematikk til eleven hvis navn inneholder teksten- 'Tick' inne.
5. Bruken avFILTER-, ISNUMBER- og SEARCH-funksjoner for å slå opp delvis tekstmatch
I den siste metoden bruker vi kombinasjonen av FILTER-, ISNUMBER- og SEARCH -funksjoner. FILTER -funksjonen filtrerer her en rekke celler eller en matrise basert på de gitte betingelsene. Den generiske formelen for denne funksjonen er:
=FILTER(array, include, [if_empty])
Siden vi har å gjøre med et lignende datasett, er det nødvendig formel med FILTER funksjonen i utdata Celle D18 vil være:
=FILTER(F5:F14,ISNUMBER(SEARCH(D16,B5:B14)))
Trykk nå Enter og du får den resulterende verdien umiddelbart.
I denne formelen filtrerer funksjonen FILTER celleområdet- F5:F14 basert på den boolske verdien - bare TRUE . Kombinasjonen av ISNUMBER og SØK funksjoner returnerer matrisen av boolske verdier- TRUE og FALSE og definerer det andre argumentet ( include) av FILTER funksjonen.
Avsluttende ord
Jeg håper alle metodene nevnt ovenfor vil hjelpe deg med å trekke ut data basert på de delvise tekstsamsvarene i Excel-regnearkene dine. Hvis du har spørsmål eller tilbakemeldinger, vennligst gi meg beskjed i kommentarfeltet. Eller du kan sjekke ut våre andre artikler relatert til Excel-funksjoner på denne nettsiden.