Daily Archives: 1.4.2013

Kahden listan vertailu

Verrataan kahta listaa keskenään ja poimitaan toisesta listasta tietoja ensimmäiseen.
Tähän on kätevä käyttää funktiota PHAKU (VLOOKUP).
Esimerkissä poimitaan henkilön palkka palkat.xlsx –työkirjasta.
Kaava solussa C2 on =PHAKU(A2;[Palkat.xlsx]Palkkaus!$A:$C;3;EPÄTOSI).
=VLOOKUP(A2;[Palkat.xlsx]Palkkaus!$A:$C;3;FALSE)

PHAKU (VLOOKUP)

PHAKU (VLOOKUP)

Hakuarvo on tässä tapauksessa se arvo jonka perusteella toisesta taulukosta haetaan tietoja.
Taulukko_matriisi on se taulukko alue jonka vasemmanpuoleisesta sarakkeesta arvoa haetaan.
Sar_indeksi_nro on sen sarakkeen numero valitulla taulukkoalueella josta arvo poimitaan.
Alue_halu on epätosi koska halutaan löytää täsmällinen vastine.

Taulu josta haetaan tietoja kannattaa lajitella hakuarvon perusteella.

Mikäli tietoja ei toisesta taulusta löydy palauttaa funktio virhearvon #PUUTTUU! (#N/A).
Tämän saat pois seuraavalla tavalla kaavalla (Excel versiot 2007 ja uudemmat):
=JOSVIRHE(PHAKU(A2;[Palkat.xlsx]Palkkaus!$A:$C;3;EPÄTOSI);”Ei löydy”)
JOSVIRHE = IFERROR
EPÄTOSI = FALSE
Kaavan tekstin “Ei löydy” sijasta voit käyttää mitä tahansa haluamaasi tekstiä tai sitten “” jotta solu jäisi tyhjäksi.
=JOSVIRHE(PHAKU(A2;[Palkat.xlsx]Palkkaus!$A:$C;3;EPÄTOSI);””)

Jos käytössäsi on vanhempi Excel voit poistaa virhesanoman esimerkiksi seuraavanlaisella kaavalla:
=JOS(ONVIRHE(PHAKU(A3;[Palkat.xlsx]Palkkaus!$A:$C;3;EPÄTOSI));””;PHAKU(A3;[Palkat.xlsx]Palkkaus!$A:$C;3;EPÄTOSI)).
JOS = IF
ONVIRHE = ISERROR
Huomaa että tässä kaavassa haku suoritetaan kaksi kertaa joka tekee kaavasta hitaan.