Excel VLOOKUP по второму столбцу, используя имя таблицы в качестве диапазона

11

Используя приведенную ниже таблицу примеров, я могу использовать формулу =VLOOKUP("ABC123456",Table1,3,FALSE)для поиска Demandзначения, но я хочу иметь возможность выполнять поиск, используя Cust Partполе, не делая Cust Partполе первым столбцом в таблице. Создание Cust Partпервого столбца не является приемлемым решением, потому что мне также нужно выполнять поиск с использованием Partполя, и я не хочу использовать жестко закодированные диапазоны (например $B$2:$C$4), в основном из соображений предпочтения, но также из-за использования таблицы и поля Имена облегчают чтение формулы. Есть какой-либо способ сделать это?

введите описание изображения здесь

Дрю Чапин
источник

Ответы:

14

Можно использовать OFFSETдля возврата диапазона Table1, но на 1 столбец больше, например

=VLOOKUP("AZ12345",OFFSET(Table1,0,1),2,FALSE)

Это будет искать AZ12345 в столбце CustPart и вернет значение из следующего столбца

Барри Гудини
источник
Какой параметр должен быть здесь, если здесь необходимо значение столбца детали?
Зигимантус
10

Вы можете комбинировать INDEXи MATCHполучать один и тот же результат, VLOOKUPне сравнивая сравнение с первым столбцом. Хотя это немного сложнее.

=INDEX(Table1[Demand],MATCH("AZ12345",Table1[Cust Part],0))

По сути, вы используете, MATCHчтобы найти номер строки и INDEXполучить значение.

Примечание. В отличие от этого VLOOKUP, если результатом является пустая ячейка, вместо пустой строки INDEXвозвращается 0.

Дрю Чапин
источник
1
"В отличие от VLOOKUP"? Он ведет себя точно так же в отношении пустых ячеек, переводимых в 0.
underscore_d
1
Это первый пример INDEX MATCHиспользования таблицы. Это значительно улучшает читаемость формулы. Я пытался избежать, OFFSETпотому что это изменчивая функция Excel и может привести к дополнительным издержкам обработки.
Бен
2

Как насчет чего-то вроде:

=VLOOKUP("ABC123456";Table1[[Cust Part]:[Demand]];COLUMNS(Table1[[Cust Part]:[Demand]]);FALSE) 

Я предпочитаю это, чтобы вы могли видеть, что вы делаете, даже в более сложных таблицах, плюс, если структура таблицы изменится, формула будет работать, пока столбец Cust Part находится перед столбцом Demand.

Питер
источник