Как подсветить ячейку в excel с формулами


Применим средства

EXCEL

для поиска и выделения ячеек, содержащих и НЕ содержащих формулы.

Представим, что в части ячеек листа имеются формулы, а в других – значения. Нужно определить, что в каких находится.

Выделить ячейки, которые содержат формулы можно воспользовавшись стандартным инструментом EXCEL

Выделение группы ячеек…

или через меню: на вкладке

Главная

в группе

Редактирование

щелкните стрелку рядом с командой

Найти и выделить

, а затем выберите в списке пункт

Формулы

.

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

Формулы

нужно выбрать

Константы

.

Если в ячейке введено

=11

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

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

Условное форматирование

так, чтобы после ввода формулы происходило автоматическое выделение, содержащей ее ячейки.

Допустим значения вводятся в диапазон

A1:A10

(см.

файл примера

)

.

Для настройки

Условного форматирования

для этого диапазона необходимо сначала создать

Именованную формулу

, для этого:

  • выделите ячейку

    A

    1

    ;
  • вызовите окно

    Создание имени

    из меню

    ;
  • в поле

    Имя

    введите название формулы, например

    Формула_в_ячейке

    ;
  • в поле

    Диапазон

    введите

    =ПОЛУЧИТЬ.ЯЧЕЙКУ(48;Лист1!A1)
  • нажмите ОК.

Теперь настроим правило

Условного форматирования

, для этого:

  • выделите диапазон

    A

    1:

    A

    10

    ;
  • вызовите инструмент

    Условное форматирование

    (

    );

  • выберите

    Использовать формулу для определения форматируемых ячеек;
  • в поле «

    Форматировать значения, для которых следующая формула является истинной

    » введите

    =Формула_в_ячейке

    ;
  • выберите требуемый формат, например, красный цвет фона;

  • Нажмите ОК, затем еще раз ОК.

Теперь все ячейки из диапазона

A

1:

A

10

, содержащие формулы, выделены красным.

В этом примере мы использовали макрофункцию

ПОЛУЧИТЬ.ЯЧЕЙКУ()

. Это набор функций к EXCEL 4-й версии, которые нельзя напрямую использовать на листе EXCEL 2007, а можно использовать только в качестве

Именованной формулы

, что мы и сделали.

Чтобы, наоборот, выделить все непустые ячейки, содержащие константы (или НЕ содержащие формулы), нужно изменить формулу на

=И(НЕ(ПОЛУЧИТЬ.ЯЧЕЙКУ(48;Лист1!A1));НЕ(ЕПУСТО(Лист1!A1)))


Совет

:

Чтобы показать все формулы, которые имеются на листе нужно на вкладке

Формулы

в группе

Зависимости формул

щелкните кнопку

Показать формулы

.

Чтобы выделить все ячейки, содержащие формулы, нужно на вкладке

Главная

, в группе

Редактирование

выбрать команду

Формулы

.

Чтобы найти все ячейки на листе, имеющие

Условное форматирование

необходимо:

  • на вкладке

    Главная

    в группе

    Редактирование

    щелкните стрелку рядом с командой

    Найти и выделить

    ;
  • выберите в списке пункт

    Условное форматирование;
  • будут выделены все ячейки, которым применено

    Условное форматирование

    .

Достаточно часто в таблицах бывает такая ошибка, когда формула случайно заменяется значением. Этот тип ошибок обычно трудно определяется, особенно если лист содержит большое количество формул. В этом приеме описывается два способа быстро идентифицировать формулы в листе, выделяя их. Затем при уменьшении масштаба вы могли бы определить пробелы в группах формул.

Использование окна Выделение группы ячеек

Этот метод выявления ячеек с формулами легкий, но не динамический. Другими словами, он хорош для единичной проверки.

  1. Выберите одну ячейку в листе.
  2. Выберите Главная ► Редактирование ► Найти и выделить ► Выделение группы ячеек для открытия диалогового окна Выделение группы ячеек.
  3. В окне Выделение группы ячеек установите переключатель в положение формулы и убедитесь, что все флажки ниже установлены.
  4. Нажмите кнопку ОК. Excel выберет все ячейки с формулами.
  5. Нажмите кнопку Цвет заливки в группе Шрифт вкладки Главная. Выберите любой цвет, который еще не используется.
  6. Используйте элемент управления Масштаб и задайте для своего листа небольшой масштаб (например, 25%).
  7. Внимательно проверьте лист и посмотрите, какие ячейки остались невыделенными. Возможно, это формула, которая была перезаписана значением.

Если вы не делали никаких изменений, то можете нажать кнопку Отменить (или нажать Ctrl+Z) для отмены цветовой заливки, которую применили в шаге 6.

Использование условного форматирования

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

