2016-11-15 3 views
0

У меня есть сводной таблицы, что, ради этом примере, в имеет три колонки:Условное форматирование с вложенными если заявления [преуспеть]

Колонка B содержит неотрицательные числовые значения.

Столбец D содержит неотрицательные значения числа.

В колонке C показан процент изменения от столбца D до колонки B (то есть D1 = 1 и B1 = 2, C1 = 100%).

У меня есть правило условного форматирования, настроенное таким образом, что если любое значение в столбце C больше 10%, ячейка подсвечивается красным цветом. Однако это не работает, когда ячейка в столбце D имеет значение 0, а соответствующая ячейка в столбце B имеет значение больше нуля, потому что результат будет бесконечным.

Моя цель - установить правило так, чтобы, если какая-либо ячейка в столбце D имеет значение 0, а любая ячейка (в той же строке) в столбце B имеет значение больше нуля, соответствующая строка в столбце C по-прежнему будет выделен красным цветом. Поскольку у меня есть неотрицательные числа в моих данных, технически до тех пор, пока столбец D равен нулю, а столбец B не равен нулю, это будет удовлетворять формуле.

Я попытался использовать следующее правило форматирования для применения к столбцу C, но не был успешным. Я уверен, что это может быть также осуществлено с использованием вложенных IF заявления:

IF(D$=0 AND(B$<>0), TRUE, FALSE) 
+0

Это вопрос 'VBA' или вам нужна формула« Условное форматирование »? –

+0

Это не имеет смысла. Сначала попросите, чтобы ячейка была подсвечена красной, если ячейка c больше + 10%, и вы говорите, что это ваша цель. Затем вы говорите, что хотите, чтобы он был подсвечен красным, если D равно 0, а B больше 0, он также будет подсвечен красным. Это изменит ваши критерии: столбец C> + 10% и столбец C <0%.В соответствии с @SkipIntro это вопрос условного форматирования – user1

+0

@skipIntro Условное форматирование похоже на самый простой подход, но если есть способ сделать это в VBA, я также открыт для использования этого. – Keefer

ответ

3

AND в Excel используется по-разному ... это работает так: и (condition1, condition2). Так что ваш код должен быть отформатирован следующим образом:

IF(AND(D$=0,(B$<>0)), TRUE, FALSE)

Но он работает по-разному в условное форматирование ... так что вы делаете, это выбрать диапазон, но убедитесь, отметить, что ячейка подсвечивается: enter image description here

Как вы можете видеть, вам не нужно беспокоиться об условиях TRUE FALSE ... достаточно логического теста. Так что, если вы будете следовать моему скриншоту, ваша формула должна быть:

=AND(D4=0,B4<>0)

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

+0

Амит, большое вам спасибо! Это сделал трюк. Я думаю, что меня тоже отбросил $, я думал, что C $ скажет Excel, чтобы посмотреть на весь столбец. Мне нужно прочитать хорошую книгу о Excel. – Keefer

+0

ерунда. Все, что вам нужно, это практика. Есть только один способ узнать, и это сделать много ошибок. Много ошибок мааани. :) Надеюсь, вы продолжаете ошибаться! –

0

Условное форматирование столбца C, строки 1 до 50:

Применяется: = $ C $ 1: $ C $ 50

значений формата, когда эта формула верна: = и ($ D1 = 0, $ B1> 0)

Если ваш разделитель строк является точкой с запятой, вместо этого используйте запятую: = AND ($ D1 = 0; $ B1> 0)

Смежные вопросы