Kuinka käyttää INDEX-MATCH-kaavaa Excelissä useiden tulosten tuottamiseksi?

  • Jaa Tämä
Hugh West

Suuren tietomäärän työstäminen johtaa useiden tulosten tuottamiseen. Excelissä on erittäin kätevä tapa poimia useita tuloksia. Tässä artikkelissa näytämme, miten voit käyttää työkalua INDEX-MATCH kaava Excelissä useiden tulosten tuottamiseksi.

Lataa käytäntömalli

Voit ladata ilmaisen Excel-mallin täältä ja harjoitella sitä itse.

INDEX MATCH useita tuloksia.xlsxx

4 Hyödyllisiä tapoja toteuttaa INDEX & MATCH-funktiot yhdessä Excelissä useiden tulosten poimimiseksi

Tässä jaksossa käsitellään yksityiskohtaisesti seuraavien menetelmien hyödyntämistä INDEX-toiminto ja MATCH-toiminto yhteen Excelissä, jotta saat useita tuloksia.

1. Etsi useita tuloksia arraysta käyttämällä INDEX MATCH -kaavaa Excelissä.

Tarkastellaan seuraavaa tietokokonaisuutta, jossa halutaan löytää eri kokeiden opiskelijoiden arvosanat.

Voimme saada sen suorittamalla INDEX-MATCH kaava laskentataulukkoon.

Vaiheet usean tuloksen löytämiseksi joukon joukosta käyttämällä seuraavia ohjeita INDEX-MATCH toiminnot on esitetty alla.

Vaiheet:

  • Valitse nimi tietokokonaisuudesta ( B5:B11 ) ja laita nimi toiseen soluun, jotta voit käyttää soluviitenumeroa myöhemmin (esim. nimi nimi Villiers osoitteessa Solu G4 ).
  • Toisessa solussa, jonka haluat tulossoluksi (esim. Solu G7 ), kirjoitetaan seuraava kaava,
=INDEX($C$5:$C$11,SMALL(IF(ISNUMBER(MATCH($B$5:$B$11,$G$4,0)),MATCH(ROW($B$5:$B$11),ROW($B$5:$B$11)),""),ROWS($A$1:A1)))))

Täällä,

$C$5:$C$11 = array, josta haetaan hakuarvoa

$B$5:$B$11 = joukko, jossa hakuarvo on

  • Paina Kirjoita .

Huomaat, että datan tulos (esim. Villiers ), jonka laitat valittuun soluun ( G4 ), ilmestyy tulossoluun (esim. 65 osoitteessa G7 ).

  • Vedä nyt rivi alaspäin Täyttökahva saadaksesi loput saman hakuarvon tulokset.

Koska tämä prosessi ei ole vakio millekään tietylle arvolle, voit valita minkä tahansa hakutiedon valitusta solusta (esim. G4 ) ja kyseisen tiedon tulos päivittyy automaattisesti tulossoluun (esim. G7 ).

Katso lisää alla olevasta kuvasta.

Kaavan erittely:

Puretaan kaava, jotta ymmärrämme, miten saimme tuloksen.

  • MATCH($B$5:$B$11, $G$4, 0) tulee,

-> MATCH({"Flintoff"; "Ronaldo"; "Plessis"; "Villiers"; "Beckham"; "Villiers"; "Plessis"}, "Villiers", 0)