Чтобы настроить условное форматирование, выполните следующие действия.

  1. Выберите Формулы ► Определенные имена ► Присвоить имя для открытия диалогового окна Создание имени.
  2. В окне Создание имени введите следующую строку в поле Имя: CellHasFormula.
  3. Введите такую формулу в поле Диапазон: =ПОЛУЧИТЬ.ЯЧЕЙКУ(48;ДВССЫЛ("rc";ЛОЖЬ)).
  4. Нажмите кнопку ОК, чтобы закрыть диалоговое окно Создание имени.
  5. Выделите все ячейки, к которым хотите применить условное форматирование. Как правило, они составляют диапазон от А1 до правого нижнего угла используемой области листа.
  6. Выберите Главная ► Стили ► Условное форматирование ► Создать правило для открытия диалогового окна Создание правила форматирования.
  7. В верхней части окна выберите пункт Использовать формулу для определения форматируемых ячеек.
  8. Введите следующую формулу в поле диалогового окна (рис. 196.1): =CellHasFormula.
  9. Нажмите кнопку Формат для открытия диалогового окна Формат ячеек и выберите тип форматирования для ячеек, содержащих формулу.
  10. Нажмите кнопку , чтобы закрыть окно Формат ячеек, и снова нажмите , чтобы закрыть окно Создание правила форматирования.

Рис. 196.1. Окно для установки условного форматирования для выделения ячеек с формулами

Рис. 196.1. Окно для установки условного форматирования для выделения ячеек с формулами

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

Формула, которую вы вводили в шаге 3, — макрос XLM. Следовательно, вам необходимо сохранить книгу с расширением с поддержкой макросов (используя расширение XLSM). Если вы сохраните книгу в виде XLSX-файла, Excel удалит имя CellHasFormula.

Содержание

  • Процедура изменения цвета ячеек в зависимости от содержимого
    • Способ 1: условное форматирование
    • Способ 2: использование инструмента «Найти и выделить»
  • Вопросы и ответы

Заливка цветом ячеек в Microsoft Excel

При работе с таблицами первоочередное значение имеют выводимые в ней значения. Но немаловажной составляющей является также и её оформление. Некоторые пользователи считают это второстепенным фактором и не обращают на него особого внимания. А зря, ведь красиво оформленная таблица является важным условием для лучшего её восприятия и понимания пользователями. Особенно большую роль в этом играет визуализация данных. Например, с помощью инструментов визуализации можно окрасить ячейки таблицы в зависимости от их содержимого. Давайте узнаем, как это можно сделать в программе Excel.

Процедура изменения цвета ячеек в зависимости от содержимого

Конечно, всегда приятно иметь хорошо оформленную таблицу, в которой ячейки в зависимости от содержимого, окрашиваются в разные цвета. Но особенно актуальна данная возможность для больших таблиц, содержащих значительный массив данных. В этом случае заливка цветом ячеек значительно облегчит пользователям ориентирование в этом огромном количестве информации, так как она, можно сказать, будет уже структурированной.

Элементы листа можно попытаться раскрасить вручную, но опять же, если таблица большая, то это займет значительное количество времени. К тому же, в таком массиве данных человеческий фактор может сыграть свою роль и будут допущены ошибки. Не говоря уже о том, что таблица может быть динамической и данные в ней периодически изменяются, причем массово. В этом случае вручную менять цвет вообще становится нереально.

Но выход существует. Для ячеек, которые содержат динамические (изменяющиеся) значения применяется условное форматирование, а для статистических данных можно использовать инструмент «Найти и заменить».

Способ 1: условное форматирование

