Återanvändbar VLOOKUP (VLOOKUP)

Innehåll

Vi har en lista över beställningar med nummer och varunamn. Jag skulle till exempel vilja dra ut från bordet efter ordernummer alla varor som ingår i det. Mer eller mindre så här:

 

Underbar funktion VLOOKUP (VLOOKUP) i en sådan situation kommer det bara delvis att hjälpa, eftersom kan extrahera data endast av den först hittade matchningen, dvs bara ger oss äpplen. För att hitta och extrahera alla objekt från tabellen är det bättre att använda en matrisformel. Som den här:

=INDEX($B$2:$B$16;MINST(IF($ E $ 2=A2: A16;LINJE(B2:B16)-1;»»);LINJE()-5))

Det måste anges enligt följande:

  1. välj cellerna där resultaten ska visas (i vårt exempel är detta intervallet D6:D20)
  2. enter (kopiera formeln till den första cellen) i intervallet
  3. tryck ctrl + shift + ange

Enhetssubtraktion i fragment STRING(B2:B16)-1 görs på grund av tabellhuvudet. Av samma anledning, för att kompensera för förskjutningen i det resulterande intervallet i förhållande till det ursprungliga, subtraheras talet fem i fragmentet STRING()-5

För att dölja #NUM! fel som kommer att visas i tomma celler i det resulterande intervallet D6:D20, kan du använda felkontrollfunktionerna IF och EOSH, och ersätta vår formel med en något mer komplex:

=OM(EOSH(ИНДЕКС($B$2:$B$16;НАИМЕНЬШИЙ(ЕСЛИ($E$2=A2:A16;СТРОКА(B2:B16)-1;»»);СТРОКА()-5)));»»;ИНДЕКС($B$2:$B$16;НАИМЕНЬШИЙ(ЕСЛИ($E$2=A2:A16;СТРОКА(B2:B16)-1;»»);СТРОКА()-5)))

I Excel 2007 dök en mer bekväm IFERROR-funktion upp - den låter dig lösa problemet mer kompakt:

=FEL(ИНДЕКС($B$2:$B$16;НАИМЕНЬШИЙ(ЕСЛИ($E$2=A2:A16;СТРОКА(B2:B16)-1;»»);СТРОКА()-5));»»)

PS

I den engelska versionen av Excel kommer dessa funktioner att se ut så här:

=INDEX($B$2:$B$16,SMALL(IF($E$2=A2:A16,ROW(B2:B16)-1,»»),ROW()-5))

=IF(ISERR(INDEX($B$2:$B$16,SMALL(IF($E$2=A2:A16,ROW(B2:B16)-1,»»),ROW()-5))),»»,INDEX($B$2:$B$16,SMALL(IF($E$2=A2:A16,ROW(B2:B16)-1,»»),ROW()-5)))

=IFERROR(INDEX($B$2:$B$16,SMALL(IF($E$2=A2:A16,ROW(B2:B16)-1,»»),ROW()-5)),»»)

  • Använda VLOOKUP-funktionen för att hitta data i en tabell
  • En förbättrad version av VLOOKUP2-funktionen som kan söka i valfri kolumn och inte bara det första värdet
  • VLOOKUP2 och VLOOKUP3 fungerar från PLEX-tillägget
  • Vad är matrisformler och vad används de till?

 

Kommentera uppropet