Текст для перегляду
Стандартну функцію Vlookup можна використовувати для пошуку значення в таблиці:
І ми б використовували VLOOKUP так:
= VLOOKUP (A1: 10, "Собака", 2, FALSE)
дати значення 30.
Однак у цьому списку ми бачимо, що собака зустрічається 3 рази. Стандартна функція VLOOKUP поверне лише значення, пов'язане з першим елементом у цьому списку. Він не поверне 125 або 9 250 з 2 -м або 3 -м екземпляром "собака" у цьому списку.
Перегляд кількох результатів
Наступна функція дозволяє нам вказати діапазон, вираз для пошуку та екземпляр (номер результату), а потім повернути відповідне значення:
Функція 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 Occurrences_to_date = 0 Для кожної клітинки у стовпці_Range Якщо Cell.Ocete Тоді Find_nth_Occurrence = Cell.Offset (0, 1) .Value End If End Якщо функція End of Cell End
Основна відмінність цієї від стандартної функції VLOOKUP полягає в тому, що в цьому випадку діапазон є єдиним діапазоном міток, а не всім діапазоном даних.
Нижче наведено підпрограму, яка викликає цю функцію на основі події клацання з кнопки команди. Це виглядає в діапазоні A1: A8 на Аркуші 2, для третього екземпляра слова Собака:
Приватне підпорядкування CommandButton1_Click () Затемнення відповіді як подвійної відповіді = Find_nth_Occurrence (Аркуші ("Лист2"). Діапазон ("A1: A8"), "Собака", 3) MsgBox AnswerEnd Sub
Змінна “Відповідь” зберігає результат функції, який потім відображається у вікні повідомлень на екрані:
> Однак якщо слова не можна знайти у списку або частота не зустрічається, наприклад, немає п’ятого екземпляра слова «собака», повертається значення 1 000 000:-
Відповідь = Find_nth_Occurrence (Аркуші ("Аркуш2"). Діапазон ("A1: A8"), "Собака", 5)
Або
Відповідь = Find_nth_Occurrence (Аркуші ("Аркуш2"). Діапазон ("A1: A8"), "Кінь", 2)