С помощью условного форматирования можно задать определенные границы значений, при которых ячейки будут окрашиваться в тот или иной цвет. Окрашивание будет проводиться автоматически. В случае, если значение ячейки, вследствие изменения выйдет за пределы границы, то автоматически произойдет перекрашивание данного элемента листа.

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

  1. Выделяем столбец, в котором находится информация по доходам предприятия. Затем перемещаемся во вкладку «Главная». Щелкаем по кнопке «Условное форматирование», которая располагается на ленте в блоке инструментов «Стили». В открывшемся списке выбираем пункт «Управления правилами…».
  2. Переход к управлению правилами в Microsoft Excel

  3. Запускается окошко управления правилами условного форматирования. В поле «Показать правила форматирования для» должно быть установлено значение «Текущий фрагмент». По умолчанию именно оно и должно быть там указано, но на всякий случай проверьте и в случае несоответствия измените настройки согласно вышеуказанным рекомендациям. После этого следует нажать на кнопку «Создать правило…».
  4. Переход к созданию правила в Microsoft Excel

  5. Открывается окно создания правила форматирования. В списке типов правил выбираем позицию «Форматировать только ячейки, которые содержат». В блоке описания правила в первом поле переключатель должен стоять в позиции «Значения». Во втором поле устанавливаем переключатель в позицию «Меньше». В третьем поле указываем значение, элементы листа, содержащие величину меньше которого, будут окрашены определенным цветом. В нашем случае это значение будет 400000. После этого жмем на кнопку «Формат…».
  6. Окно создания правила форматирования в Microsoft Excel

  7. Открывается окно формата ячеек. Перемещаемся во вкладку «Заливка». Выбираем тот цвет заливки, которым желаем, чтобы выделялись ячейки, содержащие величину менее 400000. После этого жмем на кнопку «OK» в нижней части окна.
  8. Выбор цвета ячейки в Microsoft Excel

  9. Возвращаемся в окно создания правила форматирования и там тоже жмем на кнопку «OK».
  10. Создание правила форматирования в Microsoft Excel

  11. После этого действия мы снова будем перенаправлены в Диспетчер правил условного форматирования. Как видим, одно правило уже добавлено, но нам предстоит добавить ещё два. Поэтому снова жмем на кнопку «Создать правило…».
  12. Переход к созданию следующего правила в Microsoft Excel

  13. И опять мы попадаем в окно создания правила. Перемещаемся в раздел «Форматировать только ячейки, которые содержат». В первом поле данного раздела оставляем параметр «Значение ячейки», а во втором выставляем переключатель в позицию «Между». В третьем поле нужно указать начальное значение диапазона, в котором будут форматироваться элементы листа. В нашем случае это число 400000. В четвертом указываем конечное значение данного диапазона. Оно составит 500000. После этого щелкаем по кнопке «Формат…».
  14. Переход в окно форматирования в Microsoft Excel

  15. В окне форматирования снова перемещаемся во вкладку «Заливка», но на этот раз уже выбираем другой цвет, после чего жмем на кнопку «OK».
  16. Окно форматирования в Microsoft Excel

    Lumpics.ru

  17. После возврата в окно создания правила тоже жмем на кнопку «OK».
  18. Завершене создания правила в Microsoft Excel

  19. Как видим, в Диспетчере правил у нас создано уже два правила. Таким образом, осталось создать третье. Щелкаем по кнопке «Создать правило».
  20. Переход к созданию последнего правила в Microsoft Excel

  21. В окне создания правила опять перемещаемся в раздел «Форматировать только ячейки, которые содержат». В первом поле оставляем вариант «Значение ячейки». Во втором поле устанавливаем переключатель в полицию «Больше». В третьем поле вбиваем число 500000. Затем, как и в предыдущих случаях, жмем на кнопку «Формат…».
  22. Окно создания правила в Microsoft Excel

  23. В окне «Формат ячеек» опять перемещаемся во вкладку «Заливка». На этот раз выбираем цвет, который отличается от двух предыдущих случаев. Выполняем щелчок по кнопке «OK».
  24. Окно формат ячеек в Microsoft Excel

  25. В окне создания правил повторяем нажатие на кнопку «OK».
  26. Последнее правило создано в Microsoft Excel

  27. Открывается Диспетчер правил. Как видим, все три правила созданы, поэтому жмем на кнопку «OK».
  28. Завершение работы в Диспетчере правил в Microsoft Excel

  29. Теперь элементы таблицы окрашены согласно заданным условиям и границам в настройках условного форматирования.
  30. Ячейки окрашены согласно заданным условиям в Microsoft Excel

  31. Если мы изменим содержимое в одной из ячеек, выходя при этом за границы одного из заданных правил, то при этом данный элемент листа автоматически сменит цвет.

Смена цвета в ячеке в Microsoft Excel

Кроме того, можно использовать условное форматирование несколько по-другому для окраски элементов листа цветом.

  1. Для этого после того, как из Диспетчера правил мы переходим в окно создания форматирования, то остаемся в разделе «Форматировать все ячейки на основании их значений». В поле «Цвет» можно выбрать тот цвет, оттенками которого будут заливаться элементы листа. Затем следует нажать на кнопку «OK».
  2. Форматирование ячеек на основании их значений в Microsoft Excel

  3. В Диспетчере правил тоже жмем на кнопку «OK».
  4. Диспетчер правил в Microsoft Excel

  5. Как видим, после этого ячейки в колонке окрашиваются различными оттенками одного цвета. Чем значение, которое содержит элемент листа больше, тем оттенок светлее, чем меньше – тем темнее.

Ячейки отформатированы в Microsoft Excel

Урок: Условное форматирование в Экселе

Способ 2: использование инструмента «Найти и выделить»

Если в таблице находятся статические данные, которые не планируется со временем изменять, то можно воспользоваться инструментом для изменения цвета ячеек по их содержимому под названием «Найти и выделить». Указанный инструмент позволит отыскать заданные значения и изменить цвет в этих ячейках на нужный пользователю. Но следует учесть, что при изменении содержимого в элементах листа, цвет автоматически изменяться не будет, а останется прежним. Для того, чтобы сменить цвет на актуальный, придется повторять процедуру заново. Поэтому данный способ не является оптимальным для таблиц с динамическим содержимым.

