Что вам нужно сделать - и то, что мы должны были попросить вас сделать два дня назад, - это привести несколько примеров того, каких результатов вы хотите получить и для каких вкладов.
Да, я знаю, что вы дали нам несколько, но они должны были быть отредактированы в вопросе; комментарии - отвратительное место для табличных данных и длинных формул, и они являются неподходящим местом для информации, необходимой для понимания вопроса.
Во всяком случае, я создал несколько образцов данных для вас.
Обратите внимание, что они не все правильно.
Я знаю, что они не все правильные, потому что они противоречивы, но у меня также были бы проблемы с их правильностью, потому что я все еще пытаюсь понять, что вы хотите.
Case D E G I K L (Result)
fee 40 1 39
fie 40 0.01 39.99
foe 40 0 40
fum 40 40
foo 40 0
Если случаи fee и fie не отражают то , что вы хотите, у нас есть серьезные проблемы со связью.
Если вы никогда не получите фактический 0 в E2 , G2 , I2 или K2 , то нам не нужно беспокоиться о случае foe .
Итак, вопрос за 40 000 долларов: хотите ли вы fum (L2 = 40) или foo (L2 = 0)?
fum (L2 = 40)
Это просто Установите L2 на любой из следующих,
=D2-E2-G2-I2-K2
=D2-(E2+G2+I2+K2)
=D2-SUM(E2,G2,I2,K2)
которые эквивалентны.
foo (L2 = 0)
Немного дольше, но так же очевидно:
=IF(OR(ISNUMBER(E2),ISNUMBER(G2),ISNUMBER(I2),ISNUMBER(K2)), D2-E2-G2-I2-K2, 0)
Это может показаться знакомым, поскольку это ответ Тейлина в сочетании с моим комментарием («Если вы хотите, чтобы вычитание вычислялось, если какая-либо или все ячейки имеют значение,… используйте OR вместо AND ».)
А? Какие?
Ваша оригинальная формула,
=IF(AND(ISNUMBER(E2),ISNUMBER(G2),ISNUMBER(I2),ISNUMBER(K2),),"",D2-E2-G2-I2-K2)
это (как указал Тейлин) вызов функции AND() с пятью параметрами:
ISNUMBER(E2) ,
ISNUMBER(G2) ,
ISNUMBER(I2) ,
ISNUMBER(K2) и
- (Пробел).
Хорошо, если пустое значение используется как число в Excel, оно обрабатывается так, как если бы оно было 0 (ноль). Вот почему формулы « fum » работают: пустые ячейки обрабатываются так, как если бы они содержали 0.
Аналогично, если пустое значение используется как логическое значение (т. Е. Логическое значение) в Excel, оно обрабатывается так, как если бы оно было FALSE. Так что ваша формула действует как
=IF(AND(ISNUMBER(E2),ISNUMBER(G2),ISNUMBER(I2),ISNUMBER(K2),FALSE),"",D2-E2-G2-I2-K2)
Поскольку AND(anything, FALSE) равно FALSE , приведенное выше сводится к
=IF(FALSE, "", D2-E2-G2-I2-K2)
или просто
=D2-E2-G2-I2-K2
Это может показаться знакомым, так как это формула « fum ».
Мы уже на месте?
Если я пропустил какой-то непонятный аспект вашего вопроса, отредактируйте его, чтобы уточнить его; Например, добавьте пример данных, где ни один из приведенных выше ответов не дает желаемых результатов.