Sök upp partiell textmatchning i Excel (5 metoder)

  • Dela Detta
Hugh West

I Microsoft Excel finns det flera användbara metoder för att söka efter partiella textmatchningar och sedan extrahera data baserat på den specifika matchen. I den här artikeln får du lära dig alla lämpliga metoder för att söka efter partiella textmatchningar i Excel med hjälp av olika sökfunktioner och formler.

Ladda ner övningsboken

Du kan ladda ner Excel-arbetsboken som vi har använt för att förbereda den här artikeln.

Uppslag Partiell textmatchning.xlsx

5 lämpliga metoder för att söka upp partiell textmatchning i Excel

1. Partiell textmatchning med VLOOKUP i Excel

I följande bild finns en tabell med betyg i olika ämnen för några elever i ett prov. Baserat på den partiella matchningen av en text från Kolumn B Vi tar fram betygen i ett ämne för en elev.

Vi kan till exempel leta efter texten "Tick" i kolumnen för Namn Med utgångspunkt i den partiella matchningen tar vi reda på elevens verkliga namn och hämtar sedan ut den motsvarande elevens betyg i matematik från tabellen.

I det här exemplet använder vi VLOOKUP funktionen här eftersom den här funktionen söker efter ett värde i den vänstra kolumnen i en tabell och sedan returnerar värdet i samma rad från den angivna kolumnen. Den generiska formeln för denna VLOOKUP-funktion är:

=VLOOKUP(lookup_value, table_array, col_index_number, [range_lookup])

Eftersom vi ska ta fram betygen i matematik för en elev vars namn innehåller texten "Tick" , så att den nödvändiga formeln i utgången Cell D17 kommer att vara:

=VLOOKUP(D16,B5:G14,5,FALSE)

Eller,

=VLOOKUP("*Tick*",B5:G14,5,FALSE)

Efter att ha tryckt på Gå in på Du kommer att få se betygsresultaten i matematik för Tickner på en gång.

Läs mer: Hur man använder VLOOKUP för partiell matchning i Excel (4 sätt)

2. Sökning av partiell textmatchning med INDEX-MATCH-funktioner

Nu använder vi kombinationen av INDEX och MATCH INDEX-funktionen returnerar ett värde eller en referens till cellen i skärningspunkten mellan en viss rad och kolumn i ett givet intervall och MATCH-funktionen returnerar den relativa positionen för ett objekt i en matris som matchar ett visst värde i en viss ordning.

Vi kommer att få ett liknande resultat som i den föregående metoden. I det här avsnittet kommer den nödvändiga formeln i resultatet att vara Cell D18 kommer att vara:

=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))

Tryck nu på Gå in på och formeln ger 91- de betyg som Tickner har fått i matematik.

I denna formel är de två MATCH funktionerna definierar rad- och kolumnnumren för elevens namn respektive ämnet. INDEX Funktionen returnerar sedan värdet i skärningspunkten mellan de definierade rad- och kolumnnumren från matrisen.

Läs mer: Hur du använder INDEX och matchning för partiell matchning (2 sätt)

3. XLOOKUP med jokertecken för att söka efter partiell textmatchning

XLOOKUP söker ett intervall eller en matris efter en träff och returnerar motsvarande objekt från ett andra intervall eller matris. Den generiska formeln för denna funktion är:

=XLOOKUP(lookup_value, lookup_array, return_array, [if_not_found], [match_mode], [search_mode])

Nu använder vi detta XLOOKUP funktionen direkt för att ta fram betygen i matematik för den elev vars namn innehåller texten "Tick" inuti.

I utgången Cell D18 , blir den nödvändiga formeln:

=XLOOKUP("*"&D16&"*",B5:B14,F5:F14,,2)

Efter att ha tryckt på Gå in på får du en liknande utskrift som i de två föregående exemplen.

I den här funktionen har vi använt 2 som argument [match_mode] för att ange en matchning med jokertecken. Om du inte använder det här argumentet kommer funktionen att återge #N/A fel eftersom funktionen som standard söker efter en exakt matchning i stället för en matchning med jokertecken.

