В Excel можно указать "значение по умолчанию", если формула возвращает #NA?

например,

скажем, значение ячейки:

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))

здесь, я хочу продукт двух VLOOKUPs. Но некоторые строки могут отсутствовать, поэтому он может вернуть NA. Если он возвращает NA, просто поместите ноль в эту ячейку, но в противном случае я хочу продукт.

кажется глупым, что вам придется иметь все это выражение там дважды. Есть ли какой-то ярлык, где я могу сказать: "Сделайте этот расчет, и если он возвращает значение, используйте это, но в противном случае используйте некоторые значение по умолчанию?

23
задан slhck
20.03.2023 21:47 Количество просмотров материала 2596
Распечатать страницу

2 ответа

Если у вас есть 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)))

34
отвечен barry houdini 2023-03-22 05:35

это может иметь больше смысла для вас, если вы проверили первое значение поиска для NA, а затем проверили второе, и если они оба действительны, умножьте их.

=IF(OR(ISNA(VLOOKUP(A3,somesheet!G:J,3,FALSE)),ISNA(VLOOKUP(A3,somesheet!A:D,4,FALSE))), 0, VLOOKUP(A3,somesheet!G:J,3,FALSE) * VLOOKUP(A3,somesheet!A:D,4,FALSE))

Это добавляет больше сложности, но не может оскорбить нежные чувства программист. ; -)

4
отвечен Nathan DeWitt 2023-03-22 07:52

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх