если формула не работает так, как ожидалось

если формула не работает так, как ожидалось

вся формула, которая работает неправильно:

=IF(VLOOKUP(K28,AD:AF,3,FALSE)="offset","offset",IF(L28="",VLOOKUP(N28,AM:AN,2,FALSE),VLOOKUP(L28,AJ:AN,5,FALSE)))

Эта часть формулы сама по себе работает правильно и возвращает то, что мне нужно:

=IF(L28="",VLOOKUP(N28,AM:AN,2,FALSE),VLOOKUP(L28,AJ:AN,5,FALSE))

Однако в сочетании с остальной частью формулы эта часть не работает:

VLOOKUP(N28,AM:AN,2,FALSE).

Хотя все остальные части формулы работают. Заранее благодарен за помощь.

решение1

Если K28 найден в AD:AD, то эта формула должна работать независимо от того,компенсироватьнаходится в AF:AF или нет. Однако, если K28 естьнетнайдено в AD:AD, то этот первый VLOOKUP возвращает ошибку #N/A и все останавливается на этом. Вам нужен контроль ошибок по крайней мере для этого первого VLOOKUP.

=IF(iferror(VLOOKUP(K28,AD:AF,3,FALSE), "err")="offset", "offset", IF(L28="", VLOOKUP(N28,AM:AN,2,FALSE), VLOOKUP(L28,AJ:AN,5,FALSE)))

'alternate
=iferror(VLOOKUP(K28,AD:AF,3,FALSE), IF(L28="", VLOOKUP(N28,AM:AN,2,FALSE), VLOOKUP(L28,AJ:AN,5,FALSE)))

Я всегда контролирую ошибки в каждом VLOOKUP, который я реализую, но это личный выбор. Вы можете добавить еще пару оберток IFERROR, если хотите.

Связанный контент