Посмотрим, как это работает на конкретном примере, для которого возьмем все ту же таблицу дохода предприятия.

  1. Выделяем столбец с данными, которые следует отформатировать цветом. Затем переходим во вкладку «Главная» и жмем на кнопку «Найти и выделить», которая размещена на ленте в блоке инструментов «Редактирование». В открывшемся списке кликаем по пункту «Найти».
  2. Переход в окно Найти и заменить в Microsoft Excel

  3. Запускается окно «Найти и заменить» во вкладке «Найти». Прежде всего, найдем значения до 400000 рублей. Так как у нас нет ни одной ячейки, где содержалось бы значение менее 300000 рублей, то, по сути, нам нужно выделить все элементы, в которых содержатся числа в диапазоне от 300000 до 400000. К сожалению, прямо указать данный диапазон, как в случае применения условного форматирования, в данном способе нельзя.

    Но существует возможность поступить несколько по-другому, что нам даст тот же результат. Можно в строке поиска задать следующий шаблон «3?????». Знак вопроса означает любой символ. Таким образом, программа будет искать все шестизначные числа, которые начинаются с цифры «3». То есть, в выдачу поиска попадут значения в диапазоне 300000 – 400000, что нам и требуется. Если бы в таблице были числа меньше 300000 или меньше 200000, то для каждого диапазона в сотню тысяч поиск пришлось бы производить отдельно.

    Вводим выражение «3?????» в поле «Найти» и жмем на кнопку «Найти все».

  4. Запуск поиска в Microsoft Excel

  5. После этого в нижней части окошка открываются результаты поисковой выдачи. Кликаем левой кнопкой мыши по любому из них. Затем набираем комбинацию клавиш Ctrl+A. После этого выделяются все результаты поисковой выдачи и одновременно выделяются элементы в столбце, на которые данные результаты ссылаются.
  6. Выделение результатоа поисковой выдачи в Microsoft Excel

  7. После того, как элементы в столбце выделены, не спешим закрывать окно «Найти и заменить». Находясь во вкладке «Главная» в которую мы переместились ранее, переходим на ленту к блоку инструментов «Шрифт». Кликаем по треугольнику справа от кнопки «Цвет заливки». Открывается выбор различных цветов заливки. Выбираем тот цвет, который мы желаем применить к элементам листа, содержащим величины менее 400000 рублей.
  8. Выбор цвета заливки в Microsoft Excel

  9. Как видим, все ячейки столбца, в которых находятся значения менее 400000 рублей, выделены выбранным цветом.
  10. Ячейки выделены синим цветом в Microsoft Excel

  11. Теперь нам нужно окрасить элементы, в которых располагаются величины в диапазоне от 400000 до 500000 рублей. В этот диапазон входят числа, которые соответствуют шаблону «4??????». Вбиваем его в поле поиска и щелкаем по кнопке «Найти все», предварительно выделив нужный нам столбец.
  12. Поиск второго интервала значений в Microsoft Excel

  13. Аналогично с предыдущим разом в поисковой выдаче производим выделение всего полученного результата нажатием комбинации горячих клавиш CTRL+A. После этого перемещаемся к значку выбора цвета заливки. Кликаем по нему и жмем на пиктограмму нужного нам оттенка, который будет окрашивать элементы листа, где находятся величины в диапазоне от 400000 до 500000.
  14. Выбор цвета заливки для второго диапазона данных в Microsoft Excel

  15. Как видим, после этого действия все элементы таблицы с данными в интервале с 400000 по 500000 выделены выбранным цветом.
  16. Ячейки выделены зеленым цветом в Microsoft Excel

  17. Теперь нам осталось выделить последний интервал величин – более 500000. Тут нам тоже повезло, так как все числа более 500000 находятся в интервале от 500000 до 600000. Поэтому в поле поиска вводим выражение «5?????» и жмем на кнопку «Найти все». Если бы были величины, превышающие 600000, то нам бы пришлось дополнительно производить поиск для выражения «6?????» и т.д.
  18. Поиск третьего интервала значений в Microsoft Excel

  19. Опять выделяем результаты поиска при помощи комбинации Ctrl+A. Далее, воспользовавшись кнопкой на ленте, выбираем новый цвет для заливки интервала, превышающего 500000 по той же аналогии, как мы это делали ранее.
  20. Выбор цвета заливки для третьего диапазона данных в Microsoft Excel

  21. Как видим, после этого действия все элементы столбца будут закрашены, согласно тому числовому значению, которое в них размещено. Теперь можно закрывать окно поиска, нажав стандартную кнопку закрытия в верхнем правом углу окна, так как нашу задачу можно считать решенной.
  22. Все ячейки окрашены в Microsoft Excel

  23. Но если мы заменим число на другое, выходящее за границы, которые установлены для конкретного цвета, то цвет не поменяется, как это было в предыдущем способе. Это свидетельствует о том, что данный вариант будет надежно работать только в тех таблицах, в которых данные не изменяются.

