Taulukon arvoa on helppo etsiä yhdellä ainutlaatuisella avaimella. Voimme yksinkertaisesti käyttää VLOOKUP -toimintoa. Mutta jos sinulla ei ole tätä ainutlaatuista saraketta tiedoissasi ja sinun on etsittävä useita sarakkeita vastaamaan arvoa, VLOOKUP ei auta.
Joten, jos haluat etsiä arvon taulukosta, jossa on useita ehtoja, käytämme INDEX-MATCH-INDEX-kaavaa.
Yleinen kaava useiden kriteerien haulle
= INDEKSI (haun_alue, MATCH (1, INDEKSI ((kriteerit1 = alue1)*(kriteerit2 = alue2)*(kriteeritN = alueN), 0,1), 0))
lookup_range: Se on alue, josta haluat hakea arvon.
Kriteerit1, Kriteerit2, Kriteerit N: Nämä ovat kriteerit, jotka haluat täsmäyttää alueille 1, alue2 ja alue N. Sinulla voi olla enintään 270 ehtoa - alueparit.
Alue1, alue2, alueN: Nämä ovat alueita, joilla vastaat kriteerejäsi.
Miten se toimii? Katsotaan…
INDEX ja MATCH, joissa on useita ehtoja
Tässä minulla on tietotaulukko. Haluan vetää asiakkaan nimen käyttämällä varauspäivää, rakentajaa ja aluetta. Tässä on siis kolme kriteeriä ja yksi hakualue.
Kirjoita tämä kaava soluun I4 ja paina Enter.
= INDEKSI (E2: E16, MATCH (1, INDEKSI ((I1 = A2: A16)*(I2 = B2: B16)*(I3 = C2: C16), 0,1), 0))
Kuinka se toimii:
Tiedämme jo, kuinka INDEX- ja MATCH -toiminnot toimivat EXCELissä, joten en aio selittää sitä täällä. Puhumme temppusta, jota käytimme täällä.
(I1 = A2: A16)*(I2 = B2: B16)*(I3 = C2: C16): Pääosa on tämä. Tämän väitteen jokainen osa palauttaa joukon tosi epätosi.
Kun totuusarvot kerrotaan, ne palauttavat matriisin 0 ja 1. Kerroin toimii AND -operaattorina. Tiukka, kun kaikki arvot ovat totta vain silloin se palauttaa 1 muu 0
(I1 = A2: A16)*(I2 = B2: B16)*(I3 = C2: C16) Tämä palaa kokonaan
{FALSE; FALSE; FALSE; FALSE; FALSE; FALSE; TRUE; TRUE; FALSE; FALSE; FALSE; FALSE; FALSE; FALSE; FALSE}* {FALSE; FALSE; FALSE; TRUE; TRUE; TRUE; TRUE; TRUE; FALSE; FALSE; FALSE; FALSE; FALSE; FALSE; TRUE}* {FALSE; FALSE; FALSE; TRUE; FALSE; FALSE; FALSE; TRUE; FALSE; FALSE; FALSE; FALSE; FALSE; FALSE; FALSE} {101} {101}
Joka kääntyy
{0;0;0;0;0;0;0;1;0;0;0;0;0;0;0}
INDEKSI((I1 = A2: A16)*(I2 = B2: B16)*(I3 = C2: C16), 0,1): INDEX -funktio palauttaa saman taulukon ({0; 0; 0; 0; 0; 0; 0; 1; 0; 0; 0; 0; 0; 0; 0; 0) MATCH -funktioksi hakuvaihtoehtona.
OTTELU(1,INDEKSI((I1 = A2: A16)*(I2 = B2: B16)*(I3 = C2: C16), 0,1): MATCH -funktio etsii 1 taulukosta {0; 0; 0; 0; 0; 0 ; 0; 1; 0; 0; 0; 0; 0; 0; 0}. Ja palauttaa taulukon ensimmäisen ensimmäisen indeksinumeron. Joka on 8 täällä.
INDEKSI(E2: E16,OTTELU(1,INDEKSI((I1 = A2: A16)*(I2 = B2: B16)*(I3 = C2: C16), 0,1), 0)): Lopuksi INDEX palauttaa arvon annetulta alueelta (E2: E16) indeksi (8).
Yksinkertainen????. Valitettavasti sitä ei voisi tehdä yksinkertaisemmaksi.
Array -ratkaisu
Jos voit painaa CTRL + VAIHTO + ENTER, voit poistaa sisäisen INDEX -toiminnon. Kirjoita vain tämä kaava ja paina CTRL + VAIHTO + ENTER.
= INDEKSI (E2: E16, MATCH (1, (I1 = A2: A16)*(I2 = B2: B16)*(I3 = C2: C16), 0))
Yleinen matriisikaava useiden kriteerien hakuun
= INDEKSI (haun_alue, MATCH (1, (ehto1 = alue1)*(ehto2 = alue2)*(kriteeriN = alueN), 0))
Kaava toimii samalla tavalla kuin yllä oleva selitys.
Yritin parhaani mukaan selittää sen mahdollisimman yksinkertaisesti. Mutta jos en ollut tarpeeksi selkeä, kerro siitä minulle alla olevassa kommenttiosassa. Muuten, sinun ei tarvitse tietää, miten moottori toimii ajaaksesi autoa. Sinun tarvitsee vain osata ajaa sitä. Ja tiedät sen hyvin.
Kuinka etsiä 5 parasta arvoa päällekkäisillä arvoilla käyttämällä INDEX-MATCH-ohjelmaa Excelissä
Kuinka hakea useita arvoja Excelissä
VLOOKUPin dynaaminen Col -indeksi Excelissä
VLOOKUPin käyttäminen kahdesta tai useammasta hakutaulukosta Excelissä
Suosittuja artikkeleita:
50 Excel -pikanäppäintä tuottavuuden lisäämiseksi
VLOOKUP -toiminnon käyttäminen Excelissä
COUNTIF -toiminnon käyttäminen Excelissä
SUMIF -toiminnon käyttäminen Excelissä