Например,
Скажем, значение ячейки:
IF(ISNA(VLOOKUP(A3,somesheet!G:J,3,FALSE) * VLOOKUP(A3,someothersheet!A:D,4,FALSE)), 0, VLOOKUP(A3,somesheet!G:J,3,FALSE) * VLOOKUP(A3,someothersheet!A:D,4,FALSE))
Здесь я хочу продукт двух VLOOKUP. Но некоторые строки могут отсутствовать, поэтому он может вернуть NA. Если он возвращает NA, просто поместите ноль в эту ячейку, но в противном случае я хочу продукт.
Кажется глупым, что вам придется иметь это целое выражение там дважды. Есть ли какой-нибудь ярлык, где я могу сказать «сделать этот расчет, и если он возвращает значение, используйте его, но в противном случае используйте какое-то значение по умолчанию?
Ответы:
Если у вас Excel 2007 или более поздние версии, вы можете использовать функцию IFERROR, чтобы избежать повторения
=IFERROR(VLOOKUP(A3,somesheet!G:J,3,FALSE)*VLOOKUP(A3,someothersheet!A:D,4,FALSE),0)
или вы можете использовать обходной путь, как это в более ранних версиях
=LOOKUP(9.9E+307,IF({1,0},0,VLOOKUP(A3,somesheet!G:J,3,FALSE)*VLOOKUP(A3,someothersheet!A:D,4,FALSE)))
источник
Это может иметь больше смысла для вас, если вы проверили первое значение поиска для NA, а затем проверили второе, и если они оба действительны, умножьте их.
Это добавляет больше сложности, но не может обидеть тонкие чувства программиста. ;-)
источник