Цвет не поменялся после изменения значения в ячейке в Microsoft Excel

Урок: Как сделать поиск в Экселе

Как видим, существует два способа окрасить ячейки в зависимости от числовых значений, которые в них находятся: с помощью условного форматирования и с использованием инструмента «Найти и заменить». Первый способ более прогрессивный, так как позволяет более четко задать условия, по которым будут выделяться элементы листа. К тому же, при условном форматировании цвет элемента автоматически меняется, в случае изменения содержимого в ней, чего второй способ делать не может. Впрочем, заливку ячеек в зависимости от значения путем применения инструмента «Найти и заменить» тоже вполне можно использовать, но только в статических таблицах.

Прятки с формулами

Пример из жизни. Есть большая таблица с кучей формул и значений. Известно, что при вводе данных в таблицу оператор ошибся (с кем не бывает) и кое-где ввел в ячейки вместо формулы значения с клавиатуры. Задача — найти все ячейки с формулами и проверить — нет ли константы там, где должно быть вычисление.

Или. Вам прислали большую таблицу-расчет. Вы хотите разобраться — как он работает, что и как в нем считается. Видеть — где в ячейках формулы, а где введенные с клавиатуры значения — очень помогло бы, правда?

Нажмите клавишу F5, далее в окне — кнопка Выделить (Special). Откроется очень полезное (жаль, что так глубоко «зарыто») диалоговое окно, при помощи которого можно выделять ячейки по определенному признаку:

select-const.png

Например:

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

В последних версиях Excel 2007/2010 это окно доступно на вкладке Главная (Home) в группе Редактирование (Edit) — в выпадающем списке Найти и выделить (Find & Select). Команда называется Выделение группы ячеек (Go to special):

select_const2.png

Ссылки по теме:

  • Как одновременно видеть и формулы и их результаты в ячейках
  • Цветовая карта для подсветки ячеек с разными типами содержимого в надстройке PLEX

Выделить ячейку, участвующую в расчётах

Pulse

Дата: Среда, 15.02.2017, 12:00 |
Сообщение № 1

Группа: Проверенные

Ранг: Форумчанин

Сообщений: 213


Репутация:

16

±

Замечаний:
0% ±


2013

Здравствуйте, дорогие форумчане!

Задача такая, нужно выделить ячейку цветом, если она участвует в каких-либо вычислениях на листе. Если возможно, то без привязки к диапазону.

 

Ответить

sboy

Дата: Среда, 15.02.2017, 12:05 |
Сообщение № 2

Группа: Друзья

Ранг: Участник клуба

Сообщений: 2566


Репутация:

724

±

Замечаний:
0% ±


Excel 2010

Добрый день.
Можно воспользоваться стандартными средствами «Влияющие ячейки» и «Зависимые ячейки»


Яндекс: 410016850021169

 

Ответить

Nic70y

Дата: Среда, 15.02.2017, 12:11 |
Сообщение № 3

Группа: Друзья

Ранг: Экселист

Сообщений: 8136


Репутация:

1999

±

Замечаний:
0% ±


Excel 2010

жмем F5 (клавишу) —> Выделить —> формулы —> ОК
жмем F5 (клавишу) —> Выделить —> влияющие ячейки —> ОК
заливаем


ЮMoney 41001841029809

 

Ответить

Pulse

Дата: Среда, 15.02.2017, 12:25 |
Сообщение № 4

Группа: Проверенные

Ранг: Форумчанин

Сообщений: 213


Репутация:

16

±

Замечаний:
0% ±


2013

sboy, Nic70y, если число перестанет участвовать в расчётах, данные действия придётся повторить заново. Нужно, чтобы выделение появлялось и убиралось автоматически.

Сообщение отредактировал PulseСреда, 15.02.2017, 12:25

 

Ответить

sboy

Дата: Среда, 15.02.2017, 12:35 |
Сообщение № 5

Группа: Друзья

Ранг: Участник клуба

Сообщений: 2566


Репутация:

724

±

Замечаний:
0% ±


Excel 2010

как вариант можно в модуль листа
[vba]

Код

Private Sub Worksheet_Calculate()
    For Each cl In Range(«B3:E3»).Cells
       cl.ShowDependents
       Next
End Sub

[/vba]

К сообщению приложен файл:

2685692.xls
(33.5 Kb)


Яндекс: 410016850021169

 

Ответить

Pulse

Дата: Среда, 15.02.2017, 12:52 |
Сообщение № 6

Группа: Проверенные

Ранг: Форумчанин

Сообщений: 213


Репутация:

16

±

Замечаний:
0% ±


2013

sboy, да, так получше. Прикрутил кнопку.

 

Ответить

