数式が期待通りに動作しない場合

数式が期待通りに動作しない場合

正しく機能していない式全体:

=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 ラッパーをいくつか追加することもできます。

関連情報