Excel-kaava: Tarkka haku haulla INDEX ja MATCH -

Sisällysluettelo

Yleinen kaava

(=INDEX(data,MATCH(TRUE,EXACT(val,lookup_col),0),col_num))

Yhteenveto

Kirjainkoon mukainen haku

Oletusarvon mukaan vakiohaut, joissa on VLOOKUP tai INDEX + MATCH, eivät eroa kirjainkokoja. Sekä VLOOKUP että MATCH yksinkertaisesti palauttavat ensimmäisen ottelun ottamatta huomioon kirjainkokoa.

Jos sinun on kuitenkin tehtävä kirjainkoon huomioon ottava haku, voit tehdä sen matriisikaavalla, joka käyttää INDEX-, MATCH- ja EXACT-toimintoja.

Tässä esimerkissä käytämme seuraavaa kaavaa

(=INDEX(data,MATCH(TRUE,EXACT(F4,B3:B102),0),3))

Tämä kaava on matriisikaava ja se on syötettävä painamalla Control + Vaihto + Enter.

Selitys

Koska MATCH ei yksinään erota isoista ja pienistä kirjaimista, tarvitsemme tavan saada Excel vertailemaan isoja ja pieniä kirjaimia. EXACT-toiminto on täydellinen toiminto tähän, mutta tapa, jolla sitä käytetään, on hieman epätavallinen, koska meidän on verrattava yhtä solua solualueeseen.

Työskentelemällä sisältä ulospäin meillä on ensin:

EXACT(F4,B3:B102)

missä F4 sisältää hakuarvon ja B3: B102 on viittaus hakusarakkeeseen (Etunimet). Koska annamme TARKKA matriisin toisena argumenttina, saamme takaisin joukon TOSI vääriä arvoja, kuten tämä:

(EPÄTOSI, EPÄTOSI, EPÄTOSI, EPÄTOSI, EPÄTOSI, TOSI jne.)

Tämä on seurausta B4: n arvon vertailemisesta jokaisessa hakusarakkeen solussa. Missä tahansa näemme TOSI, tiedämme, että meillä on tarkka vastaus, joka kunnioittaa tapausta.

Nyt meidän on saatava TOSI-arvon sijainti (ts. Rivinumero) tästä taulukosta. Tätä varten voimme käyttää MATCHia, etsimällä TOSI ja asettamalla tarkan vastaavuustilan:

MATCH(TRUE,EXACT(F4,B3:B102),0)

On tärkeää huomata, että MATCH palauttaa aina ensimmäisen ottelun, jos kopioita on, joten jos sarakkeessa sattuu olemaan toinen tarkka ottelu, vastaat vain ensimmäistä.

Nyt meillä on rivinumero. Seuraavaksi meidän on vain käytettävä INDEX-arvoa arvon noutamiseen oikean rivin ja sarakkeen leikkauspisteestä. Sarakkeen numero on tässä tapauksessa koodattu kuin 3, koska nimetty alue data sisältää kaikki sarakkeet. Lopullinen kaava on:

(=INDEX(data,MATCH(TRUE,EXACT(F4,B3:B102),0),3))

Meidän on annettava tämä kaava matriisikaavana EXACT-järjestelmän luoman taulukon takia.

Tämä kaava hakee sekä teksti- että numeeriset arvot. Jos haluat hakea vain numeroita, voit käyttää SUMPRODUCT-pohjaista kaavaa; katso alla oleva linkki

Mielenkiintoisia artikkeleita...