Допустим, что одним из наших заданий является ввод информации о том, делал ли заказ клиент в текущем месяце. После чего на основе полученной информации необходимо выделить цветом ячейки по условию: какой из клиентов не совершил ни одного заказа на протяжении последних 3-х месяцев. Для таких клиентов нужно будет повторно выслать предложение.

Естественно это задание для Экселя. Программа должна автоматически найти таких контрагентов и соответственно выделить их цветом. Для этих условий будем использовать условное форматирование.

Автоматическое заполнение ячеек датами

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

Готовый пример.

Пользователю только необходимо указать если клиент совершал заказ в текущем месяце, то в соответствующую ячейку следует вводить текстовое значение «заказ». Главное условие для выделения: если на протяжении 3-х месяцев контрагент не сделал ни одного заказа, его номер автоматически выделяется красным цветом.

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

Автоматическое заполнение ячеек актуальными датами

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

ДАТА ГОД СЕГОДНЯ.

Как работает формула для автоматической генерации уходящих месяцев?

На рисунке формула возвращает период уходящего времени начиная даты написания статьи: 17.09.2017. В первом аргументе в функции DATA – вложена формула, которая всегда возвращает текущий год на сегодняшнюю дату благодаря функциям: ГОД и СЕГОНЯ. Во втором аргументе указан номер месяца (-1). Отрицательное число значит, что нас интересует какой был месяц в прошлом времени. Пример условий для второго аргумента со значением:

  • 1 – значит первый месяц (январь) в году указанном в первом аргументе;
  • 0 – это 1 месяца назад;
  • -1 – это 2 мес. назад от начала текущего года (то есть: 01.10.2016).

Последний аргумент – это номер дня месяца указано во втором аргументе. В результате функция ДАТА собирает все параметры в одно значение и формула возвращает соответственную дату.

Далее перейдите в ячейку C1 и введите следующую формулу:

ДАТА ГОД МЕСЯЦ.

Как видно теперь функция ДАТА использует значение из ячейки B1 и увеличивает номер месяца на 1 по отношению к предыдущей ячейки. В результате получаем 1 – число следующего месяца.

Теперь скопируйте эту формулу из ячейки C1 в остальные заголовки столбцов диапазона D1:L1.

Выделите диапазон ячеек B1:L1 и выберите инструмент: «ГЛАВНАЯ»-«Ячейки»-«Формат ячеек» или просто нажмите комбинацию клавиш CTRL+1. В появившемся диалоговом окне, на вкладке «Число», в разделе «Числовые форматы:» выберите опцию «(все форматы)». В поле «Тип:» введите значение: МММ.ГГ (обязательно буквы в верхнем регистре). Благодаря этому мы получим укороченное отображение значения дат в заголовках регистра, что упростит визуальный анализ и сделает его более комфортным за счет лучшей читабельности.

Пользовательский Формат ячеек.

Обратите внимание! При наступлении января месяца (D1), формула автоматически меняет в дате год на следующий.



Как выделить столбец цветом в Excel по условию

Теперь необходимо выделить ячейки цветом, касающиеся текущего месяца. Благодаря этому мы с легкостью найдем столбец, в который нужно вводить актуальные данные в этом месяце. Для этого:

  1. Выделите диапазон ячеек B2:L15 и выберите инструмент: «ГЛАВНАЯ»-«Стили»-«Условное форматирование»-«Создать правило». А в появившемся окне «Создание правила форматирования» выберите опцию: «Использовать формулу для определения форматируемых ячеек»
  2. Создать правило.

  3. В поле ввода введите формулу:
  4. Формула столбца.

  5. Щелкните на кнопку «Формат» и укажите на вкладке «Заливка» каким цветом будут выделены ячейки актуального месяца. Например – зеленый. После чего на всех окнах для подтверждения нажмите на кнопку «ОК».

Зеленый.

Столбец под соответствующим заголовком регистра автоматически подсвечивается зеленым цветом соответственно с нашими условиями:

Столбец текущего месяца.

Как работает формула выделения столбца цветом по условию?

Благодаря тому, что перед созданием правила условного форматирования мы охватили всю табличную часть для введения данных регистра, форматирование будет активно для каждой ячейки в этом диапазоне B2:L15. Смешанная ссылка в формуле B$1 (абсолютный адрес только для строк, а для столбцов – относительный) обусловливает, что формула будет всегда относиться к первой строке каждого столбца.

Автоматическое выделение цветом столбца по условию текущего месяца

Главное условие для заполнения цветом ячеек: если в диапазоне B1:L1 находиться та же дата, что и первого дня текущего месяца, тут же ячейки в целом столбце изменяют свой цвет на указанный в условном форматировании.

Обратите внимание! В условиях этой формулы, для последнего аргумента функции ДАТА указано значение 1, так же, как и для формул в определении дат для заголовков столбцов регистра.

