Синтаксис индекса соответствия VBA
Dim ReturnValueRange as range, LookupRange as range
Set ReturnValueRange = Thisworkbook.Sheets("Sheet1").range("$E$1:$E$7")
Set LookupRange = Thisworkbook.Sheets("Sheet1").range("$G$1:$G$7")
LookUpValue = "findMe"
Result = Application.WorksheetFunction.INDEX(ReturnValueRange,Application.WorksheetFunction.MATCH(LookUpValue, LookupRange, 0))
Синтаксис индекса совпадения FORMULA
=INDEX(ReturnValueRange,MATCH(LookUpValue, LookupRange, 0))
LEFT VLOOKUP Синтаксис VBA
- Ошибка возврата не совпадает
Result = WorksheetFunction.VLOOKUP(LookUpValue, WorksheetFunction.CHOOSE(Array(1,2), LookupRange, ReturnValueRange), 2, 0))
ФОРМУЛА СЛЕДУЮЩЕГО VLOOKUP ФОРМУЛА
=VLOOKUP(LookUpValue, WorksheetFunction.CHOOSE({1,2}, LookupRange, ReturnValueRange), 2, 0))
- функция «ВЫБРАТЬ» управляет двумя полями.
- Вы назначаете ссылочные «индексные» номера диапазонам данных -
присвоение LookupRange для индекса с номером 1 и ReturnValueRange для индекса с номером 2
- Итак, когда вы набираете «2» в функции VLookup, вы на самом деле
ссылаясь на индекс № 2 в функции ВЫБРАТЬ.