Vlookup текст
Стандартната функция Vlookup може да се използва за намиране на стойност в таблица:
И ние бихме използвали VLOOKUP така:
= VLOOKUP (A1: 10, "Куче", 2, FALSE)
да даде стойност 30.
В този списък обаче виждаме, че Dog се среща 3 пъти. Стандартната функция VLOOKUP ще върне само стойността, свързана с първия елемент в този списък. Той няма да върне 125 или 9,250 с втория или третия екземпляр на „куче“ в този списък.
Vlookup множество резултати
Следващата функция ни позволява да посочим диапазон, израз, който да се търси, и екземпляра (номер на резултат) и след това да върнем съответната стойност:
Функция Find_nth_Occurrence (Column_Range As Range, Expression As String, Occ As Integer) Като Double Dim Cell Dim Occurrences_to_date As Integer Find_nth_Occurrence = 1000000 Събития_to_date = 0 За всяка клетка в Column_Range Ако Cell.Contec След това Find_nth_Occurrence = Cell.Offset (0, 1). Value End If End If Next Cell End Функция
Основната разлика между тази и стандартната функция VLOOKUP е, че в този случай диапазонът е единственият диапазон от етикети, а не целият диапазон от данни.
По -долу е подпрограма, която извиква тази функция въз основа на събитието щракване от команден бутон. Изглежда в диапазона A1: A8 на Sheet2, за третия екземпляр на думата Dog:
Private Sub CommandButton1_Click () Затъмняване на отговор като двоен отговор = Find_nth_Occurrence (Sheets ("Sheet2"). Range ("A1: A8"), "Dog", 3) MsgBox AnswerEnd Sub
Променливата „Отговор“ съхранява резултата от функцията - който след това се показва в Msgbox на екрана:
> Ако обаче думата не може да бъде намерена в списъка или честотата не се среща, напр. Няма 5-ти екземпляр на думата „Куче“, тогава се връща стойността от 1 000 000:-
Отговор = Find_nth_Occurrence (Листове („Sheet2“). Диапазон („A1: A8“), „Куче“, 5)
Или
Отговор = Find_nth_Occurrence (Листове („Sheet2“). Обхват („A1: A8“), „Кон“, 2)