Vi har en liste over bestillinger med nummer og navn på varer. Jeg ønsker for eksempel å trekke ut fra bordet etter ordrenummer alle varene som er inkludert i det. Mer eller mindre slik:
Fantastisk funksjon VLOOKUP (VLOOKUP) i en slik situasjon vil det bare hjelpe delvis, fordi er i stand til å trekke ut data bare ved det første funnet matchet, dvs. vil bare gi oss Epler. For å finne og trekke ut alle elementer fra tabellen, er det bedre å bruke en matriseformel. Som denne:
=INDEX($B$2:$B$16;MINST(IF($ E $ 2=A2: A16;LINE(B2:B16)-1;"");LINE()-5))
Det skal legges inn som følger:
- velg cellene der resultatene skal vises (i vårt eksempel er dette området D6:D20)
- enter (kopier formelen inn i den første cellen) i området
- trykk Ctrl + Skift + Enter
Enhetssubtraksjon i fragment STRING(B2:B16)-1 er gjort på grunn av tabelloverskriften. Av samme grunn, for å kompensere for skiftet i det resulterende området i forhold til det opprinnelige, trekkes tallet fem i fragmentet fra STRING()-5
For å skjule #NUM! feil som vil vises i tomme celler i det resulterende området D6:D20, kan du bruke feilkontrollfunksjonene IF og EOSH, og erstatte formelen vår med en litt mer kompleks:
=HVIS(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 dukket det opp en mer praktisk IFERROR-funksjon - den lar deg løse problemet mer kompakt:
=FEIL(ИНДЕКС($B$2:$B$16;НАИМЕНЬШИЙ(ЕСЛИ($E$2=A2:A16;СТРОКА(B2:B16)-1;»»);СТРОКА()-5));»»)
PS
I den engelske versjonen av Excel vil disse funksjonene se slik ut:
=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)),»»)
- Bruke VLOOKUP-funksjonen for å finne data i en tabell
- En forbedret versjon av VLOOKUP2-funksjonen som kan søke i hvilken som helst kolonne og ikke bare den første verdien
- VLOOKUP2 og VLOOKUP3-funksjoner fra PLEX-tillegget
- Hva er matriseformler og hva brukes de til?