-> Lähtö: {#N/A; #N/A; #N/A; 1; #N/A; 1; #N/A}

Selitys: Jos hakuarvo löytää vastaavuuden hakumassasta, hakutulos on MATCH funktio palauttaa 1 , muuten se palauttaa #N/A .

  • ISNUMBER(MATCH($B$5:$B$11, $G$4, 0) tulee,

-> ISNUMBER({#N/A; #N/A; #N/A; 1; #N/A; 1; #N/A}))

-> Tulos: {FALSE; FALSE; FALSE; TRUE; FALSE; TRUE; FALSE}.

Selitys: Kuten IF-toiminto ei pysty käsittelemään virhearvoja, joten ISNUMBER-funktio käytetään tässä muuttamaan array-arvot Boolean-arvoiksi.

  • IF(ISNUMBER(MATCH($B$5:$B$11, $G$4, 0)), MATCH(ROW($B$5:$B$11), ROW($B$5:$B$11)), "") tulee,

-> IF({FALSE; FALSE; FALSE; FALSE; TRUE; FALSE; TRUE; FALSE}, MATCH(ROW($B$5:$B$11), ROW($B$5:$B$11)), "")

tulee

-> IF({FALSE; FALSE; FALSE; FALSE; TRUE; FALSE; TRUE; FALSE}, {1; 2; 3; 4; 5; 6; 7}, "")

-> Output: {""; ""; ""; 4; ""; 6}

Selitys: Ensinnäkin IF Funktio muuntaa Boolen arvot rivinumeroiksi ja tyhjiksi. Myöhemmin funktio MATCH ja ROW-toiminto s laskee matriisin, jossa on peräkkäisiä numeroita 1:stä n:ään, jossa n on solualueen kokonaiskoon viimeinen numeerinen identiteetti. Koska $B$5:$B$11 on 7 arvoa, joten matriisista tulee {1; 2; 3; 4; 5; 6; 7} .

  • SMALL(IF(ISNUMBER(MATCH($B$5:$B$11, $G$4, 0)), MATCH(ROW($B$5:$B$11), ROW($B$5:$B$11)), ""), ROWS($A$1:A1)))) tulee

-> SMALL({""; ""; ""; 4; ""; 6}, ROWS($A$1:A1))

-> SMALL({""; ""; ""; 4; ""; 6}, 1)

-> Lähtö: 4

Selitys: Ensimmäinen, SMALL-toiminto määrittää rivin numeron perusteella, mikä arvo haetaan. Seuraavaksi, komento Rivit Funktio palauttaa numeron, joka muuttuu aina, kun solu kopioidaan ja liitetään alla oleviin soluihin. Aluksi se palautti numeron 4 Seuraavassa solussa alla on seuraavat tiedot, ROWS($A$1:A1) muutokset ROWS($A$1:A2) ja palauttaa 6 .

  • INDEX($C$5:$C$11, SMALL(IF(ISNUMBER(MATCH($B$5:$B$11, $G$4, 0)), MATCH(ROW($B$5:$B$11), ROW($B$5:$B$11)), ""), ROWS($A$1:A1))))) tulee

-> INDEX($C$5:$C$11, 4)

-> Tuotos: 65

Selitys: The INDEX funktio palauttaa arvon annetusta matriisista rivin ja sarakkeen numeron perusteella. Neljäs arvo array:ssä $C$5:$C$11 on 65 , joten INDEX funktio palauttaa 65 solussa G7 .

Lue lisää: IF ja INDEX-MATCH Excelissä (3 sopivaa lähestymistapaa)

2. Etsi useita tuloksia tulevan tapahtuman nimestä & Päivämäärä INDEX MATCH -kaavalla Excelissä

Joskus unohdamme tärkeiden tapahtumien päivämäärän. Siinä tapauksessa INDEX MATCH toiminnot toimivat pelastajina.

Alla on esimerkkitieto, jossa halusimme tietää tulevasta syntymäpäivästä ystäviemme keskuudessa.

Joten, mitä teimme, oli, toteuttaa INDEX MATCH kaava selvittää, kenen syntymäpäivä on seuraavaksi ja milloin se on.

Kaava henkilön nimen tai tulevan tapahtuman nimen selvittämiseksi on siis seuraava,

=INDEX($B$5:$B$9,MATCH(F5,$C$5:$C$9,1)+1)

Ja kaava tulevan tapahtuman päivämäärän selvittämiseksi on,

=INDEX($C$5:$C$9,MATCH(F5,$C$5:$C$9,1)+1)

Kaavan erittely:

Puretaan kaava, jotta ymmärrämme, miten saimme selville nimen Alex ja hänen syntymäpäivänsä.

  • MATCH(F5,$C$5:$C$9,1)

-> Lähtö: 4

Selitys: The MATCH Funktio löytää hakuarvon sijainnin ( Solu F5 = torstai, 11. marraskuuta 2021 ) joukkovakiossa ( $C$5:$C$9 = luettelo päivämääristä ).

Tässä esimerkissä emme halunneet tarkkaa vastaavuutta, vaan halusimme, että MATCH funktio palauttaa likimääräisen vastaavuuden, joten asetamme kolmannen argumentin arvoksi 1 (tai TRUE ).

  • INDEX($B$5:$B$9,MATCH(F5,$C$5:$C$9,1)+1) tulee

-> INDEX($B$5:$B$9, 4) +1)

-> Tuotos: Alex /(tapahtuman nimi)