В нашем случаи — это зеленая заливка ячеек. Если мы откроем наш регистр в следующем месяце, то уже ему соответствующий столбец будет выделен зеленым цветом в независимости от текущего дня.

Табличная часть сформатирована, теперь заполним ее текстовым значением «заказ» в смешанном порядке клиентов для текущего и прошлых месяцев.

Как выделить ячейки красным цветом по условию

Теперь нам необходимо выделить красным цветом ячейки с номерами клиентов, которые на протяжении 3-х месяцев не совершили ни одного заказа. Для этого:

  1. Выделите диапазон ячеек A2:A15 (то есть список номеров клиентов) и выберите инструмент: «ГЛАВНАЯ»-«Стили»-«Условное форматирование»-«Создать правило». А в появившемся окне «Создание правила форматирования» выберите опцию: «Использовать формулу для определения форматируемых ячеек»
  2. В этот раз в поле ввода введите формулу:
  3. СЧЁТЕСЛИ.

  4. Щелкните на кнопку «Формат» и укажите красный цвет на вкладке «Заливка». После чего на всех окнах нажмите «ОК».
  5. Заполоните ячейки текстовым значением «заказ» как на рисунке и посмотрите на результат:

Пример готов.

Номера клиентов подсвечиваются красным цветом, если в их строке нет значения «заказ» в последних трех ячейках к текущему месяцу (включительно).

Анализ формулы для выделения цветом ячеек по условию:

Сначала займемся средней частью нашей формулы. Функция СМЕЩ возвращает ссылку на диапазон смещенного по отношении к области базового диапазона определенной числом строк и столбцов. Возвращаемая ссылка может быть одной ячейкой или целым диапазоном ячеек. Дополнительно можно определить количество возвращаемых строк и столбцов. В нашем примере функция возвращает ссылку на диапазон ячеек для последних 3-х месяцев.

Важная часть для нашего условия выделения цветом находиться в первом аргументе функции СМЕЩ. Он определяет, с какого месяца начать смещение. В данном примере – это ячейка D2, то есть начало года – январь. Естественно для остальных ячеек в столбце номер строки для базовой ячейки будет соответствовать номеру строки в котором она находиться. Следующие 2 аргумента функции СМЕЩ определяют на сколько строк и столбцов должно быть выполнено смещение. Так как вычисления для каждого клиента будем выполнять в той же строке, значение смещения для строк указываем –¬ 0.

В тоже время для вычисления значения третьего аргумента (смещение по столбцам) используем вложенную формулу МЕСЯЦ(СЕГОДНЯ()), Которая в соответствии с условиями возвращает номер текущего месяца в текущем году. От вычисленного формулой номера месяца отнимаем число 4, то есть в случаи Ноября получаем смещение на 8 столбцов. А, например, для Июня – только на 2 столбца.

Последнее два аргумента для функции СМЕЩ определяют высоту (в количестве строк) и ширину (в количестве столбцов) возвращаемого диапазона. В нашем примере – это область ячеек с высотой на 1-ну строку и шириной на 4 столбца. Этот диапазон охватывает столбцы 3-х предыдущих месяцев и текущий.

Первая функция в формуле СЧЕТЕСЛИ проверяет условия: сколько раз в возвращаемом диапазоне с помощью функции СМЕЩ встречается текстовое значение «заказ». Если функция возвращает значение 0 – значит от клиента с таким номером на протяжении 3-х месяцев не было ни одного заказа. А в соответствии с нашими условиями, ячейка с номером данного клиента выделяется красным цветом заливки.

Если мы хотим регистрировать данные по клиентам, Excel идеально приспособлен для этой цели. С легкостью можно записывать в соответствующие категории число заказанных товаров, а также даты реализации транзакций. Проблема постепенно начинает возникать с ростом объема данных.

Скачать пример выделения цветом ячеек по условию в Excel

Если их так много, что тратим несколько минут на поиск конкретной позиции регистра и анализ введенной информации. В таком случае стоит добавить в таблицу регистра механизмы, для автоматизации некоторых рабочих процессов пользователя. Что мы и сделали.

В Excel не предусмотрено встроенной функции для поиска формул. Когда формула введена в ячейку, узнать, является ячейка постоянным значением или значением, полученным из формулы, можно, только щелкнув ячейку и взглянув на строку формул или же нажав Ctrl+~ (тильда; чтобы отменить режим показа формул, нажмите Ctrl+~ еще раз). Предлагаемый трюк позволит вам выделить ячейки с формулами при помощи трех строчек кода VBA и условного форматирования. [1]

Если вы никогда не создавали пользовательской фунции при помощи VBA, рекомендую начать с заметки Сумма по цвету ячеек в Excel, в которой поясняются первые шаги.

Если вы представляете, о чем речь, пройдите по меню Разработчик –> Visual Basic и в открывшемся окне Microsoft Visual Basic for Applications пройдите по меню Insert –> Module (рис. 1). В окне нового модуля наберите следующий код:

