Vlookup - Več rezultatov z VBA - primeri kode VBA

Besedilo Vlookup

Standardno funkcijo Vlookup lahko uporabite za iskanje vrednosti v tabeli:

VLOOKUP bi uporabili tako:

= VLOOKUP (A1: 10, "Pes", 2, LAŽNO)

dati vrednost 30.

Vendar na tem seznamu vidimo, da se pes pojavi 3 -krat. Standardna funkcija VLOOKUP bo vrnila samo vrednost, povezano s prvim elementom na tem seznamu. Ne bo vrnil 125 ali 9.250 z 2. ali 3. instanco "pes" na tem seznamu.

Vlookup Več rezultatov

Naslednja funkcija nam omogoča, da določimo obseg, izraz za iskanje in primerek (številko rezultata) ter nato vrnemo ustrezno vrednost:

Funkcija Find_nth_Ocourse Nato Find_nth_Occurrence = Cell.Offset (0, 1) .Vrednost End If End Če funkcija Naslednja celica konča

Glavna razlika med to in standardno funkcijo VLOOKUP je, da je v tem primeru obseg edini obseg oznak - ne celoten obseg podatkov.
Sledi podprogram, ki to funkcijo pokliče na podlagi dogodka klika iz ukaznega gumba. Izgleda v razponu A1: A8 na listu 2, za tretji primerek besede pes:

Zasebni pod CommandButton1_Click () Zatemni odgovor kot dvojni odgovor = Find_nth_Occurrence (Sheets ("Sheet2"). Range ("A1: A8"), "Dog", 3) MsgBox AnswerEnd Sub

Spremenljivka "Odgovor" shrani rezultat funkcije - ki se nato prikaže v polju za sporočila na zaslonu:

> Če pa besede ni mogoče najti na seznamu ali se pogostost ne pojavi, npr. Ni petega primera besede "pes", se vrne vrednost 1.000.000:-
Odgovor = Find_nth_Occurrence (Listi (»List2«). Razpon (»A1: A8«), »Pes«, 5)
Or
Odgovor = Najdi_mesec_pojavljanja (Listi (»List2«). Razpon (»A1: A8«), »Konj«, 2)

wave wave wave wave wave