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