Vlookup -teksti
Vlookup -vakiotoimintoa voidaan käyttää arvon löytämiseen taulukosta:
Ja käytämme VLOOKUPia seuraavasti:
= HAKU (A1: 10, "Koira", 2, EPÄTOSI)
antaa arvon 30.
Tässä luettelossa näemme kuitenkin, että koira esiintyy 3 kertaa. Normaali VLOOKUP -toiminto palauttaa vain tämän luettelon ensimmäiseen kohteeseen liittyvän arvon. Se ei palauta 125: tä tai 9 250: tä, kun luettelon toinen tai kolmas esiintymä on "koira".
Vlookup Useita tuloksia
Seuraavan funktion avulla voimme määrittää alueen, haettavan lausekkeen ja esiintymän (tuloksen numeron) ja palauttaa sitten vastaavan arvon:
Funktio Find_nth_Occurrence (sarakkeen_alue alue, lauseke merkkijonona, Occ kokonaislukuna) kaksinkertaisena himmennettynä solun himmennyksenä Tapahtumat_päivämääränä kokonaislukuna Find_nth_Occurrence = 1000000 esiintymisajan_päivämäärä = 0 jokaiselle solulle sarakkeessa_alue Jos solun arvo = ilmennys_tapahtuma Sitten Find_nth_Occurrence = Solun siirtymä (0, 1). Arvo Loppu Jos loppu Jos seuraava solun lopetusfunktio
Suurin ero tämän ja VLOOKUP -vakiotoiminnon välillä on, että tässä tapauksessa alue on ainoa tarra -alue - ei koko tietoalue.
Seuraava on aliohjelma, joka kutsuu tätä toimintoa komentopainikkeen napsautustapahtuman perusteella. Se näyttää taulukon 2 alueella A1: A8 sanan Koira 3. esiintymän:
Yksityinen alikomento CommandButton1_Click () Himmennä vastaus kaksinkertaisena vastauksena = Find_nth_Occurrence (Sheets ("Sheet2"). Alue ("A1: A8"), "Dog", 3) MsgBox AnswerEnd Sub
Muuttuja "Vastaus" tallentaa toiminnon tuloksen - joka näytetään sitten Msgbox -ruudulla:
> Jos sanaa ei kuitenkaan löydy luettelosta tai esiintymistiheyttä ei esiinny esim. Sanan "koira" viidennen esiintymän kohdalla, arvo 1 000 000 palautetaan:-
Vastaus = Find_nth_Occurrence (Sheets ("Sheet2"). Alue ("A1: A8"), "Dog", 5)
Tai
Vastaus = Find_nth_Occurrence (Sheets ("Sheet2"). Alue ("A1: A8"), "Hevonen", 2)