Selitys: The INDEX Funktio ottaa kaksi argumenttia palauttaakseen tietyn arvon yksiulotteisella alueella. Tässä tapauksessa alueeksi annetaan $B$5:$B$9 on ensin argumentti ja tulos, jonka saimme edellisessä jaksossa tehdystä laskennasta. (MATCH(F5,$C$5:$C$9,1))) , asema 4 , on toinen argumentti. Tämä tarkoittaa, että etsimme arvoa, joka sijaitsee paikassa 4 vuonna $B$5:$B$9 alue.

Ja,

  • INDEX($C$5:$C$9,MATCH(F5,$C$5:$C$9,1)+1) tulee

-> INDEX($B$5:$B$9, 4) +1)

-> Tuotos: tiistai, 7. joulukuuta 2021

Selitys: The INDEX Funktio ottaa kaksi argumenttia palauttaakseen tietyn arvon yksiulotteisella alueella. Tässä tapauksessa alueeksi annetaan $C$5:$C$9 on ensin argumentti ja tulos, jonka saimme edellisen jakson laskelmasta. (MATCH(F5,$C$5:$C$9,1))) , asema 4 , on toinen argumentti. Tämä tarkoittaa, että etsimme arvoa, joka sijaitsee paikassa 4 vuonna $C$5:$C$9 alue.

Saadaksemme tulevan tapahtuman päivämäärän, lisäsimme vain yhden solun sijaintiin, jonka palautti komento MATCH funktio, ja se antoi meille seuraavan tapahtumapäivän solun sijainnin.

Lue lisää: Excel INDEX-MATCH -kaava useiden arvojen palauttamiseksi vaakasuunnassa

Samanlaisia lukemia

  • INDEX MATCH useita kriteerejä jokerimerkillä Excelissä (täydellinen opas)
  • [Korjattu!] INDEX MATCH ei palauta oikeaa arvoa Excelissä (5 syytä)
  • Kuinka käyttää INDEX MATCHia VLOOKUPin sijasta Excelissä (3 tapaa)
  • INDEX + MATCH Excelin päällekkäisten arvojen kanssa (3 nopeaa menetelmää)
  • Miten valita tiettyjä tietoja Excelissä (6 menetelmää)

3. Useiden tulosten tuottaminen erillisiin sarakkeisiin käyttämällä INDEX MATCH -kaavaa Excelissä

Tähän asti olemme saaneet tulokset riveittäin. Mutta entä jos haluat saada tulokset riveittäin? erilliset sarakkeet .

Tarkastellaan seuraavaa tietokokonaisuutta, joka koostuu kolmenlaisista ammateista, jotka edustavat useita henkilönimiä.

Halusimme tehdä ammattiryhmän, ja halusimme sijoittaa nimiä sarakekohtaisesti ammattinsa mukaisesti.

Jos haluat poimia useita vastaustuloksia erillisiin soluihin erillisiin sarakkeisiin, voit tehdä pienen tempun käyttämällä INDEX toiminto.

Opetellaan, miten Excelissä voidaan poimia useita vastaustuloksia useisiin sarakkeisiin yhdistelmällä seuraavia vaihtoehtoja INDEX toiminnot ja muut.

Vaiheet:

  • Valitse ammatti tietovalikosta ( B5:B11 ) ja aseta tiedot toiseen soluun, jotta voit käyttää solun viitenumeroa myöhemmin (esim. profession Krikettimies osoitteessa Solu E5 ).
  • Toisessa solussa, jonka haluat tulossoluksi (esim. Solu F5 ), kirjoitetaan seuraava kaava,
=IFERROR(INDEX($C$5:$C$11,SMALL(IF($B$5:$B$11=$E5,ROW(C5:C11)-MIN(ROW(C5:C11))+1),COLUMNS($E$5:E5))),"")

Täällä,

$C$5:$C$11 = hakuarvoa etsivä array

$B$5:$B$11 = joukko, jossa hakuarvo on

  • Paina Kirjoita .

Huomaat, että datan tulos (esim. Kriketinpelaajat ), jonka laitat valittuun soluun ( E5 ), ilmestyy tulossoluun (esim. Flintoff osoitteessa Solu F5 ).

  • Vedä nyt riviä ympäri Täyttökahva saadaksesi loput saman hakuarvon tulokset erillisiin monisarakkeisiin.

  • Raahaa rivi jälleen kerran ympäri Täyttökahva saadaksesi loput eri hakuarvojen tulokset (esim. Jalkapalloilija, Painijat ) erillisissä sarakkeissa.

Kaavan erittely:

Puretaan kaava, jotta ymmärrämme, miten saimme tuloksen.

  • SMALL(IF($B$5:$B$11=$E5,ROW($C$5:$C$11)-MIN(ROW($C$5:$C$11))+1),COLUMNS($E$5:E5)))

Tiedämme jo edellisestä keskustelusta, miten PIENI, JOS ja ROW funktiot työskentelevät yhdessä, ja käytämme tätä temppua myös tässä generoidaksemme rivinumeron, joka vastaa N:ää ottelua. Kun olemme saaneet rivinumeron, annamme sen yksinkertaisesti funktioon INDEX funktio, joka palauttaa kyseisen rivin arvon.

-> Lähtö: ( kuten alla olevassa kuvassa )

  • INDEX($C$5:$C$11,SMALL(IF($B$5:$B$11=$E5,ROW($C$5:$C$11)-MIN(ROW($C$5:$C$11))+1),COLUMNS($E$5:E5)))) -> siirtää rivinumerot komentoon INDEX funktiota poimimaan vastaavien rivien numeroiden arvot.

-> Lähtö: ( kuten alla olevassa kuvassa )

  • IFERROR(INDEX($C$5:$C$11,SMALL(IF($B$5:$B$11=$E5,ROW(C5:C11)-MIN(ROW(C5:C11))+1),COLUMNS($E$5:E5))),"") -> huomaa, että kun sarakkeet palauttavat arvon, jota ei ole olemassa, se heittää virheilmoituksen. #NUM Virheen estämiseksi koko kaava kääritään muotoon IFERROR-toiminto virheiden kiinniottoon ja asettaa tyhjä merkkijono ("") palautuksena.

-> Lähtö: ( kuten alla olevassa kuvassa )

Lue lisää: Excel INDEX MATCH palauttaa useita arvoja yhdessä solussa

4. Pura useita tuloksia erillisiin riveihin käyttämällä INDEX MATCH -funktioita Excelissä

Jos mietit useiden tulosten poimimista useille riveille samalla tavalla kuin edellisessä osiossa, kaava on,

=IFERROR(INDEX($C$5:$C$11,SMALL(IF($B$5:$B$11=E$4,ROW(C5:C11)-MIN(ROW(C5:C11))+1),ROWS($E$5:E5))),"")

Kaikki muut yksityiskohdat, kuten vaiheet ja kaavan erittely, ovat samat kuin kohdassa 3.

Tärkeimmät seikat, jotka sinun on pidettävä mielessäsi

  • Koska datataulukkomäärän alue, josta arvoa etsitään, on kiinteä, älä unohda laittaa merkkiä dollari ($) merkki taulukon soluviitenumeron edessä.
  • Kun työskentelet joukkoarvojen kanssa, älä unohda painaa painiketta Ctrl + Shift + Enter näppäimistöllä tuloksia poimittaessa. Painamalla vain Kirjoita toimii vain silloin, kun käytät Microsoft 365 .
  • Kun olet painanut Ctrl + Shift + Enter , huomaat, että kaavarivi sulkee kaavan sisäänsä muodossa suljetut aaltosulkeet {} , ilmoittaen sen array-kaavaksi. Älä kirjoita niitä suluissa {} itse, Excel tekee tämän automaattisesti puolestasi.

Päätelmä

Tässä artikkelissa selitetään yksityiskohtaisesti, miten käyttää INDEX MATCH funktioita useiden tulosten poimimiseen Excelissä. Toivottavasti tästä artikkelista on ollut sinulle paljon hyötyä. Kysy rohkeasti, jos sinulla on kysyttävää aiheeseen liittyen.

Hugh West on erittäin kokenut Excel-kouluttaja ja analyytikko, jolla on yli 10 vuoden kokemus alalta. Hän on koulutukseltaan laskentatoimen ja rahoituksen kandidaatti sekä kauppatieteiden maisteri. Hughilla on intohimo opettamiseen, ja hän on kehittänyt ainutlaatuisen opetusmenetelmän, jota on helppo seurata ja ymmärtää. Hänen asiantuntemuksensa Excelistä on auttanut tuhansia opiskelijoita ja ammattilaisia ​​maailmanlaajuisesti parantamaan taitojaan ja menestymään urallaan. Blogissaan Hugh jakaa tietämyksensä maailman kanssa tarjoamalla ilmaisia ​​Excel-opetusohjelmia ja verkkokoulutusta auttaakseen yksilöitä ja yrityksiä saavuttamaan täyden potentiaalinsa.