Как использовать индекс соответствия для 2 КРИТЕРИИ Использование VBA
В этой статье вы узнаете, как использовать функцию ИНДЕКС и ПОИСКПОЗ в VBA для соответствия 2 критериям в Excel с использованием кода VBA.
Чтобы получить результат, мы будем использовать комбинацию функций OFFSET и COUNTA для создания списка диспетчера имен.
Разберемся на примере:
-
У нас есть табель успеваемости с именем, предметом и оценкой студента.
-
Мы хотим узнать отметки для имени и темы студента, введенных в ячейки F2 и G2
-
Для расчета оценок с использованием кода VBA мы использовали функцию OFFSET для создания именованных диапазонов для каждой категории.
-
Нажмите CTRL + F3, чтобы открыть окно диспетчера имен (списки уже созданы)
-
Использование функции «Вставить имена» на вкладке «Формулы»; мы получим весь список диапазонов Defined Name в ячейках
-
Использование функции «Вставить имена» на вкладке «Формулы»; мы получим весь список диапазонов Defined Name в ячейках
-
Нажмите «Вставить список»
Чтобы запустить редактор VB, нам нужно выполнить следующие шаги. Щелкните вкладку «Разработчик». В группе «Код» выберите Visual Basic
-
Нажмите «Вставить», затем «Модуль»
Это создаст новый модуль.
Введите следующий код в Module Sub IndexMatch ()
myName = [F2]
mySubject = [G2]
mark = Application.WorksheetFunction.Index ([StMark], _ Application.WorksheetFunction.Match (myName, ([StName]), 0) + _ Application.WorksheetFunction.Match (mySubject, [StSubject], 0) — 1)
[H2] = отметить конец подписки
-
Нажмите сочетание клавиш ALT + F8, чтобы открыть окно макроса, а затем выберите макрос.
-
В качестве альтернативы вы можете нажать F5, чтобы запустить код на экране VBA.
-
После выполнения макроса мы получим результат в ячейке H2
Вот как мы можем получить результаты с помощью функции таблицы соответствия индекса в VBA.