fbpx

INDEX MATCH – funktio, eli VLOOKUP ja paljon enemmän

Päivitys 8.9.2020

Suosittelen jatkossa käyttämään uutta ja hyväksi todettua XLOOKUP-funktiota, jos käyttämäsi versio tukee sitä!

Ohjeen löydät tästä

——————————————–

INDEX(MATCH) on yksi Excelin tehokkaimmista kaavoista. Sitä voidaan käyttää VLOOKUPin tavoin, mutta toisin kuin VLOOKUP, sen toiminnallisuus ei rajoitu pystysuoriin hakuihin ja voit esimerkiksi lisätä taulukkoihisi sarakkeita huoletta ilman, että kaavat menevät solmuun. Moni ammattilainen onkin korvannut VLOOKUPin kokonaan INDEX MATCHillä ja käyttää sitä tänäänkin päivittäisessä työssään.

INDEX MATCH koostuu itseasiassa kahdesta funktiosta:

INDEX (suomeksi INDEKSI) ja MATCH (suomeksi VASTINE). Lyhyesti selitettynä INDEX-funktio toimii siten, että sille

1.syötetään lista lukuja, joista se

2. palauttaa listasta järjestykseltään käyttäjän haluaman luvun.

Yksistään tästä funktiosta lienee siis harvemmin käytännöllistä hyötyä. Yhdessä MATCHin kanssa (joka hakee taulukosta arvon ja palauttaa sen järjestysluvun, lue lisää tästä) ne muodostavat kuitenkin sellaisen dynaamisen duon, jota Excel-asiantuntijat ovat jo pitkään ennustaneet VLOOKUPin tuhoajaksi.

VLOOKUP löytyy kuitenkin vielä joistakin taulukoista. Yksi syy siihen lienee sen yksinkertaisuus. INDEX MATCH koostuu nimittäin kahdesta eri funktiosta, joten sen opetteleminen vaatii hieman kärsivällisyyttä. Suosittelenkin siis ottamaan nyt hyvän asennon ja rentotutumaan hetkeksi – tämän kirjoituksen luettuasi olet huomaamattasi oppinut käyttämään kahta funktiota ja jopa yhdistämään ne!

TEHTÄVÄ: Kuinka paljon kala on?

Luonnonvarakeskuksen tilastotietokannasta löytyy kalan tuottajahinnat vuodelta 2015.

taulukko
Kalan tuottajahinnat 2015

Taulukossa on 19 eri kalalajin tuottajahinnat vuodesta 2006 vuoteen 2015, perkaamattomina ja perattuina. Selvitetään siitä, kuinka paljon kilo perattua siikaa maksoi vuonna 2008 käyttämällä INDEX MATCH -funktiota. INDEX MATCH -funktio tarvitsee silloin kolme arvoa:
=INDEX( *1* ; MATCH( *2* ; *3* ;0))

*1* lista, jossa tulos on

*2* hakuarvo

*3* lista, josta hakuarvo löytyy

RATKAISU:

*1*   Syötetään INDEX-funktiolle lista luvuista.

lista-luvuista

Tässä tapauksessa olemme kiinnostuneita vuoden 2008 luvuista, joten valitsemme sen sarakkeen luvut.

*2* Annetaan INDEX-funktion sisällä olevalle MATCH-funktiolle hakuarvo.

match

Tässä tapauksessa valitsemme solun B20. Myös lainausmerkkien sisällä teksti ”Siika” toimisi.

*3* Annetaan MATCH-funktiolle lista, josta Siika etsitään.

lista-kaloista

*4*  [match_type], laita tähän arvoksi 0

nolla

Ja päätä funktio laittamalla sulut kiinni ja paina Enter.

tulos

TULOS: Näin ollen saamme vastaukseksi 4,44€

Lopuksi:

Tämän yksinkertaisen esimerkin tarkoituksena on näyttää, kuinka INDEX MATCHiä voidaan käyttää kuten VLOOKUPia. INDEX MATCHin erinoimaisuus ei kuitenkaan jää todellakaan vain tähän!

  1. Voit käyttää INDEX MATCHiä myös vaakasuoraan hakuun, jolloin valitset vain vaakasuorat taulukot.
  2. Hae arvoja, jotka sijaitsevat sarakkeen vasemmalla puolella (VLOOKUP ei tähän pysty!)
  3. Voit lisätä taulukkoon uusia sarakkeita ja INDEX MATCH pysyy menossa mukana.
  4. Sarakkeita ei tarvitse laskea toisin kuin VLOOKUPia käytettäessä.
  5. INDEX MATCH on pohja monelle muullekin kaavalle. Kun osaat tämän, voit pienellä vaivalla hakea arvoja esimerkiksi kaksiuloitteisesta taulukosta INDEX MATCH MATCH -funktiolla tai hakea arvoja kahden tai useamman sarakkeen arvon perusteella.

2 ajatusta aiheesta “INDEX MATCH – funktio, eli VLOOKUP ja paljon enemmän”

  1. Hei! Tein sivusi avulla INDEX MATCH MATCH- hakua, jolla yritän saada etsittyä kahdella hakuehdolla (huipputeho & kohdetunnus) taulukosta päivämäärän jolloin nuo molemmat ehdot täyttyvät (hakutaulukossa kohdetunnukset,tehot ja päivämäärät omilla sarakkeillaan allekain kuukauden ajalta), =INDEKSI(PäivämääräHakualue;VASTINE(HaluttuTehoTieto;TehoTIetoHakualue;0);VASTINE(HaluttuKohdetunnus;KohdetunnusHakuaLue;0)), kaava toimii ekalle kohdetunnukselle mutta en saa kopioitua kaavaa seuraaville riveille alkuperäisen alle: hakualueet lukittu F4 ja ainoastaan hakuehdot eli kohdetunnus ja tehotieto muuttuvat kaavassa, tulee näihin #VIITTAUS- virhe ja valittaa virheellisestä soluviittauksesta? Mitä teen väärin?

  2. Onnistuuko seuraava INDEX MATCHin kanssa: Minulla on sarakkeessa nimikekoodeja ja oikeanpuoleisessa sarakkeessa montako niitä on käytetty. Haluaisin poistaa nimikelistasta kaksoiskappaleet ja laskea montako kappaletta niitä käytettiin. Esimerkiksi Koira 2, Kissa 3, Koira 2, Hiiri 1 > Koira 4, Kissa 3, Hiiri 1. Voitko auttaa?

Kommentoi

Sähköpostiosoitettasi ei julkaista.