Function IsFormula(Check_Cell As Range)
IsFormula = Check_Cell.HasFormula
End Function

Рис. 1. Код пользовательской функции IsFormula в окне Microsoft Visual Basic for Applications

Рис. 1. Код пользовательской функции IsFormula в окне Microsoft Visual Basic for Applications

Скачать заметку в формате Word или pdf, скачать пример в формате Excel (с встроенным кодом VBA)

Закройте окно Visual Basic, нажав Alt+Q или пройдя по меню File –> Close and Return to Microsoft Excel. Вы создали функцию IsFormula. Если вы создали функцию в модуле, относящемся к этой рабочей книге (как на рис. 1), а не в модуле Личной книги макросов – Personal.xlsb, то функция будет доступна только в этой конкретной книге Excel. Чтобы ваш труд не пропал даром, сохраните Excel-файл командой Сохранить как, и выбрав тип файла Книга Excel с поддержкой макросов (*.xlsm). Ваша пользовательская функция, как и любая встроенная функция, доступна в окне Вставка функции в категории Определенные пользователем (рис. 2).

Рис. 2. Пользовательская функция доступна в окне Вставка функции

Рис. 2. Пользовательская функция доступна в окне Вставка функции

Также вы можете вызвать функцию, просто, начав набирать в ячейке =i (рис. 3).

Рис. 3. Функцию можно выбрать через подсказку, начав набирать в ячейке =i

Рис. 3. Функцию можно выбрать через подсказку, начав набирать в ячейке =i

Функция возвращает два значения: ИСТИНА, если в соответствующей ячейке содержится формула, и ЛОЖЬ, если это не так. Этот булевский результат можно использовать совместно с условным форматированием, чтобы автоматически выделить все формулы с применением нужного форматирования.

Одно из основных преимуществ этого метода заключается в том, что возможности идентификации формул на листе динамические. Это означает, что, если вы добавите или удалите формулу, то форматирование изменится соответствующим образом. Вот как это сделать.

Выделите диапазон ячеек, заполненный данными, плюс сделайте запас на случай, если данные будут добавляться. Не выделяйте весь лист, так как это может увеличить размер файла (иногда катастрофически). В нашем примере (рис. 4) я выделил область А1:К28. Причем ячейка А1 должна быть активной.

В качестве примера в диапазон А1:F20 я ввел формулу =СЛЧИС(). Затем выделил весь диапазон, скопировал его в буфер, и вставил как значение. После этого в нескольких ячейках снова вставил формулу =СЛЧИС().

Рис. 4. Создание правила форматирования для выделеной области

Рис. 4. Создание правила форматирования для выделеной области

Пройдите по меню Главная  –> Условное форматирование –> Создать правило (я работаю в Excel2013). В открывшемся окне Создание правила форматирования выберите опцию Использовать формулу для определения форматируемых ячеек. И в поле Форматировать значения, для которых следующая формула является истинной введите =IsFormula(A1). Щелкните кнопку Формат рядом с полем Образец и выберите желтую заливку для идентификации ячеек с формулами. Щелкните ОК (рис. 5).

Рис. 5. С помощью кода VBA и условного форматирования удалось выделить ячейки, содержащие формулы

Рис. 5. С помощью кода VBA и условного форматирования удалось выделить ячейки, содержащие формулы

Получился ножиданный эффект, который можно наблюдать в прикрепленном Excel-файле. Я считал, что функция =СЛЧИС() пересчитывается только при изменении хотя бы одного значения на листе. Так вот, на листе формально не происходит изменения значений. Но, видимо, функция IsFormula, участвующая в условном форматировании, как-то влияет на этот процесс, так что экран оживает, и значения постоянно изменяются. 🙂

Иногда при вводе формул в окне условного форматирования Excel пытается добавить кавычки вокруг формул после того, как вы щелкаете на кнопке ОК. Это означает, что Excel распознал то, что вы ввели, как текст, а не как формулу. Если это произошло, вернитесь в окно Условное форматирование, удалите кавычки и щелкните ОК.

Теперь указанная формула применяется ко всем ячейкам выделенного диапазона, содержащим формулы. Если вы удалите или исправите содержимое ячейки с формулой, условное форматирование исчезнет. Схожим образом, если вы введете новую формулу в любую ячейку диапазона, она также будет выделена форматированием.

[1] По материалам книги Р.Холи, Д.Холи. Excel 2007. Трюки, стр. 70–72

Понравилась статья? Поделить с друзьями:
  • Как подсчитать количество повторений в excel столбце
  • Как подсветить ячейку в excel при совпадении
  • Как подсчитать количество оценок excel
  • Как подсчитать количество ячеек с определенными значениями в excel
  • Как подсветить ячейку в excel по условию цветом