Innehållsförteckning
När du gör dataanalyser i Microsoft Excel, du kan behöva få fram alla matchande data för ett visst id, användarnamn, kontaktinformation eller en annan unik identifierare, kan du stöta på problem. Artikeln visar hur man använder Excel för att söka upp flera värden i Excel baserat på ett eller flera villkor och återge flera resultat i en kolumn, rad eller enskild cell. Jag ska försöka förklara konceptet så gott jag kan så att en nybörjare kan förstå.och tillämpa dem på jämförbara problem.
Ladda ner övningsboken
Ladda ner den här arbetsboken för att träna medan du läser den här artikeln.
Uppslagsord för flera värden.xlsx10 lämpliga sätt att söka upp flera värden i Excel
1. Använd Array Formula för att söka upp flera värden i Excel
Excel VLOOKUP-funktion är en omedelbar lösning, men problemet är att den bara kan ge en enda träff.
För att utföra uppgifterna kan vi använda en arrayformel med följande funktioner.
- IF - Den ger ut ett värde om villkoret är uppfyllt och ett annat värde om villkoret inte är uppfyllt.
- SMALL - Den returnerar matrisens lägsta värde.
- INDEX - Ger ett arrayelement beroende på de rader och kolumner som du har angett.
- ROW - Den ger dig radnumret.
- COLUMN - Det ger dig kolumnens nummer.
- IFERROR - upptäcka fel.
Några exempel på dessa formler kan ses nedan.
1.1 Sök upp flera värden i en rad
Låt oss säga att vi har några namn på chefer som driver flera företag i kolumnen. B . vi har visat företagsnamnen i kolumnen C Vårt mål är att sammanställa en förteckning över alla företag som drivs av en viss person. Följ dessa steg för att få den färdigställd.
Steg 1:
- Ange en lista med unika namn på en tom rad. Namnen anges i cellerna B13:B15 i det här exemplet.
Steg 2:
- Gå in på följande formel i cell
=IFERROR(INDEX($C$5:$C$10, SMALL(IF($B15=$B$5:$B$10, ROW($C$5:$C$10)-4, " "), COLUMN()-2))), " ")
- Om du vill vara säker på att det är ett villkor för en matris trycker du på Ctrl + Skift + Gå in på samtidigt
Steg 3:
- Tryck på Gå in på och använda AutoFill för att se resultaten.
Slutresultatet är följande.
1.2 Sök upp flera värden i en kolumn i Excel
Om du vill returnera flera värden i kolumner istället för rader, som visas i
Under skärmdumpen ändrar du formlerna enligt stegen nedan.
Steg 1:
- Ange en lista med unika namn i en tom rad, I det här exemplet anges namnen i cellerna E4:G4
- Skriv följande formel i cell E5
=IFERROR(INDEX($C$5:$C$10, SMALL(IF(E$4=$B$5:$B$10, ROW($C$5:$C$10)-4, " "), ROW()-4))), " ")
- För ett matrisvillkor trycker du på Ctrl + Skift + Gå in på .
Steg 2:
- Slutligen, tryck på Gå in på och fyll den önskade cellen med AutoFill handtagsverktyg.
Här är de slutliga resultaten.
Obs För att formeln ska kopieras korrekt till andra rader måste du tänka på referenserna för uppslagsvärdet, den absoluta kolumnen och den relativa raden, som t.ex. $E4.
Läs mer: Hur man söker upp ett värde från ett annat ark i Excel (3 enkla metoder)
2. Sök upp flera värden i Excel baserat på flera kriterier
Du vet redan hur du kan söka upp flera värden i Excel baserat på ett enda kriterium. Vad händer om du vill ha flera matchningar baserade på två eller flera kriterier? Om du till exempel har en datamängd på Amazon de mest sålda produkterna i specifika kategorier i olika kolumner. Nu vill du köpa en produkt i en viss kategori.
Vi kommer att använda följande arrayargument för att göra det.
IFERROR(INDEX( return_range , LITEN(OM(1=((-( lookup_value1 = lookup_range1 )) * ( -( lookup_value2 = lookup_range2 )))), ROW( return_range )-m,""), ROW()-n)),"")
Var,
Lookup_value1 är det första uppslagsvärdet i cellen F5
Lookup_value2 är det andra uppslagsvärdet i cellen G5
Lookup_range1 är det område där lookup_value1 ska sökas ( B5:B10 )
Lookup_range2 är det område där lookup_value2 ska sökas ( C5:C10 )
Return_range är det område från vilket resultatet kommer att ges.
m är radnumret för den första cellen i returområdet minus 1 .
n är radnumret för den första formelcellen minus 1 .
2.1 Sökning av flera träffar i en kolumn
Eftersom du är bekant med argumentet array kan du helt enkelt använda de formler som presenterades i de två föregående exemplen för att kontrollera flera kriterier, enligt stegen nedan.
Steg 1:
- I cell H5 Ange följande formel,
=IFERROR(INDEX($D$5:$D$10, SMALL(IF(1=((--($F$5=$B$5:$B$10)) * (--($G$5=$C$5:$C$10))), ROW($D$5:$D$10)-4,""), ROW()-4)),""),"")
- Tryck på Ctrl + Skift + Gå in på samtidigt för att tillämpa formeln
Resultatet visar värdet som i skärmbilden nedan.
Steg 2:
- Tillämpa samma formel på resten av cellerna.
Observera. Eftersom både returområdet och formelområdet börjar på rad 5 är både n och m lika med "4" i exemplet ovan. Det kan vara andra siffror i dina kalkylblad.
Läs mer: Hur man använder LOOKUP-funktionen i Excel (4 lämpliga exempel)
2.2 Sökning av flera träffar i en rad
På samma sätt som i den föregående metoden kan du föredra den horisontella layouten där resultaten returneras i rader. Om du vill hämta flera värden utifrån flera kriterieuppsättningar följer du i det här fallet stegen nedan.
Steg 1:
- För det första, i cell D13 Ange följande formel,
=IFERROR(INDEX($D$5:$D$10, SMALL(IF(1=((--($B$13=$B$5:$B$10)) * (--($C$13=$C$5:$C$10))), ROW($D$5:$D$10)-4,""), COLUMN()-3)),""),"")
- För att göra det till en matris trycker du på Ctrl + Skift + Gå in på .
Steg 2:
- Tryck sedan bara på Gå in på knappen och använder AutoFill för att fylla de nödvändiga cellerna.
Det kommer då att visas flera resultat som i skärmbilden nedan.
Läs mer: Hur man söker med flera kriterier i Excel (både AND eller OR typ)
3. Slå upp och återge flera värden i en cell
Med Microsoft 365 prenumeration, Excel innehåller nu mycket mer kraftfulla funktioner och egenskaper (t.ex. XLOOKUP , Dynamiska matriser , UNIKT/FILTER funktioner etc.) som inte fanns i tidigare versioner.
Om du använder Microsoft 365 (tidigare känd som Office 365 ) kan metoderna som beskrivs i det här avsnittet användas för att söka upp och returnera flera värden i en cell i Excel.
Nedan har jag en datamängd där jag har chefernas namn i kolumnen B och de företag som de äger i kolumnen C .
För varje person vill jag se vilka företag de äger i en enda uppsättning (separerade med ett kommatecken) I cell F5 .
Följ följande steg för att göra detta.
Steg 1:
- För det första skriver du in följande formel i cellen F5 .
=TEXTJOIN(", ",TRUE,IF(E5=$B$5:$B$10,$C$5:$C$10,""))
- För att mata in som en matrisformel trycker du på Ctrl + Skift + Gå in på .
Steg 2:
- Tryck sedan på Gå in på för att se resultaten.
Läs mer: 7 typer av uppslag som du kan använda i Excel
4. Använd FILTER-funktionen för att söka efter flera värden i Excel
Du kan använda FILTER Funktion för att filtrera en uppsättning data beroende på de kriterier som du anger för att söka efter många värden.
Funktion för dynamiska matriser innehåller den här funktionen. Resultatet är en matris med data som dynamiskt flödar in i ett antal celler, med början i den cell där du skrev in formeln.
FILTER-funktion har följande syntax.
FILTER(array, include, [if_empty])
Var,
Array (obligatoriskt) - det värdeområde eller den matris som du vill filtrera.
Inkludera (obligatoriskt) - kriteriet i form av en boolesk matris ( TRUE och FALSK Den måste ha samma höjd (när data är i kolumner) eller bredd (när data är i rader) som arrayparametern.
If_empty (valfritt) - Om inga objekt uppfyller kriteriet är detta värdet som ska returneras.
Till att börja med ska vi titta på några mycket enkla exempel för att få en bättre förståelse för hur en Excel-formel för datafiltrering fungerar.
4.1 IF Not Equal
Låt oss säga att du vill veta vilka företagsnamn som inte tillhör Elon Musk. Så här är vårt uppslagsvärde Elon Musk i F4 För att göra detta tillämpar vi följande FILTER Funktion .
Steg 1:
- I cell F6 , ange följande formel för FILTER Funktion .
=FILTER(C5:C10,B5:B10F4)
- Om du vill göra det till en matris trycker du på Ctrl + Skift + Gå in på .
Steg 2:
- Tryck sedan på Ange.
- Använd AutoFill Handle Tool för att fylla i det nödvändiga fältet.
Därför får du resultatet som visas i skärmbilden ovan.
4.2 IF Equal
Om du också vill veta vilka företag som tillhör Elon Musk, följ de här stegen nedan.
Steg 1:
- Skriv följande formel i cell F6 ,
=FILTER(C5:C10,B5:B10=F4)
- Hit Ctrl + Skift + Gå in på samtidigt.
Steg 2:
- Tryck sedan på Gå in på för att hitta matchningar.
- Ansök på AutoFill Handle Tool för att fylla cellerna.
4.3 IF Mindre än
I skärmdumpen nedan visas en datamängd med de främsta miljardärernas nettoförmögenhet. Om du till exempel vill veta vem som har en nettoförmögenhet på mindre än $150B Följ de här stegen för att göra det.
Steg 1:
- Först skriver du följande formel i cellen F6 ,
=FILTER(C5:C10,B5:B10
- Om du vill göra det till en matrisformel trycker du på Ctrl + Skift + Gå in på .
Steg 2:
- Tryck sedan på Gå in på .
- Till sist ska du tillämpa AutoFill Handle Tool för att fylla cellerna.
Du får alltså flera värden som visas i skärmbilden ovan.
4.4 IF Större än
På samma sätt som i den tidigare metoden vill du veta vem som har ett nettoförmögenhet på mer än $150B Följ bara stegen nedan.
Steg 1:
- Till en början, i cell F6 Ange följande formel,
=FILTER(C5:C10,B5:B10>F4)
- Hit Ctrl + Skift + Gå in på för att göra det till en matrisformel.
Steg 2:
- Tryck sedan på Gå in på .
- Till sist ska du tillämpa AutoFill Handle Tool för att fylla cellerna.
Som ett resultat får du flera värden som visas i skärmbilden ovan.
Läs mer: Hur man slår upp en tabell i Excel (8 metoder)
5. Använd VLOOKUP-funktionen för att söka upp flera värden
I ett scenario kan du behöva gå igenom dina datalistor igen för att kontrollera vilken information som finns med i varje lista och vilken information som saknas i en av dem. Vi vill till exempel se vilka skådespelare som har deltagit i ett visst evenemang. För att göra detta använder vi VLOOKUP-funktion .
Syntaxen för VLOOKUP-funktion är följande.
=VLOOKUP(lookup_value,table_array,col_index_num,[range_lookup])
Var,
Lookup_value är referensvärdet, som kan vara en text, en numerisk sträng eller en cell vars värde du vill referera till.
Tabell_array är hela datatabellen inklusive dess helhet. Det referensvärde som du söker bör därför finnas i kolumn 1 i denna tabell, så Excel kan fortsätta till höger och leta efter returvärdet.
Col_index_num är numret på den kolumn där returvärdet hittas. Numret börjar på 1 och ökar när antalet kolumner i tabellen ökar.
[range_lookup] Det fjärde argumentet är inom parentes eftersom det inte krävs för att funktionen ska fungera. I Excel-syntaxen anger parenteser att ett argument är valfritt. Om du inte fyller i det här värdet anger Excel som standardvärde TRUE (eller 1), vilket innebär att du söker en nära matchning med referensvärdet snarare än en exakt matchning.
Observera. För textreturer kan du använda TRUE eftersom värdet inte rekommenderas.
Tillämpa nu VLOOKUP-funktion med följande steg.
Steg 1:
- I cell E5 Ange följande formel,
=IFERROR(VLOOKUP(B5,C:C,1,FALSE), "Not Attened")
- Tryck på Ctrl + Skift + Gå in på för att göra det till en matris.
Steg 2:
- Tryck på Gå in på för att se resultaten.
- Till sist ska du tillämpa AutoFill Handle Tool för att fylla cellerna.
I skärmbilden ovan kan du se listan över de personer som har deltagit i evenemanget och vi har lagt in "Inte deltagit" för dem som inte har deltagit.
Läs mer: Excel LOOKUP vs VLOOKUP: med 3 exempel
Slutsats
Avslutningsvis hoppas jag att den här artikeln har gett detaljerad vägledning för att söka upp flera värden i Excel. Du bör lära dig alla dessa procedurer och tillämpa dem på ditt dataset. Ta en titt på övningsarbetsboken och sätt dessa färdigheter på prov. Vi är motiverade att fortsätta att göra sådana här handledningar tack vare ditt värdefulla stöd.
Om du har några frågor - ställ dem gärna till oss. Du kan också lämna kommentarer i avsnittet nedan.
Vi, The ExcelWIKI Teamet är alltid lyhörda för dina frågor.
Stanna hos oss & fortsätt att lära dig.