На чтение 5 мин Просмотров 1.8к. Опубликовано 22.05.2022
Итак, бывают ситуации, когда вы хотите обратить внимание читателя (вашей таблички) на какие-то особо важные моменты. Например, на те строки, значения в которых кажутся вам неправильными.
Допустим, у нас есть такая табличка. Я подсветил те строки, в которых продавец — Боб.
Сейчас я продемонстрирую вам, как можно сделать также и не только.
Итак, давайте начнём!
Содержание
- Подсвечиваем строки с нужным нам текстом
- Подсвечиваем строки с нужным нам числами
- Подсвечиваем строки с одновременно несколькими нужными нам значениями
- Подсвечиваем строки разным форматом в зависимости от значения
- Подсвечиваем строки с пустыми ячейками
- Подсвечивание разных строк в зависимости от вашего выбора в списке
Подсвечиваем строки с нужным нам текстом
Допустим, у нас есть такая табличка:
Нам нужно подсветить все строки, в которых продавцом является Боб.
Как это сделать?
Пошаговая инструкция:
- Выделите вашу табличку;
- Щелкните на «Главная»;
- Щелкните на «Условное форматирование»;
- Щелкните на «Создать правило…»;
- В открывшемся окне, выберите указанную на картинке опцию;
- В поле «Форматировать значения, для которых следующая формула является истинной» введите =$C2=»Bob»;
- А теперь настроим формат, щелкните на «Формат…»;
- И, в открывшемся окне, формат, которым нужно выделить ячейки;
- Подтвердите.
Итак, у нас получилось:
Как это работает?
Условное форматирование — функция, которая проверяет ячейки на наличие заданных нами параметров. В этом примере, мы задали следующее — выделять все строки, в ячейках которых содержится слово Боб. Этим и занимается функция.
Итак, строки выделены.
Подсвечиваем строки с нужным нам числами
Итак, как подсветить строку с определенным текстовым значением мы разобрались.
Теперь давайте разберемся с численным значением. В принципе, тут все почти тоже самое.
Допустим, у нас есть та же табличка. Только теперь нам нужно выделить те строки, в которых количество товара больше или равно 15-ти.
Как это сделать?
Пошаговая инструкция:
- Выделите вашу табличку;
- Щелкните на «Главная» -> «Условное форматирование» -> «Создать правило…»;
- В открывшемся окне, из списка выберите последнюю опцию;
- В поле для описания функции введите =$D2>=15;
- Щелкните на «Формат…» и укажите цвет подсветки;
- Подтвердите.
Взглянем на результат:
Как видно, все получилось.
Точно также, кстати, и с датами.
Например, вам нужно выделить строки где дата — позже первого января 2021 года. Формула будет такой:
=$A2>ДАТА(2021,01,01)
Подсвечиваем строки с одновременно несколькими нужными нам значениями
Те варианты которые мы рассмотрели ранее — лишь основы использования функции «Условное форматирование».
В реальности же, часто бывают ситуации когда нужно выделить те строки, которые обладают сразу несколькими нужными нам критериями.
Итак, давайте разбираться. Допустим, нам нужно выделить все строки в которых продавец Боб и количество товара больше 10-ти.
Как это сделать?
Пошаговая инструкция:
- Выделите вашу табличку;
- Щелкните на «Главная» -> «Условное форматирование» -> «Создать правило…»;
- В открывшемся окне, из списка выберите последнюю опцию;
- В поле для описания функции введите =И($C2=»Боб»;$D2>10)
- Укажите формат;
- Подтвердите.
В этом варианте выделяются те строки, которые обладают всеми указанными критериями.
Но если вам необходимо выделить те строки, которые обладают любым из указанных критериев(даже одним) используйте такую формулу:
=ИЛИ($C2="Bob";$D2>15)
Подсвечиваем строки разным форматом в зависимости от значения
Еще чаще, при составлении отчётов в Excel вам может понадобится выделять «хорошие» и «плохие» строки. Обычно для этого используют зеленый и оранжевый (красный) цвета.
Допустим, нам нужно выделить строки в которых кол-во более 20-ти — зелененьким, а если кол-во менее 20-ти, но более 15-ти — оранжевым.
Как это сделать?
Пошаговая инструкция:
- Выделите вашу табличку;
- Щелкните на «Главная» -> «Условное форматирование» -> «Создать правило…»;
- В открывшемся окне, из списка выберите последнюю опцию;
- В поле для описания функции введите =$D2>15
- Установите оранжевый цвет в опции «Формат»;
- Подтвердите.
- В опции «Управление правилами» функции «Условное форматирование» щелкните «Создать правило»;
- И делаем еще одну проверку, только уже с формулой =$D2>20;
- В опции формат укажите зеленый цвет;
- Подтвердите.
Итак, вот результат:
Понимание порядка правил:
Условное форматирование проверяет правила по порядку. Из-за этого очень важно, в каком порядке они проверяются. Вы можете узнать это в диспетчере правил (открывается в «Условное форматирование» -> «Управление правилами…»).
У нас все правильно, но если бы правила проверялись наоборот, возникли бы ошибки. Из-за чего?
Потому что сначала ячейки окрашивались бы в зеленый цвет, а потом, при проверке второго правила, перекрашивались бы обратно в оранжевый.
Порядок проверки можно менять с помощью стрелки, идущей вниз. Как на картинке:
Подсвечиваем строки с пустыми ячейками
Такие ситуации тоже часто имеют место быть. Как выделить строки с пустыми ячейками?
Пошаговая инструкция:
- Выделите вашу табличку;
- Щелкните на «Главная» -> «Условное форматирование» -> «Создать правило…»;
- В открывшемся окне, из списка выберите последнюю опцию;
- В поле для описания функции введите =СЧЁТЕСЛИ($A2:$F2;»»)>0
- Установите оранжевый цвет в опции «Формат»;
- Подтвердите.
Вот результат:
Подсвечивание разных строк в зависимости от вашего выбора в списке
В разделах статьи, рассмотренных ранее, мы указывали формулы и сразу после этого выделялись нужные строки. Но что если нужно чтобы при выборе, например, имени продавца из списка, автоматически подсвечивались все строки с его именем?
Вот пример такого подсвечивания:
Как это сделать?
Пошаговая инструкция:
- Для начала создайте этот список;
- Выделите вашу табличку;
- Щелкните на «Главная» -> «Условное форматирование» -> «Создать правило…»;
- В открывшемся окне, из списка выберите последнюю опцию;
- В поле для описания функции введите =$E2=$A$2
- Установите нужный формат;
- Подтвердите.
Готово! Когда вы будете выбирать имя из списка, функция «Условное форматирование» будет автоматически выделять все строки с этим именем.
Время от времени бывает удобно иметь возможность выделить (подсветить) активную строку или столбец. Решение в очень простом методе достижения этого эффекта. Мы будем использовать условное форматирование и лишь пару строк кода VBA.
Подсветка цветом строки активной ячейки в Excel
Как всем хорошо известно, с помощью условного форматирования вы можете изменить (выделить) формат ячеек, которые соответствуют определенным критериям. В нашем случае должны быть выделены только те ячейки, которые расположены в той же строке, что и активная ячейка. Исходные данные для примера будут выглядеть так, как показано на рисунке ниже:
Выберите диапазон ячеек B2:K23 так, чтобы ячейка B2 оставалась активной.
Затем выберите инструмент: «ГЛАВНАЯ»-«Условное форматирование»-«Создать правило»-«Использовать формулу для форматируемых ячее». В поле «Форматировать значения, для которых следующая формула является истинной:» введите следующую формулу.
=СТРОКА(B2)=АктивнаяСтрока
Внимание: Адрес ячейки в левой части формулы B2 должен соответствовать АКТИВНОЙ ЯЧЕЙКИ выбранного диапазона в момент выделения! Посмотрите на рисунок ниже. На нем вы можете видеть, что в выбранной области одна ячейка (если вы ничего не напутали, это будет ячейка в верхнем левом углу диапазона) не окрашена (отсутствует синий фон). Эта ячейка является активной ячейкой в момент выделения диапазона. Адрес именно этой ячейки вы должны использовать при условном форматировании. Как вы можете видеть, в нашем примере это ячейка B2.
Запись СТРОКА(B2) = АктивнаяСтрока означает то, что ячейка выбранного диапазона будет отформатирована, если номер строки этой ячейки равен значению, хранящемуся в созданном имени диапазона АктивнаяСтрока.
То, что сейчас вы должны сделать, так это создать это имя и найти способ присвоить ему номер строки активной ячейки. Для начала создайте новое имя (CTRL+F3) и присвойте ему для начала просто значение ноль.
Далее вам нужно каким-то способом изменять значение, присвоенное этому имени, в зависимости от строки, в которой находится активная ячейка. Для этой цели мы будем использовать код VBA.
Запустите редактор VBA (Alt+F11) и для листа (Например, «Пример2»), в котором вы хотите подсвечивать любые строки и где создано условное форматирование, введите код:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
ActiveWorkbook.Names("АктивнаяСтрока").RefersTo = "=" & ActiveCell.Row
End Sub
Если вы бы хотели, чтобы строки подсвечивались цветом только при перемещении в пределах определенного диапазона, вы можете немного изменить код, который мог бы выглядеть так (для нашего Примера 1):
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, Range("B2:K23")) Is Nothing Then
ActiveWorkbook.Names("АктивнаяСтрока").RefersTo = "=" & ActiveCell.Column
End If
End Sub
Окончательный результат выглядит так:
Туда где перемещается курсор автоматически подсвечивается цветом целая строка диапазона в месте нахождения активной ячейки.
Подсветка цветом столбца в Excel
Теперь для подсветки цветом целого столбца активной ячейки следует выполнить 2 простых изменения в любом из примеров:
- В условном форматировании заменить функцию СТРОКА на СТОЛБЕЦ.
- Изменить в коде VBA-макроса свойство ActiveCell.Row на ActiveCell.Column.
Примечание. Имя исходного диапазона ячеек «АктивнаяСтрока» можно не изменять и оставить прежним как есть.
Решение изменения 1: Выберите инструмент «ГЛАВНАЯ»-«Стили»-«Условное форматирование»-«Управление правилами»:
В появившемся окне «Диспетчер правил условного форматирования» выберите правило и нажмите на кнопку «Изменить правило»:
Изменяем функцию, вносим желаемые стили оформления формата, которые доступны нам по кнопке «Формат»:
И нажимаем ОК на всех открытых окнах.
Решение изменения 2: Открываем редактор VBA-кода и изменяем только лишь одно свойство для объекта ActiveCell с Row на Column:
Наслаждаемся готовым желаемым результатом:
Аналогичные действия следует выполнить и для примера 2, если там есть необходимость подсвечивать цветом столбец, а не строку на целом листе Excel.
Узнайте, как на листах Excel быстро изменять цвет целой строки в зависимости от значения одной ячейки. Посмотрите приёмы и примеры формул для числовых и текстовых значений.
В одной из предыдущих статей мы обсуждали, как изменять цвет ячейки в зависимости от её значения. На этот раз мы расскажем о том, как в Excel 2010 и 2013 выделять цветом строку целиком в зависимости от значения одной ячейки, а также раскроем несколько хитростей и покажем примеры формул для работы с числовыми и текстовыми значениями.
- Изменяем цвет строки на основании числового значения одной из ячеек
- Создаём несколько правил форматирования и для каждого определяем приоритет
- Изменяем цвет строки на основании текстового значения одной из ячеек
- Изменяем цвет ячейки на основании значения другой ячейки
- Изменяем цвет строки по нескольким условиям
Содержание
- Как изменить цвет строки на основании числового значения одной из ячеек
- Как создать несколько правил условного форматирования с заданным приоритетом
- Как изменить цвет строки на основании текстового значения одной из ячеек
- Как изменить цвет ячейки на основании значения другой ячейки
- Как задать несколько условий для изменения цвета строки
Как изменить цвет строки на основании числового значения одной из ячеек
Предположим, у нас есть вот такая таблица заказов компании:
Мы хотим раскрасить различными цветами строки в зависимости от заказанного количества товара (значение в столбце Qty.), чтобы выделить самые важные заказы. Справиться с этой задачей нам поможет инструмент Excel – «Условное форматирование».
- Первым делом, выделим все ячейки, цвет заливки которых мы хотим изменить.
- Чтобы создать новое правило форматирования, нажимаем Главная > Условное форматирование > Создать правило (Home > Conditional Formatting > New rule).
- В появившемся диалоговом окне Создание правила форматирования (New Formatting Rule) выбираем вариант Использовать формулу для определения форматируемых ячеек (Use a formula to determine which cells to format), и ниже, в поле Форматировать значения, для которых следующая формула является истинной (Format values where this formula is true), вводим такое выражение:
=$C2>4
Вместо C2 Вы можете ввести ссылку на другую ячейку Вашей таблицы, значение которой нужно использовать для проверки условия, а вместо 4 можете указать любое нужное число. Разумеется, в зависимости от поставленной задачи, Вы можете использовать операторы сравнения меньше (<) или равно (=), то есть записать формулы в таком виде:
=$C2<4
=$C2=4
Обратите внимание на знак доллара $ перед адресом ячейки – он нужен для того, чтобы при копировании формулы в остальные ячейки строки сохранить букву столбца неизменной. Собственно, в этом кроется секрет фокуса, именно поэтому форматирование целой строки изменяется в зависимости от значения одной заданной ячейки.
- Нажимаем кнопку Формат (Format) и переходим на вкладку Заливка (Fill), чтобы выбрать цвет фона ячеек. Если стандартных цветов недостаточно, нажмите кнопку Другие цвета (More Colors), выберите подходящий и дважды нажмите ОК.Таким же образом на остальных вкладках диалогового окна Формат ячеек (Format Cells) настраиваются другие параметры форматирования, такие как цвет шрифта или границы ячеек.
- В поле Образец (Preview) показан результат выполнения созданного правила условного форматирования:
- Если всё получилось так, как было задумано, и выбранный цвет устраивает, то жмём ОК, чтобы увидеть созданное правило в действии.Теперь, если значение в столбце Qty. больше 4, то соответствующая строка таблицы целиком станет голубой.
Как видите, изменять в Excel цвет целой строки на основании числового значения одной из ячеек – это совсем не сложно. Далее мы рассмотрим ещё несколько примеров формул и парочку хитростей для решения более сложных задач.
Как создать несколько правил условного форматирования с заданным приоритетом
В таблице из предыдущего примера, вероятно, было бы удобнее использовать разные цвета заливки, чтобы выделить строки, содержащие в столбце Qty. различные значения. К примеру, создать ещё одно правило условного форматирования для строк, содержащих значение 10 или больше, и выделить их розовым цветом. Для этого нам понадобится формула:
=$C2>9
Для того, чтобы оба созданных нами правила работали одновременно, нужно расставить их в нужном приоритете.
- На вкладке Главная (Home) в разделе Стили (Styles) нажмите Условное форматирование (Conditional Formatting) > Управление правилами (Manage Rules)
- В выпадающем списке Показать правила форматирования для (Show formatting rules for) выберите Этот лист (This worksheet). Если нужно изменить параметры только для правил на выделенном фрагменте, выберите вариант Текущий фрагмент (Current Selection).
- Выберите правило форматирования, которое должно быть применено первым, и при помощи стрелок переместите его вверх списка. Должно получиться вот так:Нажмите ОК, и строки в указанном фрагменте тут же изменят цвет, в соответствии с формулами в обоих правилах.
Как изменить цвет строки на основании текстового значения одной из ячеек
Чтобы упростить контроль выполнения заказа, мы можем выделить в нашей таблице различными цветами строки заказов с разным статусом доставки, информация о котором содержится в столбце Delivery:
- Если срок доставки заказа находится в будущем (значение Due in X Days), то заливка таких ячеек должна быть оранжевой;
- Если заказ доставлен (значение Delivered), то заливка таких ячеек должна быть зелёной;
- Если срок доставки заказа находится в прошлом (значение Past Due), то заливка таких ячеек должна быть красной.
И, конечно же, цвет заливки ячеек должен изменяться, если изменяется статус заказа.
С формулой для значений Delivered и Past Due всё понятно, она будет аналогичной формуле из нашего первого примера:
=$E2="Delivered"
=$E2="Past Due"
Сложнее звучит задача для заказов, которые должны быть доставлены через Х дней (значение Due in X Days). Мы видим, что срок доставки для различных заказов составляет 1, 3, 5 или более дней, а это значит, что приведённая выше формула здесь не применима, так как она нацелена на точное значение.
В данном случае удобно использовать функцию ПОИСК (SEARCH) и для нахождения частичного совпадения записать вот такую формулу:
=ПОИСК("Due in";$E2)>0
=SEARCH("Due in",$E2)>0
В данной формуле E2 – это адрес ячейки, на основании значения которой мы применим правило условного форматирования; знак доллара $ нужен для того, чтобы применить формулу к целой строке; условие «>0» означает, что правило форматирования будет применено, если заданный текст (в нашем случае это «Due in») будет найден.
Подсказка: Если в формуле используется условие «>0«, то строка будет выделена цветом в каждом случае, когда в ключевой ячейке будет найден заданный текст, вне зависимости от того, где именно в ячейке он находится. В примере таблицы на рисунке ниже столбец Delivery (столбец F) может содержать текст «Urgent, Due in 6 Hours» (что в переводе означает – Срочно, доставить в течение 6 часов), и эта строка также будет окрашена.
Для того, чтобы выделить цветом те строки, в которых содержимое ключевой ячейки начинается с заданного текста или символов, формулу нужно записать в таком виде:
=ПОИСК("Due in";$E2)=1
=SEARCH("Due in",$E2)=1
Нужно быть очень внимательным при использовании такой формулы и проверить, нет ли в ячейках ключевого столбца данных, начинающихся с пробела. Иначе можно долго ломать голову, пытаясь понять, почему же формула не работает.
Итак, выполнив те же шаги, что и в первом примере, мы создали три правила форматирования, и наша таблица стала выглядеть вот так:
Как изменить цвет ячейки на основании значения другой ячейки
На самом деле, это частный случай задачи об изменении цвета строки. Вместо целой таблицы выделяем столбец или диапазон, в котором нужно изменить цвет ячеек, и используем формулы, описанные выше.
Например, мы можем настроить три наших правила таким образом, чтобы выделять цветом только ячейки, содержащие номер заказа (столбец Order number) на основании значения другой ячейки этой строки (используем значения из столбца Delivery).
Как задать несколько условий для изменения цвета строки
Если нужно выделить строки одним и тем же цветом при появлении одного из нескольких различных значений, то вместо создания нескольких правил форматирования можно использовать функции И (AND), ИЛИ (OR) и объединить таким образом нескольких условий в одном правиле.
Например, мы можем отметить заказы, ожидаемые в течение 1 и 3 дней, розовым цветом, а те, которые будут выполнены в течение 5 и 7 дней, жёлтым цветом. Формулы будут выглядеть так:
=ИЛИ($F2="Due in 1 Days";$F2="Due in 3 Days")
=OR($F2="Due in 1 Days",$F2="Due in 3 Days")
=ИЛИ($F2="Due in 5 Days";$F2="Due in 7 Days")
=OR($F2="Due in 5 Days",$F2="Due in 7 Days")
Для того, чтобы выделить заказы с количеством товара не менее 5, но не более 10 (значение в столбце Qty.), запишем формулу с функцией И (AND):
=И($D2>=5;$D2<=10)
=AND($D2>=5,$D2<=10)
Конечно же, в своих формулах Вы можете использовать не обязательно два, а столько условий, сколько требуется. Например:
=ИЛИ($F2="Due in 1 Days";$F2="Due in 3 Days";$F2="Due in 5 Days")
=OR($F2="Due in 1 Days",$F2="Due in 3 Days",$F2="Due in 5 Days")
Подсказка: Теперь, когда Вы научились раскрашивать ячейки в разные цвета, в зависимости от содержащихся в них значений, возможно, Вы захотите узнать, сколько ячеек выделено определённым цветом, и посчитать сумму значений в этих ячейках. Хочу порадовать Вас, это действие тоже можно сделать автоматически, и решение этой задачи мы покажем в статье, посвящённой вопросу Как в Excel посчитать количество, сумму и настроить фильтр для ячеек определённого цвета.
Мы показали лишь несколько из возможных способов сделать таблицу похожей на полосатую зебру, окраска которой зависит от значений в ячейках и умеет меняться вместе с изменением этих значений. Если Вы ищите для своих данных что-то другое, дайте нам знать, и вместе мы обязательно что-нибудь придумаем.
Оцените качество статьи. Нам важно ваше мнение:
Если значение в ячейке удовлетворяет определенному пользователем условию, то с помощью
Условного форматирования
можно выделить эту ячейку (например, изменить ее фон). В этой статье пойдем дальше — будем выделять всю строку таблицы, содержащую эту ячейку.
Пусть в диапазоне
А6:С16
имеется таблица с перечнем работ, сроками выполнения и статусом их завершения (см.
файл примера
).
Задача1 — текстовые значения
Необходимо выделить цветом строку, содержащую работу определенного статуса. Например, если работа не начата, то строку будем выделять красным, если работа еще не завершена, то серым, а если завершена, то зеленым. Выделять строки будем с помощью правил
Условного форматирования
.
Решение1
Создадим небольшую табличку со статусами работ в диапазоне
Е6:Е9
.
Выделим диапазон ячеек
А7:С17
, содержащий перечень работ, и установим через меню
фон заливки красный (предполагаем, что все работы изначально находятся в статусе
Не начата
).
Убедимся, что выделен диапазон ячеек
А7:С17
(
А7
должна быть
активной ячейкой
). Вызовем команду меню
.
-
в поле «
Форматировать значения, для которых следующая формула является истинной
» нужно ввести
=$C7=$E$8
(в ячейке
Е8
находится значение
В работе
). Обратите внимание на использованесмешанных ссылок
;
-
нажать кнопку
Формат
; -
выбрать вкладку
Заливка
; -
выбрать серый цвет
;
- Нажать ОК.
ВНИМАНИЕ
: Еще раз обращаю внимание на формулу
=$C7=$E$8
. Обычно пользователи вводят
=$C$7=$E$8
, т.е. вводят лишний символ доллара.
Нужно проделать аналогичные действия для выделения работ в статусе
Завершена
. Формула в этом случае будет выглядеть как
=$C7=$E$9
, а цвет заливки установите зеленый.
В итоге наша таблица примет следующий вид.
Примечание
:
Условное форматирование
перекрывает обычный формат ячеек. Поэтому, если работа в статусе Завершена, то она будет выкрашена в зеленый цвет, не смотря на то, что ранее мы установили красный фон через меню
.
Как это работает?
В
файле примера
для пояснения работы механизма выделения строк, создана дополнительная таблица с формулой
=$C7=$E$9
из правила
Условного форматирования
для зеленого цвета. Формула введена в верхнюю левую ячейку и скопирована вниз и вправо.
Как видно из рисунка, в строках таблицы, которые выделены зеленым цветом, формула возвращает значение ИСТИНА.
В формуле использована
относительная ссылка
на строку ($C7, перед номером строки нет знака $). Отсутствие знака $ перед номером строки приводит к тому, что при копировании формулы вниз на 1 строку она изменяется на
=$C8=$E$9
, затем на
=$C9=$E$9
, потом на
=$C10=$E$9
и т.д. до конца таблицы (см. ячейки
G8
,
G9
,
G10
и т.д.). При копировании формулы вправо или влево по столбцам, изменения формулы не происходит, именно поэтому цветом выделяется вся строка.
В случае затруднений можно потренироваться на примерах, приведенных в статье
Условное форматирование в MS EXCEL
.
Прием с дополнительной таблицей можно применять для тестирования любых формул
Условного форматирования
.
Рекомендации
При вводе статуса работ важно не допустить опечатку. Если вместо слово
Завершен
а
, например, пользователь введет
Завершен
о
, то
Условное форматирование
не сработает.
Чтобы исключить некорректный ввод используйте идеи из статьи
Ввод данных из списка значений. Часть1. Выпадающий список
. В файле примера для ввода статусов работ использован аналогичный
Выпадающий список
.
Чтобы быстро расширить правила Условного форматирования на новую строку в таблице, выделите ячейки новой строки (
А17:С17
) и нажмите
сочетание клавиш
CTRL+D
. Правила
Условного форматирования
будут скопированы в строку
17
таблицы.
Задача2 — Даты
Предположим, что ведется журнал посещения сотрудниками научных конференций (см.
файл примера лист Даты
).
К сожалению, столбец Дата посещения не отсортирован и необходимо выделить дату первого и последнего посещения каждого сотрудника. Например, сотрудник Козлов первый раз поехал на конференцию 24.07.2009, а последний раз — 18.07.2015.
Сначала создадим формулу для условного форматирования в столбцах В и E. Если формула вернет значение ИСТИНА, то соответствующая строка будет выделена, если ЛОЖЬ, то нет.
В столбце D создана
формула массива
=
МАКС(($A7=$A$7:$A$16)*$B$7:$B$16)=$B7
, которая определяет максимальную дату для определенного сотрудника.
Примечание:
Если нужно определить максимальную дату вне зависимости от сотрудника, то формула значительно упростится =
$B7=МАКС($B$7:$B$16)
и формула массива не понадобится.
Теперь выделим все ячейки таблицы без заголовка и создадим правило
Условного форматирования
. Скопируем формулу в правило (ее не нужно вводить как формулу массива!).
Теперь предположим, что столбец с датами отсортировали и требуется выделить строки у которых даты посещения попадают в определенный диапазон.
Для этого используйте формулу
=И($B23>$E$22;$B23<$E$23)
Для ячеек
Е22
и
Е23
с граничными датами (выделены желтым) использована
абсолютная адресация
$E$22 и
$E$23. Т.к. ссылка на них не должна меняться в правилах УФ для всех ячеек таблицы.
Для ячейки
В22
использована смешанная адресация $B23, т.е. ссылка на столбец В не должна меняться (для этого стоит перед В знак $), а вот ссылка на строку должна меняться в зависимости от строки таблицы (иначе все значения дат будут сравниваться с датой из
В23
).
Таким образом, правило УФ например для ячейки
А27
будет выглядеть
=И($B27>$E$22;$B27<$E$23)
, т.е.
А27
будет выделена, т.к. в этой строке дата из
В27
попадает в указанный диапазон (для ячеек из столбца А выделение все равно будет производиться в зависимости от содержимого столбца В из той же строки — в этом и состоит «магия» смешанной адресации $B23).
А для ячейки
В31
правило УФ будет выглядеть
=И($B31>$E$22;$B31<$E$23)
, т.е. В31 не будет выделена, т.к. в этой строке дата из
В31
не попадает в указанный диапазон.
Координатное выделение
У вас большой монитор, но таблицы, с которыми вы работаете — еще больше. И, пробегая взглядом по экрану в поисках нужной информации, всегда есть шанс «соскользнуть» взглядом на соседнюю строчку и посмотреть не туда. Я даже знаю людей, который для таких случаев постоянно держат недалеко от себя деревянную линейку, чтобы приложить ее к строке на мониторе. Технологии будущего!
А если при движении активной ячейки по листу будет подсвечиваться текущая строка и столбец? Своего рода координатное выделение примерно такого вида:
Поудобнее, чем линейка, правда?
Есть несколько способов разной сложности, чтобы реализовать такое. Каждый способ — со своими плюсами и минусами. Давайте разберем их детально.
Способ 1. Очевидный. Макрос, выделяющий текущую строку и столбец
Самый очевидный путь для решения нашей проблемы «в лоб» — нам нужен макрос, который будет отслеживать изменение выделения на листе и выделять целую строку и столбец для текущей ячейки. Также желательно иметь возможность при необходимости включать и отключать эту функцию, чтобы такое крестообразное выделение не мешало нам вводить, например, формулы, а работало только тогда, когда мы просматриваем список в поисках нужной информации. Это приводит нас к трем макросам (выделения, включения и выключения), которые нужно будет добавить в модуль листа.
Откройте лист со таблицей, в которой хотите получить такое координатное выделение. Щелкните правой кнопкой мыши по ярлычку листа и выберите в контекстном меню команду Исходный текст (Source Code). Должно открыться окно редактора Visual Basic. Скопируйте в него этот текст этих трех макросов:
Dim Coord_Selection As Boolean 'глобальная переменная для вкл/выкл выделения Sub Selection_On() 'макрос включения выделения Coord_Selection = True End Sub Sub Selection_Off() 'макрос выключения выделения Coord_Selection = False End Sub 'основная процедура, выполняющая выделение Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim WorkRange As Range If Target.Cells.Count > 1 Then Exit Sub 'если выделено больше 1 ячейки - выходим If Coord_Selection = False Then Exit Sub 'если выделение выключено - выходим Application.ScreenUpdating = False Set WorkRange = Range("A6:N300") 'адрес рабочего диапазона, в пределах которого видно выделение Intersect(WorkRange, Union(Target.EntireColumn, Target.EntireRow)).Select 'формируем крестообразный диапазон и выделяем Target.Activate End Sub
Измените адрес рабочего диапазона на свой — именно в пределах этого диапазона и будет работать наше выделение. Затем закройте редактор Visual Basic и вернитесь в Excel.
Нажмите сочетание клавиш ALT+F8, чтобы открыть окно со списком доступных макросов. Макрос Selection_On, как нетрудно догадаться, включает координатное выделение на текущем листе, а макрос Selection_Off — выключает его. В этом же окне, нажав кнопку Параметры (Options) можно назначить этим макросам сочетания клавиш для удобного запуска.
Плюсы этого способа:
- относительная простота реализации
- выделение — операция безобидная и никак не изменяет содержимое или форматирование ячеек листа, все остается как есть
Минусы этого способа:
- такое выделение некорректно работает в том случае, если на листе есть объединенные ячейки — выделяются сразу все строки и столбцы, входящие в объединение
- если случайно нажать клавишу Delete, то очистится не только активная ячейка, а вся выделенная область, т.е. удалятся данные из всей строки и столбца
Способ 2. Оригинальный. Функция ЯЧЕЙКА + Условное форматирование
Этот способ хотя и имеет пару недостатков, мне представляется весьма изящным. Реализовать что-либо, используя только встроенные средства Excel, минимально влезая в программирование на VBA — высший пилотаж
Способ основан на использовании функции ЯЧЕЙКА (CELL), которая может выдавать массу различной информации по заданной ячейке — высоту, ширину, номер строки-столбца, числовой формат и т.д.. Эта функция имеет два аргумента:
- кодовое слово для параметра, например «столбец» или «строка»
- адрес ячейки, для которой мы хотим определить значение этого параметра
Хитрость в том, что второй аргумент не является обязательным. Если он не указан, то берется текущая активная ячейка.
Вторая составляющая этого способа — условное форматирование. Эта крайне полезная функция Excel позволяет автоматически форматировать ячейки, если они удовлетворяют заданным условиям. Если соединить эти две идеи в одно целое, то получим следующий алгоритм реализации нашего координатного выделения через условное форматирование:
- Выделяем нашу таблицу, т.е. те ячейки, в которых в будущем должно отображаться координатное выделение.
- В Excel 2003 и более старших версиях открываем меню Формат — Условное форматирование — Формула (Format — Conditional Formatting — Formula). В Excel 2007 и новее — жмем на вкладке Главная (Home) кнопку Условное форматирование — Создать правило (Conditional Formatting — Create Rule) и выбираем тип правила Использовать формулу для определения форматируемых ячеек (Use formula)
- Вводим формулу для нашего координатного выделения:
=ИЛИ(ЯЧЕЙКА(«строка»)=СТРОКА(A2);ЯЧЕЙКА(«столбец»)=СТОЛБЕЦ(A2))
=OR(CELL(«row»)=ROW(A1),CELL(«column»)=COLUMN(A1))
Эта формула проверяет, не совпадает ли номер столбца каждой ячейки в таблице с номером столбца текущей ячейки. Аналогично со столбцами. Таким образом закрашенными окажутся только те ячейки, у которых либо номер столбца, либо номер строки совпадает с текущей ячейкой. А это и есть крестообразное координатное выделение, которого мы хотим добиться. - Нажмите кнопку Формат (Format) и задайте цвет заливки.
Все почти готово, но остался один нюанс. Дело в том, что Excel не считает изменение выделения изменением данных на листе. И, как следствие, не запускает пересчет формул и перекраску условного форматирования только при изменении положения активной ячейки. Поэтому добавим в модуль листа простой макрос, который будет это делать. Щелкните правой кнопкой мыши по ярлычку листа и выберите в контекстном меню команду Исходный текст (Source Code). Должно открыться окно редактора Visual Basic. Скопируйте в него этот текст этого простого макроса:
Private Sub Worksheet_SelectionChange(ByVal Target As Range) ActiveCell.Calculate End Sub
Теперь при изменении выделения будет запускаться процесс пересчета формулы с функцией ЯЧЕЙКА в условном форматировании и заливаться текущая строка и столбец.
Плюсы этого способа:
- Условное форматирование не нарушает пользовательское форматирование таблицы
- Этот вариант выделения корректно работает с объединенными ячейками.
- Нет риска удалить целую строку и столбец с данными при случайном нажатии Delete.
- Макросы используются минимально
Минусы этого способа:
- Формулу для условного форматирования надо вводить вручную.
- Нет быстрого способа включить-выключить такое форматирование — оно включено всегда, пока не будет удалено правило.
Способ 3. Оптимальный. Условное форматирование + макросы
Золотая середина. Используем механизм отслеживания выделения на листе при помощи макросов из способа-1 и добавим к нему безопасное выделение цветом с помощью условного форматирования из способа-2.
Откройте лист со таблицей, в которой хотите получить такое координатное выделение. Щелкните правой кнопкой мыши по ярлычку листа и выберите в контекстном меню команду Исходный текст (Source Code). Должно открыться окно редактора Visual Basic. Скопируйте в него этот текст этих трех макросов:
Dim Coord_Selection As Boolean Sub Selection_On() Coord_Selection = True End Sub Sub Selection_Off() Coord_Selection = False End Sub Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim WorkRange As Range, CrossRange As Range Set WorkRange = Range("A7:N300") 'адрес рабочего диапазона с таблицей If Target.Count > 1 Then Exit Sub If Coord_Selection = False Then WorkRange.FormatConditions.Delete Exit Sub End If Application.ScreenUpdating = False If Not Intersect(Target, WorkRange) Is Nothing Then Set CrossRange = Intersect(WorkRange, Union(Target.EntireRow, Target.EntireColumn)) WorkRange.FormatConditions.Delete CrossRange.FormatConditions.Add Type:=xlExpression, Formula1:="=1" CrossRange.FormatConditions(1).Interior.ColorIndex = 33 Target.FormatConditions.Delete End If End Sub
Не забудьте изменить адрес рабочего диапазона на адрес своей таблицы. Закройте редактор Visual Basic и вернитесь в Excel. Чтобы использовать добавленные макросы, нажмите сочетание клавиш ALT+F8 и действуйте аналогично способу 1.
Способ 4. Красивый. Надстройка FollowCellPointer
Excel MVP Jan Karel Pieterse родом из Нидерландов раздает у себя на сайте бесплатную надстройку FollowCellPointer(36Кб), которая решает ту же задачу, отрисовывая с помощью макросов графические линии-стрелки для подсветки текущей строки и столбца:
Красивое решение. Не без глюков местами, но попробовать точно стоит. Качаем архив, распаковываем на диск и устанавливаем надстройку:
- в Excel 2003 и старше — через меню Сервис — Надстройки — Обзор (Tools — Add-Ins — Browse)
- в Excel 2007 и новее — через Файл — Параметры — Надстройки — Перейти — Обзор (File — Excel Options — Add-Ins — Go to — Browse)
Ссылки по теме
- Что такое макросы, куда вставлять код макроса на Visual Basic
Excel для Microsoft 365 Excel для Интернета Excel 2021 Excel 2019 Excel 2016 Excel 2013 Excel 2010 Excel 2007 Еще…Меньше
В этой статье показано, как автоматически применять затенение к каждой второй строке или столбцу на каждом из них.
Применить затенение к чередующихся строкам или столбцам можно двумя способами: применить затенение с помощью простой формулы условного форматирования или применить к данным готовый стиль Excel таблицы.
Один из способов применить затенение к чередующихся строкам или столбцам на вашем компьютере — создать правило условного форматирования. В этом правиле используется формула для определения четных и нечетных строк, чтобы затем соответствующим образом применить затенение. Формула показана ниже.
=ОСТАТ(СТРОКА(),2)=0
Примечание: Если необходимо применить затенение к чередующимся столбцам вместо чередующихся строк, введите =ОСТАТ(СТОЛБЕЦ(),2)=0.
-
На листе выполните одно из указанных ниже действий.
-
Чтобы применить затенение к определенному диапазону ячеек, выберите ячейки, которые необходимо отформатировать.
-
Чтобы применить затенение ко всему листу, нажмите кнопку Выделить все.
-
-
На вкладке Главная в группе Стили щелкните стрелку рядом с кнопкой Условное форматирование и выберите пункт Создать правило.
-
В диалоговом окне Создание правила форматирования в разделе Выберите тип правила щелкните Использовать формулу для определения форматируемых ячеек.
-
В поле Форматировать значения, для которых следующая формула является истинной введите =ОСТАТ(СТРОКА(),2)=0, как показано на рисунке.
-
Нажмите кнопку Формат.
-
В диалоговом окне Формат ячеек откройте вкладку Заливка.
-
Выберите цвет фона или узора, который нужно использовать для затененных строк, и нажмите кнопку ОК.
Теперь выбранный цвет должен отобразиться в окне Предварительный просмотр в диалоговом окне Создание правила форматирования.
-
Чтобы применить форматирование к ячейкам на листе, нажмите кнопку ОК
Примечание: Чтобы просмотреть или изменить правило условного форматирования, на вкладке Главная в группе Стили щелкните стрелку рядом с кнопкой Условное форматирование и выберите пункт Управление правилами.
Другой способ быстрого добавления затенения к чередующимся строкам — использование предопределенного стиля таблицы Excel. Этот метод удобен, если вы хотите отформатировать определенный диапазон ячеек, используя при этом дополнительные преимущества таблицы, например возможность быстро отображать строки итогов или строки заголовков, в которых автоматически выводятся раскрывающиеся списки фильтра.
По умолчанию для удобства чтения данных к строкам в таблице применяются диапазоны. При добавлении или удалении строк в таблице диапазоны продолжают использоваться автоматически.
Если вы хотите применить стиль таблицы, но вам не нужны ее функции, вы можете преобразовать таблицу в обычный диапазон данных. Тем не менее при последующем добавлении данных в диапазон затенение не будет применяться автоматически.
-
Выделите на листе диапазон ячеек, которые нужно отформатировать.
-
На вкладке Главная в группе Стили выберите команду Форматировать как таблицу.
-
Выберите нужный стиль таблицы в разделе Светлый, Средний или Темный.
Совет: Если созданы пользовательские стили таблицы, они будут доступны в разделе Пользовательские. Подробнее о создании пользовательского стиля таблицы читайте в статье Форматирование таблицы Excel.
-
В диалоговом окне Форматирование таблицы нажмите кнопку ОК.
Обратите внимание на то, что в группе Параметры стилей таблиц установлен флажок Чередующиеся строки.
Если необходимо применить затенение к чередующимся столбцам вместо чередующихся строк, можно снять этот флажок и выбрать параметр Полосы столбцов.
-
Если необходимо преобразовать таблицу Excel в обычный диапазон ячеек, щелкните в любом месте таблицы, чтобы отобразить инструменты, необходимые для преобразования таблицы обратно в диапазон данных.
-
На вкладке Конструктор в группе Сервис выберите команду Преобразовать в диапазон.
Совет: Можно также щелкнуть таблицу правой кнопкой мыши, выбрать пункт Таблица, а затем щелкнуть элемент Преобразовать в диапазон.
Примечание: Настраиваемые правила условного форматирования нельзя создавать для применения затенения к чередующихся строкам или столбцам в Excel в Интернете.
При создании таблицы в Excel в Интернете, по умолчанию каждая другая строка в таблице затеняется. При добавлении или удалении строк в таблице диапазоны продолжают использоваться автоматически. Однако можно применить затенение к чередующихся столбцам. Для этого:
-
Выделите любую ячейку в таблице.
-
Перейдите на вкладку Конструктор таблиц и в группе Параметры стилявыберите параметр С полосами столбцов.
Чтобы удалить затенение из строк или столбцов, в группе Параметры стиля снимитеэтот параметр рядом с параметрами Banded Rows или Banded Columns.
Дополнительные сведения
Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.
Нужна дополнительная помощь?
Содержание
- Процедура изменения цвета ячеек в зависимости от содержимого
- Способ 1: условное форматирование
- Способ 2: использование инструмента «Найти и выделить»
- Вопросы и ответы
При работе с таблицами первоочередное значение имеют выводимые в ней значения. Но немаловажной составляющей является также и её оформление. Некоторые пользователи считают это второстепенным фактором и не обращают на него особого внимания. А зря, ведь красиво оформленная таблица является важным условием для лучшего её восприятия и понимания пользователями. Особенно большую роль в этом играет визуализация данных. Например, с помощью инструментов визуализации можно окрасить ячейки таблицы в зависимости от их содержимого. Давайте узнаем, как это можно сделать в программе Excel.
Процедура изменения цвета ячеек в зависимости от содержимого
Конечно, всегда приятно иметь хорошо оформленную таблицу, в которой ячейки в зависимости от содержимого, окрашиваются в разные цвета. Но особенно актуальна данная возможность для больших таблиц, содержащих значительный массив данных. В этом случае заливка цветом ячеек значительно облегчит пользователям ориентирование в этом огромном количестве информации, так как она, можно сказать, будет уже структурированной.
Элементы листа можно попытаться раскрасить вручную, но опять же, если таблица большая, то это займет значительное количество времени. К тому же, в таком массиве данных человеческий фактор может сыграть свою роль и будут допущены ошибки. Не говоря уже о том, что таблица может быть динамической и данные в ней периодически изменяются, причем массово. В этом случае вручную менять цвет вообще становится нереально.
Но выход существует. Для ячеек, которые содержат динамические (изменяющиеся) значения применяется условное форматирование, а для статистических данных можно использовать инструмент «Найти и заменить».
Способ 1: условное форматирование
С помощью условного форматирования можно задать определенные границы значений, при которых ячейки будут окрашиваться в тот или иной цвет. Окрашивание будет проводиться автоматически. В случае, если значение ячейки, вследствие изменения выйдет за пределы границы, то автоматически произойдет перекрашивание данного элемента листа.
Посмотрим, как этот способ работает на конкретном примере. Имеем таблицу доходов предприятия, в которой данные разбиты помесячно. Нам нужно выделить разными цветами те элементы, в которых величина доходов менее 400000 рублей, от 400000 до 500000 рублей и превышает 500000 рублей.
- Выделяем столбец, в котором находится информация по доходам предприятия. Затем перемещаемся во вкладку «Главная». Щелкаем по кнопке «Условное форматирование», которая располагается на ленте в блоке инструментов «Стили». В открывшемся списке выбираем пункт «Управления правилами…».
- Запускается окошко управления правилами условного форматирования. В поле «Показать правила форматирования для» должно быть установлено значение «Текущий фрагмент». По умолчанию именно оно и должно быть там указано, но на всякий случай проверьте и в случае несоответствия измените настройки согласно вышеуказанным рекомендациям. После этого следует нажать на кнопку «Создать правило…».
- Открывается окно создания правила форматирования. В списке типов правил выбираем позицию «Форматировать только ячейки, которые содержат». В блоке описания правила в первом поле переключатель должен стоять в позиции «Значения». Во втором поле устанавливаем переключатель в позицию «Меньше». В третьем поле указываем значение, элементы листа, содержащие величину меньше которого, будут окрашены определенным цветом. В нашем случае это значение будет 400000. После этого жмем на кнопку «Формат…».
- Открывается окно формата ячеек. Перемещаемся во вкладку «Заливка». Выбираем тот цвет заливки, которым желаем, чтобы выделялись ячейки, содержащие величину менее 400000. После этого жмем на кнопку «OK» в нижней части окна.
- Возвращаемся в окно создания правила форматирования и там тоже жмем на кнопку «OK».
- После этого действия мы снова будем перенаправлены в Диспетчер правил условного форматирования. Как видим, одно правило уже добавлено, но нам предстоит добавить ещё два. Поэтому снова жмем на кнопку «Создать правило…».
- И опять мы попадаем в окно создания правила. Перемещаемся в раздел «Форматировать только ячейки, которые содержат». В первом поле данного раздела оставляем параметр «Значение ячейки», а во втором выставляем переключатель в позицию «Между». В третьем поле нужно указать начальное значение диапазона, в котором будут форматироваться элементы листа. В нашем случае это число 400000. В четвертом указываем конечное значение данного диапазона. Оно составит 500000. После этого щелкаем по кнопке «Формат…».
- В окне форматирования снова перемещаемся во вкладку «Заливка», но на этот раз уже выбираем другой цвет, после чего жмем на кнопку «OK».
- После возврата в окно создания правила тоже жмем на кнопку «OK».
- Как видим, в Диспетчере правил у нас создано уже два правила. Таким образом, осталось создать третье. Щелкаем по кнопке «Создать правило».
- В окне создания правила опять перемещаемся в раздел «Форматировать только ячейки, которые содержат». В первом поле оставляем вариант «Значение ячейки». Во втором поле устанавливаем переключатель в полицию «Больше». В третьем поле вбиваем число 500000. Затем, как и в предыдущих случаях, жмем на кнопку «Формат…».
- В окне «Формат ячеек» опять перемещаемся во вкладку «Заливка». На этот раз выбираем цвет, который отличается от двух предыдущих случаев. Выполняем щелчок по кнопке «OK».
- В окне создания правил повторяем нажатие на кнопку «OK».
- Открывается Диспетчер правил. Как видим, все три правила созданы, поэтому жмем на кнопку «OK».
- Теперь элементы таблицы окрашены согласно заданным условиям и границам в настройках условного форматирования.
- Если мы изменим содержимое в одной из ячеек, выходя при этом за границы одного из заданных правил, то при этом данный элемент листа автоматически сменит цвет.
Кроме того, можно использовать условное форматирование несколько по-другому для окраски элементов листа цветом.
- Для этого после того, как из Диспетчера правил мы переходим в окно создания форматирования, то остаемся в разделе «Форматировать все ячейки на основании их значений». В поле «Цвет» можно выбрать тот цвет, оттенками которого будут заливаться элементы листа. Затем следует нажать на кнопку «OK».
- В Диспетчере правил тоже жмем на кнопку «OK».
- Как видим, после этого ячейки в колонке окрашиваются различными оттенками одного цвета. Чем значение, которое содержит элемент листа больше, тем оттенок светлее, чем меньше – тем темнее.
Урок: Условное форматирование в Экселе
Способ 2: использование инструмента «Найти и выделить»
Если в таблице находятся статические данные, которые не планируется со временем изменять, то можно воспользоваться инструментом для изменения цвета ячеек по их содержимому под названием «Найти и выделить». Указанный инструмент позволит отыскать заданные значения и изменить цвет в этих ячейках на нужный пользователю. Но следует учесть, что при изменении содержимого в элементах листа, цвет автоматически изменяться не будет, а останется прежним. Для того, чтобы сменить цвет на актуальный, придется повторять процедуру заново. Поэтому данный способ не является оптимальным для таблиц с динамическим содержимым.
Посмотрим, как это работает на конкретном примере, для которого возьмем все ту же таблицу дохода предприятия.
- Выделяем столбец с данными, которые следует отформатировать цветом. Затем переходим во вкладку «Главная» и жмем на кнопку «Найти и выделить», которая размещена на ленте в блоке инструментов «Редактирование». В открывшемся списке кликаем по пункту «Найти».
- Запускается окно «Найти и заменить» во вкладке «Найти». Прежде всего, найдем значения до 400000 рублей. Так как у нас нет ни одной ячейки, где содержалось бы значение менее 300000 рублей, то, по сути, нам нужно выделить все элементы, в которых содержатся числа в диапазоне от 300000 до 400000. К сожалению, прямо указать данный диапазон, как в случае применения условного форматирования, в данном способе нельзя.
Но существует возможность поступить несколько по-другому, что нам даст тот же результат. Можно в строке поиска задать следующий шаблон «3?????». Знак вопроса означает любой символ. Таким образом, программа будет искать все шестизначные числа, которые начинаются с цифры «3». То есть, в выдачу поиска попадут значения в диапазоне 300000 – 400000, что нам и требуется. Если бы в таблице были числа меньше 300000 или меньше 200000, то для каждого диапазона в сотню тысяч поиск пришлось бы производить отдельно.
Вводим выражение «3?????» в поле «Найти» и жмем на кнопку «Найти все».
- После этого в нижней части окошка открываются результаты поисковой выдачи. Кликаем левой кнопкой мыши по любому из них. Затем набираем комбинацию клавиш Ctrl+A. После этого выделяются все результаты поисковой выдачи и одновременно выделяются элементы в столбце, на которые данные результаты ссылаются.
- После того, как элементы в столбце выделены, не спешим закрывать окно «Найти и заменить». Находясь во вкладке «Главная» в которую мы переместились ранее, переходим на ленту к блоку инструментов «Шрифт». Кликаем по треугольнику справа от кнопки «Цвет заливки». Открывается выбор различных цветов заливки. Выбираем тот цвет, который мы желаем применить к элементам листа, содержащим величины менее 400000 рублей.
- Как видим, все ячейки столбца, в которых находятся значения менее 400000 рублей, выделены выбранным цветом.
- Теперь нам нужно окрасить элементы, в которых располагаются величины в диапазоне от 400000 до 500000 рублей. В этот диапазон входят числа, которые соответствуют шаблону «4??????». Вбиваем его в поле поиска и щелкаем по кнопке «Найти все», предварительно выделив нужный нам столбец.
- Аналогично с предыдущим разом в поисковой выдаче производим выделение всего полученного результата нажатием комбинации горячих клавиш CTRL+A. После этого перемещаемся к значку выбора цвета заливки. Кликаем по нему и жмем на пиктограмму нужного нам оттенка, который будет окрашивать элементы листа, где находятся величины в диапазоне от 400000 до 500000.
- Как видим, после этого действия все элементы таблицы с данными в интервале с 400000 по 500000 выделены выбранным цветом.
- Теперь нам осталось выделить последний интервал величин – более 500000. Тут нам тоже повезло, так как все числа более 500000 находятся в интервале от 500000 до 600000. Поэтому в поле поиска вводим выражение «5?????» и жмем на кнопку «Найти все». Если бы были величины, превышающие 600000, то нам бы пришлось дополнительно производить поиск для выражения «6?????» и т.д.
- Опять выделяем результаты поиска при помощи комбинации Ctrl+A. Далее, воспользовавшись кнопкой на ленте, выбираем новый цвет для заливки интервала, превышающего 500000 по той же аналогии, как мы это делали ранее.
- Как видим, после этого действия все элементы столбца будут закрашены, согласно тому числовому значению, которое в них размещено. Теперь можно закрывать окно поиска, нажав стандартную кнопку закрытия в верхнем правом углу окна, так как нашу задачу можно считать решенной.
- Но если мы заменим число на другое, выходящее за границы, которые установлены для конкретного цвета, то цвет не поменяется, как это было в предыдущем способе. Это свидетельствует о том, что данный вариант будет надежно работать только в тех таблицах, в которых данные не изменяются.
Урок: Как сделать поиск в Экселе
Как видим, существует два способа окрасить ячейки в зависимости от числовых значений, которые в них находятся: с помощью условного форматирования и с использованием инструмента «Найти и заменить». Первый способ более прогрессивный, так как позволяет более четко задать условия, по которым будут выделяться элементы листа. К тому же, при условном форматировании цвет элемента автоматически меняется, в случае изменения содержимого в ней, чего второй способ делать не может. Впрочем, заливку ячеек в зависимости от значения путем применения инструмента «Найти и заменить» тоже вполне можно использовать, но только в статических таблицах.
Содержание
- Координатное выделение строки и столбца
- Описание проблемы
- Как включить подсветку текущей строки и столбца
- Настройки выделения
- Как подсветить строки в зависимости от значения в них Excel
- Подсвечиваем строки с нужным нам текстом
- Подсвечиваем строки с нужным нам числами
- Подсвечиваем строки с одновременно несколькими нужными нам значениями
- Подсвечиваем строки разным форматом в зависимости от значения
- Подсвечиваем строки с пустыми ячейками
- Подсвечивание разных строк в зависимости от вашего выбора в списке
- Подсветка строки или столбца цветом в Excel для активной ячейки
- Подсветка цветом строки активной ячейки в Excel
- Подсветка цветом столбца в Excel
Координатное выделение строки и столбца
Описание проблемы
Мне часто приходится работать с «широкими» таблицами, которые не помещаются на экран. Поэтому при перемещении влево вправо глаза теряют текущую строку. Ее приходится долго искать и перепроверять в правильную ли строку вводятся данные. Чтобы этого избежать можно подсвечивать активную строку и столбец. Сделать это удобно с помощью надстройки VBA-Excel.
Вот так работает эта функция.
Как включить подсветку текущей строки и столбца
Координатное выделение включается очень просто: перейдите на вкладку надстройки VBA-Excel и в меню Подсветка выберите Включить перекрестное выделение.
Подсветка автоматически будет работать во всех книгах и на всех листах до тех пор пока вы не нажмете команду Отключить перекрестное выделение или не закроете книгу.
Настройки выделения
Нажмите команду Настройки перекрестного выделения, чтобы открыть панель настроек.
Здесь можно указать подсвечивать ли строки и столбцы вместе или по отдельности.
Можно отдельно указать цвет заливки и шрифта.
Нажмите Сохранить и программа запомнит настройки.
Источник
Как подсветить строки в зависимости от значения в них Excel
Итак, бывают ситуации, когда вы хотите обратить внимание читателя (вашей таблички) на какие-то особо важные моменты. Например, на те строки, значения в которых кажутся вам неправильными.
Допустим, у нас есть такая табличка. Я подсветил те строки, в которых продавец — Боб.
Сейчас я продемонстрирую вам, как можно сделать также и не только.
Итак, давайте начнём!
Подсвечиваем строки с нужным нам текстом
Допустим, у нас есть такая табличка:
Нам нужно подсветить все строки, в которых продавцом является Боб.
Как это сделать?
- Выделите вашу табличку;
- Щелкните на «Главная»;
- Щелкните на «Условное форматирование»;
- Щелкните на «Создать правило…»;
- В открывшемся окне, выберите указанную на картинке опцию;
- В поле «Форматировать значения, для которых следующая формула является истинной» введите =$C2=»Bob»;
- А теперь настроим формат, щелкните на «Формат…»;
- И, в открывшемся окне, формат, которым нужно выделить ячейки;
- Подтвердите.
Итак, у нас получилось:
Как это работает?
Условное форматирование — функция, которая проверяет ячейки на наличие заданных нами параметров. В этом примере, мы задали следующее — выделять все строки, в ячейках которых содержится слово Боб. Этим и занимается функция.
Итак, строки выделены.
Подсвечиваем строки с нужным нам числами
Итак, как подсветить строку с определенным текстовым значением мы разобрались.
Теперь давайте разберемся с численным значением. В принципе, тут все почти тоже самое.
Допустим, у нас есть та же табличка. Только теперь нам нужно выделить те строки, в которых количество товара больше или равно 15-ти.
Как это сделать?
- Выделите вашу табличку;
- Щелкните на «Главная» -> «Условное форматирование» -> «Создать правило…»;
- В открывшемся окне, из списка выберите последнюю опцию;
- В поле для описания функции введите =$D2>=15;
- Щелкните на «Формат…» и укажите цвет подсветки;
- Подтвердите.
Взглянем на результат:
Как видно, все получилось.
Точно также, кстати, и с датами.
Например, вам нужно выделить строки где дата — позже первого января 2021 года. Формула будет такой:
Подсвечиваем строки с одновременно несколькими нужными нам значениями
Те варианты которые мы рассмотрели ранее — лишь основы использования функции «Условное форматирование».
В реальности же, часто бывают ситуации когда нужно выделить те строки, которые обладают сразу несколькими нужными нам критериями.
Итак, давайте разбираться. Допустим, нам нужно выделить все строки в которых продавец Боб и количество товара больше 10-ти.
Как это сделать?
- Выделите вашу табличку;
- Щелкните на «Главная» -> «Условное форматирование» -> «Создать правило…»;
- В открывшемся окне, из списка выберите последнюю опцию;
- В поле для описания функции введите =И($C2=»Боб»;$D2>10)
- Укажите формат;
- Подтвердите.
В этом варианте выделяются те строки, которые обладают всеми указанными критериями.
Но если вам необходимо выделить те строки, которые обладают любым из указанных критериев(даже одним) используйте такую формулу:
Подсвечиваем строки разным форматом в зависимости от значения
Еще чаще, при составлении отчётов в Excel вам может понадобится выделять «хорошие» и «плохие» строки. Обычно для этого используют зеленый и оранжевый (красный) цвета.
Допустим, нам нужно выделить строки в которых кол-во более 20-ти — зелененьким, а если кол-во менее 20-ти, но более 15-ти — оранжевым.
Как это сделать?
- Выделите вашу табличку;
- Щелкните на «Главная» -> «Условное форматирование» -> «Создать правило…»;
- В открывшемся окне, из списка выберите последнюю опцию;
- В поле для описания функции введите =$D2>15
- Установите оранжевый цвет в опции «Формат»;
- Подтвердите.
- В опции «Управление правилами» функции «Условное форматирование» щелкните «Создать правило»;
- И делаем еще одну проверку, только уже с формулой =$D2>20;
- В опции формат укажите зеленый цвет;
- Подтвердите.
Итак, вот результат:
Понимание порядка правил:
Условное форматирование проверяет правила по порядку. Из-за этого очень важно, в каком порядке они проверяются. Вы можете узнать это в диспетчере правил (открывается в «Условное форматирование» -> «Управление правилами…»).
У нас все правильно, но если бы правила проверялись наоборот, возникли бы ошибки. Из-за чего?
Потому что сначала ячейки окрашивались бы в зеленый цвет, а потом, при проверке второго правила, перекрашивались бы обратно в оранжевый.
Порядок проверки можно менять с помощью стрелки, идущей вниз. Как на картинке:
Подсвечиваем строки с пустыми ячейками
Такие ситуации тоже часто имеют место быть. Как выделить строки с пустыми ячейками?
- Выделите вашу табличку;
- Щелкните на «Главная» -> «Условное форматирование» -> «Создать правило…»;
- В открывшемся окне, из списка выберите последнюю опцию;
- В поле для описания функции введите =СЧЁТЕСЛИ($A2:$F2;»»)>0
- Установите оранжевый цвет в опции «Формат»;
- Подтвердите.
Подсвечивание разных строк в зависимости от вашего выбора в списке
В разделах статьи, рассмотренных ранее, мы указывали формулы и сразу после этого выделялись нужные строки. Но что если нужно чтобы при выборе, например, имени продавца из списка, автоматически подсвечивались все строки с его именем?
Вот пример такого подсвечивания:
Как это сделать?
- Для начала создайте этот список;
- Выделите вашу табличку;
- Щелкните на «Главная» -> «Условное форматирование» -> «Создать правило…»;
- В открывшемся окне, из списка выберите последнюю опцию;
- В поле для описания функции введите =$E2=$A$2
- Установите нужный формат;
- Подтвердите.
Готово! Когда вы будете выбирать имя из списка, функция «Условное форматирование» будет автоматически выделять все строки с этим именем.
Источник
Подсветка строки или столбца цветом в Excel для активной ячейки
Время от времени бывает удобно иметь возможность выделить (подсветить) активную строку или столбец. Решение в очень простом методе достижения этого эффекта. Мы будем использовать условное форматирование и лишь пару строк кода VBA.
Подсветка цветом строки активной ячейки в Excel
Как всем хорошо известно, с помощью условного форматирования вы можете изменить (выделить) формат ячеек, которые соответствуют определенным критериям. В нашем случае должны быть выделены только те ячейки, которые расположены в той же строке, что и активная ячейка. Исходные данные для примера будут выглядеть так, как показано на рисунке ниже:
Выберите диапазон ячеек B2:K23 так, чтобы ячейка B2 оставалась активной.
Затем выберите инструмент: «ГЛАВНАЯ»-«Условное форматирование»-«Создать правило»-«Использовать формулу для форматируемых ячее». В поле «Форматировать значения, для которых следующая формула является истинной:» введите следующую формулу.
Внимание: Адрес ячейки в левой части формулы B2 должен соответствовать АКТИВНОЙ ЯЧЕЙКИ выбранного диапазона в момент выделения! Посмотрите на рисунок ниже. На нем вы можете видеть, что в выбранной области одна ячейка (если вы ничего не напутали, это будет ячейка в верхнем левом углу диапазона) не окрашена (отсутствует синий фон). Эта ячейка является активной ячейкой в момент выделения диапазона. Адрес именно этой ячейки вы должны использовать при условном форматировании. Как вы можете видеть, в нашем примере это ячейка B2.
Запись СТРОКА(B2) = АктивнаяСтрока означает то, что ячейка выбранного диапазона будет отформатирована, если номер строки этой ячейки равен значению, хранящемуся в созданном имени диапазона АктивнаяСтрока.
То, что сейчас вы должны сделать, так это создать это имя и найти способ присвоить ему номер строки активной ячейки. Для начала создайте новое имя (CTRL+F3) и присвойте ему для начала просто значение ноль.
Далее вам нужно каким-то способом изменять значение, присвоенное этому имени, в зависимости от строки, в которой находится активная ячейка. Для этой цели мы будем использовать код VBA.
Запустите редактор VBA (Alt+F11) и для листа (Например, «Пример2»), в котором вы хотите подсвечивать любые строки и где создано условное форматирование , введите код:
Private Sub Worksheet_SelectionChange( ByVal Target As Range)
ActiveWorkbook.Names( «АктивнаяСтрока» ).RefersTo = «=» & ActiveCell.Row
End Sub
Если вы бы хотели, чтобы строки подсвечивались цветом только при перемещении в пределах определенного диапазона, вы можете немного изменить код, который мог бы выглядеть так (для нашего Примера 1):
Private Sub Worksheet_SelectionChange( ByVal Target As Range)
If Not Intersect(Target, Range( «B2:K23» )) Is Nothing Then
ActiveWorkbook.Names( «АктивнаяСтрока» ).RefersTo = «=» & ActiveCell.Column
End If
End Sub
Окончательный результат выглядит так:
Туда где перемещается курсор автоматически подсвечивается цветом целая строка диапазона в месте нахождения активной ячейки.
Подсветка цветом столбца в Excel
Теперь для подсветки цветом целого столбца активной ячейки следует выполнить 2 простых изменения в любом из примеров:
- В условном форматировании заменить функцию СТРОКА на СТОЛБЕЦ.
- Изменить в коде VBA-макроса свойство ActiveCell.Row на ActiveCell.Column.
Примечание. Имя исходного диапазона ячеек «АктивнаяСтрока» можно не изменять и оставить прежним как есть.
Решение изменения 1: Выберите инструмент «ГЛАВНАЯ»-«Стили»-«Условное форматирование»-«Управление правилами»:
В появившемся окне «Диспетчер правил условного форматирования» выберите правило и нажмите на кнопку «Изменить правило»:
Изменяем функцию, вносим желаемые стили оформления формата, которые доступны нам по кнопке «Формат»:
И нажимаем ОК на всех открытых окнах.
Решение изменения 2: Открываем редактор VBA-кода и изменяем только лишь одно свойство для объекта ActiveCell с Row на Column:
Наслаждаемся готовым желаемым результатом:
Аналогичные действия следует выполнить и для примера 2, если там есть необходимость подсвечивать цветом столбец, а не строку на целом листе Excel.
Источник
Conditional Formatting generally checks the value in one cell and applies formatting over the other cells. A great application of conditional formatting is highlighting the entire row or multiple rows based on a cell value and condition provided in the formula.
It is very helpful because for a data set with tons of value in it becomes cumbersome to analyze just by reading the data. So, if we highlight a few rows based on some conditions, it becomes easier for the user to infer from the data set. For example, in a college, some students have been blacklisted due to some illegal activities. So, in the Excel record the administrator can highlight the rows where these students records are present.
In this article we are going to see how to highlight row(s) based on cell value(s) using a suitable real time example shown below :
Example : Consider a company’s employees data is present. The following table consists of data about the project(s) which has been assigned to employees, their ages and ID. An employee can work on multiple projects. The blank cell in project denotes that no project has been assigned to that employee.
Highlighting the Rows
1. On the basis of text match :
Aim : Highlight all the rows where Employee name is “Srishti”.
Steps :
1. Select the entire dataset from A3 to D14 in our case.
2. In the Home Tab select Conditional Formatting. A drop-down menu opens.
3. Select New Rule from the drop-down. The dialog box opens.
4. In the New Formatting Rule dialog box select “Use a Formula to determine which cells to format” in the Select a Rule Type option.
5. In the formula box, write the formula :
=$B2="Srishti" $ is used to lock the column B, so that only the cell B is looked starting from Row 2
The formula will initially check if the name “Srishti” is present or not in the cell B2. Now, since cell B is locked and next time checking will be done from cell B3 and so on until the condition gets matched.
6. In the Preview field, select Format and then go to Fill and then select an appropriate color for highlighting and click OK
7. Now click OK and the rows will be highlighted.
Highlighted Rows
2. Non-text matching based on number :
Aim : Highlight all the rows having age less than 25.
Approach :
Repeat the above steps as discussed and in the formula write :
=$C3<25
Highlighted Rows
3. On the basis of OR/AND condition :
OR, AND are used when we have multiple conditions. These are logical operators which work on True value.
AND : If all conditions are TRUE, AND returns TRUE.
OR : At least one of the conditions needs to be TRUE to return TRUE value.
Aim : Highlight all the rows of employees who are either working on Project 1 or Project 4.
The project details are in column D. So, the formula will be :
=OR($D3="P-1",$D3="P-4")
Aim : Suppose employee Rishabh has completed the project P-3. The administrator is asked to highlight the row and keep a record of projects which are finished.
The name is in column B and the project details is in column D. The formula will be :
=AND($B3="Rishabh",$D3="P-3")
Highlighted Row
4. On the basis of any blank row :
Aim : Check if there is/are any blank row(s). If exist(s), then highlight it.
The project details is in column D. We will use the COUNTIF( ) function to check for the number of blank records. The formula will be :
=COUNTIF($A3:$D3,"")>0 "" : Denotes blank
The above formula checks all the columns one by one and sees if there is at least one blank row. If the formula value is greater than zero then highlighting will be done else COUNTIF will return FALSE value and no highlighting will be done.
5. On the basis of multiple conditions and each condition having different color :
Aim : Suppose the company wants to distinguish the employees based on their ages. The employees whose age is more than 25 are senior employees and whose age is more than 20 but less than or equal to 25 are junior developers or trainees. So, the administrator is asked to highlight these two categories with different colors.
Implementation :
In the Formula Field write the formula :
=$C3>25
This will highlight all the rows where age is more than 25.
Again in the Formula Field write the formula :
=$C3>20
This will highlight all the rows greater than 20. It will in fact change the color of the rows where age is greater than 25. Since, if a number is greater than 20 then definitely it is greater than 25. So, all the cells having age more than 20 will be highlighted to the same color.
This creates a problem as our goal is to make two separate groups. In order to resolve this we need to change the priority of highlighting the rows. The steps are :
- Undo the previous steps using CTRL+Z.
- Select the entire dataset.
- Go to Conditional Formatting followed by Manage Rules.
- In the Manage Rule dialog box :
The order of the condition needs to be changed. The condition at the top will have more priority than the lower one. So, we need to move the second condition to the top of the first one using the up icon after selecting the condition.
- Now click on Apply and then OK.
It can be observed that the rows are now divided into two categories : The yellow color is for the senior level employees and the green color is for junior employees and trainees in the company on the basis of their ages.