Координатное выделение
У вас большой монитор, но таблицы, с которыми вы работаете — еще больше. И, пробегая взглядом по экрану в поисках нужной информации, всегда есть шанс «соскользнуть» взглядом на соседнюю строчку и посмотреть не туда. Я даже знаю людей, который для таких случаев постоянно держат недалеко от себя деревянную линейку, чтобы приложить ее к строке на мониторе. Технологии будущего!
А если при движении активной ячейки по листу будет подсвечиваться текущая строка и столбец? Своего рода координатное выделение примерно такого вида:
Поудобнее, чем линейка, правда?
Есть несколько способов разной сложности, чтобы реализовать такое. Каждый способ — со своими плюсами и минусами. Давайте разберем их детально.
Способ 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
Время от времени бывает удобно иметь возможность выделить (подсветить) активную строку или столбец. Решение в очень простом методе достижения этого эффекта. Мы будем использовать условное форматирование и лишь пару строк кода 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.
Изменить цвет ячейки при нажатии на ячейку с кодом VBA
Измените выделенный цвет, когда ячейки выбраны с помощью кода VBA
Выделите всю строку и столбец активной ячейки с помощью Kutools for Excel
Изменить цвет ячейки при нажатии на ячейку с кодом VBA
Здесь вы можете изменить цвет фона ячейки, дважды щелкнув по ней или щелкнув правой кнопкой мыши с помощью следующего кода VBA.
1. На рабочем листе вы измените цвет ячейки при нажатии на нее, щелкните правой кнопкой мыши вкладку листа и нажмите Просмотреть код из контекстного меню.
2. в Microsoft Visual Basic для приложений окна, скопируйте и вставьте приведенный ниже код VBA в Code окно.
VBA: изменить цвет ячейки при нажатии на нее
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Target.Interior.Color = vbRed
End Sub
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
Target.Interior.Color = vbGreen
End Sub
3. Нажмите другой + Q клавиши одновременно, чтобы закрыть Microsoft Visual Basic для приложений окно.
Затем, когда вы дважды щелкните ячейку, она будет окрашена в красный цвет. И когда вы щелкаете правой кнопкой мыши по ячейке, она будет окрашена в зеленый цвет. Смотрите скриншот:
Измените выделенный цвет, когда ячейки выбраны с помощью кода VBA
По умолчанию при выборе диапазона ячеек выделяется серый цвет. Если вы хотите сделать выбранный диапазон более заметным, вы можете изменить его цвет выделения на тот, который вам нужен. Пожалуйста, сделайте следующее.
1. Щелкните правой кнопкой мыши вкладку листа, для которой нужно изменить цвет выделения выбранного диапазона, и щелкните Просмотреть код из контекстного меню.
2. в Microsoft Visual Basic для приложений окна, скопируйте и вставьте приведенный ниже код VBA в Code окно.
Код VBA: изменить выделенный цвет выбранного диапазона
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
With Target
.Worksheet.Cells.FormatConditions.Delete
.FormatConditions.Add xlExpression, , "TRUE"
.FormatConditions(1).Interior.Color = vbYellow
End With
End Sub
3. Нажмите другой + Q ключи одновременно, чтобы закрыть Microsoft Visual Basic для приложений окно.
С этого момента цвет выделенного диапазона или ячейки изменится на желтый. Когда вы щелкаете другую ячейку или диапазон ячеек, ячейки будут раскрашены автоматически.
Выделите всю строку и столбец активной ячейки с помощью Kutools for Excel
Если вы имеете дело с большим листом, необходимо выделить всю строку и столбец активной ячейки, чтобы облегчить чтение. Здесь Макет для чтения полезности Kutools for Excel могу помочь тебе.
1. Нажмите Кутулс > Макет для чтения. Смотрите скриншот:
Когда макет чтения включен, вы можете видеть, что строка и столбец активной ячейки сразу выделяются.
Внимание: Вы можете изменить настройки макета чтения в зависимости от ваших потребностей, как показано на скриншоте ниже.
Если вы хотите получить бесплатную пробную версию (30-день) этой утилиты, пожалуйста, нажмите, чтобы загрузить это, а затем перейдите к применению операции в соответствии с указанными выше шагами.
Выделите всю строку и столбец активной ячейки с помощью Kutools for Excel
Лучшие инструменты для работы в офисе
Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%
- Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
- Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон…
- Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны…
- Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
- Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
- Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии…
- Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
- Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF…
- Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.
Вкладка Office: интерфейс с вкладками в Office и упрощение работы
- Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
- Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
- Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
Содержание
- Процедура изменения цвета ячеек в зависимости от содержимого
- Способ 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 по той же аналогии, как мы это делали ранее.
- Как видим, после этого действия все элементы столбца будут закрашены, согласно тому числовому значению, которое в них размещено. Теперь можно закрывать окно поиска, нажав стандартную кнопку закрытия в верхнем правом углу окна, так как нашу задачу можно считать решенной.
- Но если мы заменим число на другое, выходящее за границы, которые установлены для конкретного цвета, то цвет не поменяется, как это было в предыдущем способе. Это свидетельствует о том, что данный вариант будет надежно работать только в тех таблицах, в которых данные не изменяются.
Урок: Как сделать поиск в Экселе
Как видим, существует два способа окрасить ячейки в зависимости от числовых значений, которые в них находятся: с помощью условного форматирования и с использованием инструмента «Найти и заменить». Первый способ более прогрессивный, так как позволяет более четко задать условия, по которым будут выделяться элементы листа. К тому же, при условном форматировании цвет элемента автоматически меняется, в случае изменения содержимого в ней, чего второй способ делать не может. Впрочем, заливку ячеек в зависимости от значения путем применения инструмента «Найти и заменить» тоже вполне можно использовать, но только в статических таблицах.
На чтение 5 мин Просмотров 1.9к. Опубликовано 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
- Установите нужный формат;
- Подтвердите.
Готово! Когда вы будете выбирать имя из списка, функция «Условное форматирование» будет автоматически выделять все строки с этим именем.