4. Kombinera XLOOKUP-, ISNUMBER- och SEARCH-funktionerna för att söka efter partiell textmatchning

Om du vill undvika att använda jokertecken i uppslagsfunktionen måste du använda den kombinerade formeln för XLOOKUP, ISNUMBER och SEARCH funktioner.

ISNUMMER funktionen kontrollerar om ett cellvärde är ett numeriskt värde eller inte. SÖKNING funktionen returnerar numret på det tecken där ett visst tecken eller en textsträng först hittas, från vänster till höger. De generiska formlerna för dessa två funktioner är följande:

=ISNUMMER(värde)

Och

=SEARCH(find_text, within_text, [search_num])

Så den nödvändiga formeln i utgången Cell D18 kommer att vara:

=XLOOKUP(TRUE,ISNUMBER(SEARCH(D16,B5:B14)),F5:F14)

Efter att ha tryckt på Gå in på visas det resulterande värdet genast.

🔎 Hur fungerar formeln?

  • SÖKNING funktionen letar efter texten "Kryssa i intervallet för cellen B5:B14 och returnerar en matris av:

{#VÄRDE!;#VÄRDE!;1;#VÄRDE!;#VÄRDE!;#VÄRDE!;#VÄRDE!;#VÄRDE!;#VÄRDE!;#VÄRDE!;#VÄRDE!;#VÄRDE!}

  • ISNUMMER Funktionen söker sedan efter det numeriska värdet i matrisen och returnerar en annan matris med boolska värden:

{FALSK;FALSKT;SANT;SANT;FALSKT;FALSKT;FALSKT;FALSKT;FALSKT;FALSKT;FALSKT;FALSKT;FALSKT;FALSKT}

  • XLOOKUP funktionen letar sedan efter det angivna boolska värdet. TRUE i den matris som hittades i föregående steg och extraherar radnumret för det värdet i matrisen av B5:B14 .
  • Slutligen, baserat på den returnerade matrisen av F5:F14 , den XLOOKUP funktionen drar ut betygen i matematik för den studerande vars namn innehåller texten- "Kryssa inuti.

5. Användning av funktionerna FILTER, ISNUMBER och SEARCH för att söka efter en partiell textmatchning.

I den sista metoden använder vi kombinationen av FILTER, ISNUMMER och SÖKNING funktioner. FILTER funktionen filtrerar här ett antal celler eller en matris utifrån de givna villkoren. Den generiska formeln för denna funktion är:

=FILTER(array, include, [if_empty])

Eftersom vi har att göra med en liknande datamängd, kan den nödvändiga formeln med FILTER funktion i utdata Cell D18 kommer att vara:

=FILTER(F5:F14,ISNUMBER(SEARCH(D16,B5:B14)))

Tryck nu på Gå in på och du får det resulterande värdet direkt.

I denna formel ska FILTER funktionen filtrerar intervallet av celler- F5:F14 baserat på det boolska värdet- TRUE endast. Kombinationen av ISNUMMER och SÖKNING funktioner returnerar en matris med boolska värden. TRUE och FALSK och definierar det andra argumentet (inkludera) av den FILTER funktion.

Avslutande ord

Jag hoppas att alla de metoder som nämns ovan hjälper dig att extrahera data baserat på partiella textmatchningar i dina Excel-kalkylblad. Om du har några frågor eller feedback, låt mig veta det i kommentarsfältet. Du kan också kolla in våra andra artiklar om Excel-funktioner på den här webbplatsen.

Hugh West är en mycket erfaren Excel-tränare och analytiker med över 10 års erfarenhet i branschen. Han har en kandidatexamen i redovisning och ekonomi och en magisterexamen i företagsekonomi. Hugh har en passion för undervisning och har utvecklat ett unikt undervisningssätt som är lätt att följa och förstå. Hans expertkunskap om Excel har hjälpt tusentals studenter och yrkesverksamma över hela världen att förbättra sina färdigheter och utmärka sig i sina karriärer. Genom sin blogg delar Hugh med sig av sin kunskap med världen, och erbjuder gratis Excel-handledning och onlineutbildning för att hjälpa individer och företag att nå sin fulla potential.