После проверки, существует ли значение ячейки в столбце, мне нужно получить значение ячейки рядом с соответствующей ячейкой . Например, я могу проверить , если значение cell A1
существует в column B
, и предполагая , что он совпадает B5
, то я хочу значение в cell C5
.
Чтобы решить первую половину проблемы, я сделал вот что ...
=IF(ISERROR(MATCH(A1,B:B, 0)), "No Match", "Match")
... и это сработало. Затем, благодаря более раннему ответу на SO , я также смог получить номер строки соответствующей ячейки:
=IF(ISERROR(MATCH(A1,B:B, 0)), "No Match", "Match on Row " & MATCH(A1,B:B, 0))
Поэтому, естественно, чтобы получить значение следующей ячейки, я попытался ...
=IF(ISERROR(MATCH(A1,B:B, 0)), "No Match", C&MATCH(A1,B:B, 0))
... и это не работает.
Что мне не хватает? Как мне добавить номер столбца к номеру возвращаемой строки для достижения желаемого результата?
VLOOKUP(A1, B:C, 2, FALSE)
вместо фиксированного диапазона (чтобы учесть растущий поисковый массив)?IFERROR
здесь не нужно . Он отлично работает и без него, потому что ВПР выполняется только при совпадении.После ответа Тилеманса я работал над этим.
работает нормально и делает то, что я хотел, за исключением того, что возвращается
#N/A
при несовпадении; поэтому он подходит для случая, когда известно, что значение определенно существует в столбце поиска.Изменить (на основе комментария Тилеманса):
Чтобы избежать
#N/A
несоответствий, выполните:источник
IFERROR(VLOOKUP(A1, B:C, 2, FALSE),0)
. Я также добавил это к своему ответу. 0 - любое значение, которое вы хотите :) (используйте это в коде, это приведет к тому, что совпадение не будет найдено;)Как насчет этого?
«3» в конце означает столбец C.
источник