Excel-kaava: Vasen haku VLOOKUP - -toiminnolla

Yleinen kaava

=VLOOKUP(A1,CHOOSE((1,2),range2,range1),2,0)

Yhteenveto

Jos haluat käyttää VLOOKUPia etsimään vasemmalle, voit järjestää hakutaulukon VALITSE-toiminnolla. Esitetyssä esimerkissä kaava kohdassa F5 on:

=VLOOKUP(E5,CHOOSE((1,2),score,rating),2,0)

missä pisteet (C5: C9) ja luokitus (B5: B9) on nimetty alueiksi.

Selitys

Yksi VLOOKUP-toiminnon keskeisistä rajoituksista on, että se voi hakea arvoja vain oikealle. Toisin sanoen, hakuarvoja sisältävän sarakkeen on oltava VLOOKUP-toiminnolla haettavien arvojen vasemmalla puolella. Tätä käyttäytymistä ei voida mitenkään ohittaa, koska se on kiinteästi kytketty toimintoon. Tämän seurauksena normaalissa kokoonpanossa ei ole tapaa käyttää VLOOKUPia luokituksen hakemiseen sarakkeesta B sarakkeen C pisteytyksen perusteella.

Yksi kiertotapa on itse hakutaulukon uudelleenjärjestely ja siirtäminen hakusarakkeeseen hakuarvojen vasemmalle puolelle. Tämä on tässä esimerkissä käytetty lähestymistapa, joka käyttää VALITSE-funktion käänteistä luokitusta ja pisteitä näin:

CHOOSE((1,2),score,rating)

Normaalisti CHOOSE-asetusta käytetään yhtenä indeksi numerona ensimmäisenä argumenttina, ja muut argumentit ovat arvoja, joista valita. Tässä annamme kuitenkin valita taulukon vakio indeksiluvulle, joka sisältää kaksi numeroa: (1,2). Pohjimmiltaan pyydämme valitsemaan sekä ensimmäisen että toisen arvon.

Arvot annetaan esimerkissä kahtena nimettynä alueena: pisteet ja arvosanat. Huomaa kuitenkin, että tarjoamme nämä alueet päinvastaisessa järjestyksessä. CHOOSE-toiminto valitsee molemmat alueet annetussa järjestyksessä ja palauttaa tuloksen yhtenä ryhmänä seuraavasti:

(5,"Excellent";4,"Good";3,"Average";2,"Poor";1,"Terrible")

CHOOSE palauttaa tämän taulukon suoraan VLOOKUP: iin taulukon matriisin argumenttina. Toisin sanoen CHOOSE toimittaa tällaisen hakutaulukon VLOOKUP: lle:

Käyttämällä E5: n hakuarvoa VLOOKUP etsii vasta luodun taulukon sisällä ja palauttaa tuloksen toisesta sarakkeesta.

Järjestetään uudelleen taulukon vakion avulla

Esitetyssä esimerkissä järjestämme hakutaulukon kääntämällä "luokitus" ja "pisteet" valitun toiminnon sisällä. Voisimme sen sijaan käyttää matriisivakioa järjestämään näin:

CHOOSE((2,1),rating,score)

Tulos on täsmälleen sama.

Indeksillä ja MATCH: lla

Vaikka yllä oleva esimerkki toimii hyvin, se ei ole ihanteellinen. Ensinnäkin useimmat tavalliset käyttäjät eivät ymmärrä kaavan toimintaa. Luonnollisempi ratkaisu on INDEX ja MATCH. Tässä on vastaava kaava:

=INDEX(rating,MATCH(E5,score,0))

Itse asiassa tämä on hyvä esimerkki siitä, kuinka INDEX ja MATCH ovat joustavampia kuin VLOOKUP.

Mielenkiintoisia artikkeleita...