Excel: проверьте, существует ли значение Cell в столбце, а затем получите значение NEXT Cell
После проверки наличия значения ячейки в столбце мне нужно получить значение ячейки рядом с соответствующей ячейкой. Например, я проверяю, существует ли значение в 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))
... и он не работает.
Что мне не хватает? Как добавить номер столбца к номеру строки, возвращенному для достижения желаемого результата?
Ответы
Ответ 1
После ответа t.thielemans я работал, просто
=VLOOKUP(A1, B:C, 2, FALSE)
работает отлично и делает то, что я хотел, за исключением того, что он возвращает #N/A
для не-матчей; поэтому он подходит для случая, когда известно, что значение определенно существует в колонке поиска.
Изменить (на основе комментария t.thielemans):
Чтобы избежать #N/A
для несоответствий, выполните:
=IFERROR(VLOOKUP(A1, B:C, 2, FALSE), "No Match")
Ответ 2
Используйте другую функцию, например VLOOKUP:
=IF(ISERROR(MATCH(A1,B:B, 0)), "No Match", VLOOKUP(A1,B:C,2,FALSE))
Ответ 3
Как насчет этого?
=IF(ISERROR(MATCH(A1,B:B, 0)), "No Match", INDIRECT(ADDRESS(MATCH(A1,B:B, 0), 3)))
"3" в конце означает для столбца C.