Ниже вы можете увидеть мои данные (это немецкая версия, поэтому десятичная точка — запятая), к которым уже применено следующее правило условного форматирования: =B21>=B22
; оно применено к строкам с 21 по 28 (29 исключена).
Цель — выделить все ячейки, в которых число не становится меньше по сравнению с ячейкой под ним. Выглядит хорошо.
Теперь я хочу добавить еще одно условие: я также хочу выделить ячейки, где он уменьшается более чем на 0,25 по сравнению с ячейкой ниже. Я использую эту формулу: =RUNDEN((B21-B22);2)<-0,25
, которая в английской версии должна быть =Round((B21-B22),2)<-0.25
. Это приводит к следующему результату:
Теперь я хотел бы объединить эти два с OR
условием. Это должно объединить две картинки, верно? Но это не работает. Мое условие =ODER(B21>=B22;RUNDEN((B21-B22);2)<-0,25)
и на английском это =OR(B21>=B22,ROUND((B21-B22),2)<-0.25)
. Результат выглядит так
Итак, все ячейки со знаком "-" не выделены. Это не проблема, на самом деле, это то, что я хочу, но я не вижу, почему это происходит. Это означает, что я не совсем понимаю, что OR
здесь происходит или какую ошибку я допустил. Поскольку мне нужно применить это ко многим другим листам, я хотел бы понять, что здесь происходит.
решение1
Это потому что B26-B27
становится к 3 - '-'
что приводит к #VALUE
ошибке. И это не TRUE
, поэтому форматирование не применяется. В других ячейках по аналогии.
решение2
Если я понимаю, чего вы хотите добиться, то проблема в этой ROUND()
части правила.
Вы хотите узнать, уменьшается ли ячейка выше более чем на 0,25. Но вы проверяете, уменьшается ли она более чем на ОТРИЦАТЕЛЬНЫЕ 0,25. Поэтому это ИСТИНА, только если вы видите, что она УВЕЛИЧИВАЕТСЯ.
B21-B22 равен -3,25, что < -0,25, поэтому половина из них OR()
равна ИСТИНА, и правило активируется, выделяя ячейку B21. B24-B25 равен -1,00, что является увеличением (число увеличилось, поэтому вычитаемое число больше того, из чего оно вычитается, поэтому результатом УВЕЛИЧЕНИЯ является отрицательное число, и в этом случае единица определенно < -0,25), но поскольку оно < -0,25, эта половина OR()
дает ИСТИНА, и ячейка выделяется, хотя значение ВЫРОСЛО, а не УПАЛО, как вы пытаетесь найти.
Чтобы исправить это, вы можете сделать пару вещей. Очень просто сделать тест на вычитание против > 0.25
. Если оно падает, второе число меньше, поэтому у вас есть положительный результат, который тем больше, чем больше оно падает. Это цель, так что...
Другой вариант — обратить вычитание. Так что вместо этого B22-B21. Если значение падает до B22, это создаст отрицательное число, которое тогда действительно будет < -0,25, поскольку падение станет больше.