1

Пытаюсь сделать:

sum=(c5-c4) (eks: 10000 - 2300 =7700)

Это работает нормально, но если c5 не содержит значения, Excel отображает отрицательное число на основе значения в c4.

Есть ли простой способ суммировать ячейки, только если они имеют значение?

4 ответа4

2

Вы можете попробовать этот взломать

=IF(AND(B5>0,B4>0), B5-B4,B4)

Это смотрит на следующее значение ячейки и предыдущее значение ячейки, если один или другой не существует (или равен 0 или меньше), то он отображает значение предыдущей ячейки или 0, в противном случае он выполняет математические вычисления.

Другой вариант - проверить, меньше ли значение 0 (не уверен, сработает ли это в ваших ситуациях), и если да, сделать его положительным значением, например;

=IF(B8-B7>0, B8-B7, (B8-B7)*-1)
2

Возможно, если вам нужно более общее решение, которое допускает отрицательные числа, вы можете напрямую проверить числовой ввод:

IF( AND(ISNUMBER(C6),ISNUMBER(C5)), C6-C5, "")

2

Нет причин для долгих сравнений с AND(). Вы хотите запустить формулу только тогда, когда обе ячейки содержат значение, попробуйте

=if(count(c4:c5)=2,c5-c4,"")

Предыдущие предложения, проверяющие, является ли каждая ячейка больше нуля, в большинстве случаев, вероятно, будут возвращать один и тот же результат. Но есть разница.

Например, если одна из ячеек законно содержит 0 или отрицательное число, то в результате вы не увидите число.

Однако Count() просто подсчитывает, сколько ячеек содержит числа. Формула вернет результат вычисления, только в двух ячейках есть два числа, независимо от их значения.

0

В дополнение к ответу Дэйва Рука & gt6989b , вот пара формул, которые проверяют, имеют ли обе ячейки значения, прежде чем брать сумму. Если одна из ячеек пуста, формула не выполняет суммирование.

  • =IF(AND(C4<>"",C5<>""),C5-C4,"")
  • =IF(OR(ISBLANK(C4),ISBLANK(C5)),"",C5-C4)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .