Как сделать подсвечивание в excel?

как сделать подсвечивание в excel

Для того, чтобы настроить подкрашивание (или любое другое изменение формата) определенной ячейки, в зависимости от значения в ДРУГОЙ ячейке,

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

В примере – настроим автоматическое подкрашивание ячейки с цифрой фактического значения, если выполнение плана окажется ниже 80%.

Для этого:

  1. Выделим ячейку, которую будем подкрашивать в зависимости от другой ячейки.
  2. На ленте на вкладке «Главная» выберем «Условное форматирование» — > «Создать правило».

    как сделать подсвечивание в excel

  3. В открывшемся окне выберем «Использовать формулу для определения форматируемых ячеек».

    как сделать подсвечивание в excel

  4. В поле «Форматировать значения, для которых…» введем условие так, как если бы вставляли его в функцию ЕСЛИ, только вначале вставляем «=». (=$C$6

    Итак, наша цель — построить инструмент, который умеет отслеживать на экране местоположение активной ячейки, выделяя цветом текущую строку и столбец. В результате на листе появится своего рода «координатная линейка», и просматривать таблицу станет намного удобнее. Решить такую задачу можно по-разному. Например, обратиться к языку VBA (Visual Basic for Application) и написать специальную программу. Но я не сторонник этого подхода. И потому предлагаю начать со стандартных возможностей MS Excel.

    Способ 1. Используем условный формат
    и функцию «ЯЧЕЙКА()»

    Для организации координатной подсветки нам нужно решить две проблемы:

    1. Как-то определить номер строки и колонки, где находится активная ячейка.

    2. Изменить формат этих строк и колонок, чтобы обозначить их на рабочем листе.

    Для решения первой задачи мы задействуем функцию «ЯЧЕЙКА()» из стандартной библиотеки MS Excel. После этого, зная номер конкретной строки и колонки, мы применим к ним условное форматирование. Как видите, схема проста. Остается реализовать ее практически. Начнем с функции «ЯЧЕЙКА()». Она позволяет получить массу полезной информации о любой ячейке рабочего листа. Например, узнать ее высоту, ширину, номер строки или колонки, числовой формат и т. п. У функции два аргумента:

    —  ключевое слово, это может быть «»строка»» или «»столбец»»;

    —  адрес ячейки, для которой нужно выяснить ее параметры.

    Хитрость состоит в том, что второй аргумент указывать не обязательно. И тогда функция вернет параметры для текущей ячейки. То есть через функцию «ЯЧЕЙКА()» мы сможем определить номер строки и колонки для активной ячейки рабочего листа — именно то, что нам нужно для решения первой задачи.

    Переходим к условному форматированию. Этот полезный инструмент Excel позволит нам изменить формат ячеек, если они удовлетворяют определенному условию. Причем (и это очень важно!) условие в данном случае можно задать при помощи формулы. Итак, все инструменты для решения задачи, похоже, у нас есть. Переходим к деталям. Посмотрим, как все это выглядит в программе Excel 2010. Делаем так:

    1. Открываем (или создаем новый) документ Excel. Пусть это будет база данных, как на рис. 1.

    2. Щелкаем мышкой на ячейке «A1».

    3. Переходим в меню «Главная». В группе «Стили» щелкаем на иконке «Условное форматирование» (рис. 2). Откроется меню, как на рис. 3.

    4. Из этого меню выбираем пункт «Создать правило…». Откроется окно «Создание правила форматирования», изображенное на рис. 4.

    5. В разделе «Выберите тип правила:» находим вариант «Использовать формулу для определения форматируемых ячеек».

    6. В поле «Измените описание правила:» вводим формулу «=ИЛИ(ЯЧЕЙКА(«строка»)=СТРОКА(A1);ЯЧЕЙКА(«столбец»)=СТОЛБЕЦ(A1))».

    7. Щелкаем на кнопке «Формат…» (рис. 4). Откроется окно «Формат ячеек», изображенное на рис. 5.

    8. В этом окне переходим на закладку «Заливка». В предложенной палитре выбираем цвет фона. Например, светло-серый вариант.

    9. В окне «Формат ячеек» нажимаем «ОК».

    10. В окне «Создание правила форматирования» нажимаем «ОК». Условный формат для ячейки «A1» готов. Остается скопировать его на весь рабочий лист.

    11. Оставаясь на ячейке «A1», щелкаем на кнопке «Формат по образцу» (рис. 6).

    12. Обводим при помощи мышки (не клавиатуры!) блок ячеек, где нужно создать координатное выделение.

    Совет В Excel 2003 (или более ранних версиях этой программы) вызвать инструмент условного форматирования можно через меню «Формат → Условное форматирование…». После чего в окне настроек установить параметр «Условие 1» в положение «формула».

    Пару слов о работе формулы и о том, как она связана с условным форматированием. Напомню, что сейчас мы находимся в ячейке «A1», причем формулу мы записали именно для этой ячейки. Теперь по порядку. Начнем с выражения «ЯЧЕЙКА(«строка»)». Поскольку в функции адрес явно не указан, номер строки она определит для активной ячейки рабочего листа. Это значение мы сравним с номером строки для адреса «A1». Этот номер нам вернет функция «СТРОКА(A1)». И тогда, если указатель активной ячейки находится в первой строке рабочего листа, выражение «ЯЧЕЙКА(«строка»)=СТРОКА(A1)» будет истинным. В противном случае эта формула вернет значение «ЛОЖЬ». Вторая часть формулы, по сути, такая же, только проверяет она номер колонки. То есть выражение «ЯЧЕЙКА(«столбец») =СТОЛБЕЦ(A1))» сравнивает номер колонки для активной ячейки с номером столбца для адреса «A1».

    Все, что остается сделать, — это объединить оба выражения через операцию «ИЛИ()». И тогда полученная формула будет означать: «если активная ячейка находится в первой строке или в первой колонке рабочего листа, верни значение «ИСТИНА» и включи инструмент условного форматирования». Для ячейки «A1» все верно. Остается распространить это правило на всю область рабочего листа. Для этого мы воспользовались иконкой копирования формата ячеек. В этом случае адреса в формуле условного форматирования будут преобразованы по обычным правилам Excel. То есть, при копировании по вертикали поменяются номера строк. При копировании в стороны изменятся номера колонок. Например, формула для условного форматирования ячейки «B1» станет такой: «=ИЛИ(ЯЧЕЙКА(«строка»)=СТРОКА(B1);ЯЧЕЙКА(«столбец»)= СТОЛБЕЦ(B1))». А в результате строка и колонка текущей ячейки поменяет свой цвет. Это и есть координатное выделение, которое мы хотели получить.

    Но это еще не все. Дело в том, что правило условного форматирования срабатывает только при обновлении рабочего листа. Например, в момент пересчета формул. Просто перемещение активной ячейки Excel таким обновлением не считает. И поэтому координатная подсветка работать не будет. Для решения проблемы нам придется искусственно обновить лист. Проще всего это сделать при помощи небольшого макроса, добавив его в свойства рабочего листа. Для этого делаем так:

    1. Щелкаем правой кнопкой мышки на листе с параметрами условного форматирования. Откроется контекстное меню, как на рис. 7.

    2. Из этого меню выбираем пункт «Исходный текст». Откроется окно редактора Visual Basic.

    3. В этом окне вставляем такой текст:

    «Private Sub Worksheet_SelectionChange(ByVal Target As Range)

    ActiveCell.Calculate

    End Sub».

    4. Закрываем окно Visual Basic. На предложение сохранить изменения отвечаем утвердительно.

    Важно! Текст модуля на Visual Basic нужно вводить без окаймляющих кавычек.

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

    Посмотрим, что мы получили на самом деле, каковы достоинства и недостатки нашего подхода. Вначале о преимуществах, среди которых я бы указал такие:

    —  инструмент условного форматирования не нарушает функционал таблицы, работают все приемы копирования, перемещения ячеек;

    —  работа с условными форматами не нарушает форматирование таблицы;

    —  наш вариант реализации координатной подсветки правильно работает с таблицами, где есть объединенные ячейки, а это для бухгалтера очень важно;

    —  макросы на VBA нужны в минимальном объеме, прикрепить их к рабочему листу не составляет труда.

    Что касается недостатков, они тоже есть, в частности:

    —  формулу для условного форматирования нужно создавать вручную;

    —  нет способа быстро включить или отключить координатную подсветку на рабочем листе — для этого нужно удалить правило условного форматирования, а это потребует времени;

    —  при копировании ячеек с других рабочих книг или листов для них придется восстанавливать правила условного форматирования.

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

    Способ 2. Применяем надстройку «FollowCellPointer»

    В результате пятнадцатиминутного общения с Google я обнаружил по меньшей мере десяток вариантов для реализации координатной подсветки с использованием макросов на VBA. Все они отличались в деталях, но принцип был один: для обозначения строки и колонки эти макросы использовали выделение несвязных диапазонов. В ручном режиме это можно сделать, нажав клавишу «Ctrl», а затем щелчком мышки выделить строку и колонку. Такие варианты я отбросил без сожаления — когда на листе выделен несвязный диапазон, не работают операции копирования и перемещения ячеек. А это — огромный недостаток при работе с таблицей. Да и углубляться в тонкости работы с VBA, откровенно говоря, не хотелось бы. Но одна ссылка меня заинтересовала. Речь шла о готовой надстройке «FollowCellPointer», которую раздает на своем сайте Jan Karel Pieterse (Нидерланды). Продукт этот бесплатный, построен он на макросах Excel и позволяет рисовать на листе графические линии для обозначения строки и колонки активной ячейки.

    Прежде чем познакомится с этой программой, ее нужно скачать. Для этого делаем так:

    1. Заходим на сайт и щелкаем на гиперссылке «free utilities» (рис. 9). Откроется раздел загрузок, который оформлен в виде таблицы.

    2. В предложенном перечне находим программу «FollowCellPointer» (рис. 9) и щелкаем на ссылке левой кнопкой мышки. Через некоторое время в папке загрузок вашего браузера появится файл «followcellpointer.zip».

    3. Копируем этот файл в любую папку и распаковываем его. Все, надстройка готова для инсталляции.

    Важно! Для работы с файлом «followcellpointer.zip» на вашем компьютере должна быть установлена программа-архиватор (WinRar, WinZip или аналогичная).

    В подавляющем большинстве случаев такая программа есть. И тогда для распаковки достаточно щелкнуть на имени файла левой кнопкой мышки, затем выбрать из контекстного меню «Извлечь все…» или «Распаковать в текущую папку». В результате в этой папке появится файл «FollowCellPointer.xla». Щелчком мышки загружаем его в MS Excel. Надстройка готова к работе.

    Важно! Для работы надстройки в Excel 2010 скопируйте файл «FollowCellPointer.xla» в системную папку дополнений MS Office. По умолчанию путь к этой папке выглядит так: «C:Users…AppDataRoamingMicrosoftAddIns». В этой строке вместо символа «…» нужно поставить имя пользователя для вашей учетной записи Windows.

    Дальше делаем так:

    1. Открываем или создаем новый документ.

    2. Вызываем меню «Файл», затем щелкаем на пункт «Параметры».

    3. В окне настроек Excel переходим в раздел «Надстройки» и нажимаем кнопку «Перейти…» (рис. 10). Откроется одноименное окно «Надстройки», как на рис. 10.

    4. В этом окне ставим «галочку» возле строки «FollowCellPointer».

    5. В окне «Надстройки» нажимаем «ОК».

    6. Переходим в меню «Надстройки». Лента этого меню показана на рис. 11. На ней появится дополнительная группа с иконками: «Enable», «Disable», «Anchor», «ClearAnchor», «Format».

    7. Щелкаем на иконке «Enable». Возле активной ячейки появятся тонкие линии, как показано на рис. 12. На мой взгляд, весьма изящное решение, вполне заменяет координатную подсветку строк и колонок.

    Чтобы отключить этот режим, щелкаем на кнопке «Disable».

    Как и большинство программ, «FollowCell- Pointer» содержит ряд полезных режимов и настроек. Вот основные из них.

    Инструмент «Anchor» (рис. 11) позволяет зафиксировать обозначение текущей ячейки, после чего продолжить работу в обычном режиме. Такая возможность полезна, например, при анализе связей между ячейками таблицы. Пример использования режима «Anchor» показан на рис. 13.

    Кнопка «ClearAnchor» стирает отметку, сделанную в режиме «Anchor».

    Последней иконкой, относящейся к «FollowCellPointer», является кнопка «Format». Щелчок на этой кнопке открывает окно «Format Arrows», изображенное на рис. 14. Несмотря на английский интерфейс, здесь все просто. Большинство параметров в этом окне позволяют изменить форму стрелок и линий для отметки текущей ячейки. Приведу вкратце основные настройки, представленные в окне «Format Arrows»:

    — «Arrow head style» изменяет форму указателей на линиях, которые ведут к активной ячейке. Возможные варианты: «Diamond» — указатели выглядят как ромбики, «Open» — тонкие стрелки, «Oval» — круглые указатели, «None» — линии будут показаны без указателей, «Triangle» — указатели выглядят как заполненные стрелки (в виде треугольников);

    — «Arrow head length» позволяет отрегулировать длину указателей на конце линий. Предусмотрены два варианта: «Short» — короткий, и «Long» — продолговатый;

    — «Arrow head width» — здесь можно задать ширину указателя: «Narrow» — тонкий, и «Wide» — широкий;

    — «Arrow line width» — этот параметр влияет на толщину линий: «1» — тонкая линия, «2» — линия с полужирным начертанием;

    — «Transparency» изменяет способ рисования линий. Параметр может принимать два значения: «Opaque» — рисовать обычные линии, «Transparent» — рисовать полупрозрачные линии.

    Кнопка «Line Color» (рис. 14) позволяет выбрать цвет линии из стандартной палитры MS Excel.

    Разумеется, настройка параметров — дело сугубо индивидуальное. Мне понравился вариант с полупрозрачными линиями и округлыми окончаниями. А подробный состав моих настроек выглядит так: «Arrow head length» = «Short», «Arrow head width» = «Narrow», «Arrow line width» = «1», «Transparency» = «Transparent».

    На сегодня все. Надеюсь, что материал этой статьи сделает вашу работу с большими таблицами проще и удобнее. До новых встреч!

    Жду ваших вопросов, замечаний и предложений на bk@id.factor.ua, nictomkar@rambler.ru или на форуме редакции www.bk.factor.ua/forum.

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

    Подсветка строки в Excel цветом

    Чтобы создать свой широкий курсов на целую строку в Excel, необходимо создать макрос и использовать его вместе с условным форматированием. Для примера создадим таблицу с широкими строками и большим количеством столбцов. Нам нужно выделить строку цветом по условию Excel. Например, если активная ячейка находится в строке 2, тогда выделить цветом всю строку 2 (в пределах таблицы или на весь лист). Для примера создадим таблицу с широкими строками и большим количеством столбцов:

    Подсветка текущей строки в Excel цветом:

    1. Откройте редактор VBA для этого выберите инструмент: «РАЗРАБОТЧИК»-«Код»-«Visual Basic». Или нажмите комбинацию горячих клавиш ALT+F11.
    2. В правом окне к активному проекту добавьте новый модуль. Для того в редакторе VBA выберите опцию: «Insert»-«Module»
    3. В окне модуля вставьте этот VBA-код макроса:
    4. Не закрывая окно VBA-редактора перейдите на рабочий лист с исходной таблицей. Выделите целую вторую строку таблицы A2:H2 и выберите инструмент: «ГЛАВНАЯ»-«Условное форматирование»-«Создать правило»-«Использовать формулу для определения форматированных ячеек:».
    5. В полю ввода введите формулу:
    6. Щелкните по кнопке «Формат» и на вкладке «Заливка» укажите зеленый цвет. На всех окнах жмем ОК.
    7. Скопируйте вторую строку таблицы.
    8. Выделите остальные строки и выберите инструмент: «ГЛАВНАЯ»-«Вставить»-«Специальная вставка»-«Форматы» (или нажмите комбинацию клавиш CTRL+ALT+V, потом отметить форматы и нажать ОК). Или воспользуйтесь инструментом: «ГЛАВНАЯ»-«Буфер обмена»-«Формат по образцу».
    9. Вернитесь к редактору VBA и в окне «Project» дважды щелкните по «Лист1». В появившемся окне вставьте следующий VBA-код макроса:
    10. Сохраните и закройте редактор VBA.

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

    Полезный вопрос! А как же выделить активный столбец цветом? Аналогичным методом реализовывается с помощью макроса не только подсветка цветом активной строки, но и столбца. Для этого:

    1. В модуль где находится код подсветки строки VBA-макроса, добавим код новой функции АктивныйСтолбец:
    2. Добавим новое правило в условном форматировании для нашей таблицы в диапазоне A1:A7. Теперь в новом правиле пишем функцию АктивныйСтолбец(), а вместо функции СТРОКА – СТОЛБЕЦ. И указываем синий цвет форматирования заливки ячейки.
    3. Проверим все созданные правила для таблицы. Перейдите в ячейку A2 и ввыберите инструмент: «ГЛАВНАЯ»-«Условное форматирование»-«Управление правилами». Диспетчер правил условного форматирования должен выглядеть так:
    4. Скопируйте формат столбца A1:A7 в остальные столбцы таблицы диапазона B1:H7. Например, с помощью инструмента: «ГЛАВНАЯ»-«Буфер обмена»-«Формат по образцу».
    5. Результат превышает ожидания. Идеальный курсор для просмотра огромных таблиц с большим количеством данных на множестве строк и столбцов:

    Принцип действия создания пользовательского курсора для таблицы

    Применяемая в условном форматировании созданная нами функция VBA =АктивнаяСтрока() позволяет нам получить номер текущей строки в которой стала активной любая из ее ячеек. Результат вычисления пользовательской функции =АктивнаяСтрока() сравнивается с результатом функции =СТРОКА(), которая также возвращает номер текущей строки в данном моменте вычисления условного форматирования.

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

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

    Простой способ

    Выделите диапазон с датами на листе и выберите на вкладке Главная – Условное форматирование – Правила выделения ячеек – Дата (Home – Conditional Formatting – Highlight Cell Rules – Date Occuring). В открывшемся окне выберите из выпадающего списка нужный вариант подсветки:

    как сделать подсвечивание в excel

    Сложный, но красивый способ

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

    как сделать подсвечивание в excel

    Обратите внимание на дату отгрузки. Если она в прошлом, то товар уже поставлен – можно не волноваться. Если она в будущем – значит мы должны держать вопрос на контроле и не забыть организовать поставку к указанному сроку. И, наконец, если дата отгрузки совпадает с сегодняшней, то надо бросать все дела и заниматься именно этой партией в данный момент (наивысший приоритет).

    Для наглядности, можно настроить три правила условного форматирования, чтобы автоматически заливать всю строку с данными по партии в разные цвета в зависимости от даты отгрузки. Для этого выделим всю таблицу (без шапки) и выберем на вкладке Главная – Условное форматирование – Создать правило (Home – Conditional Formatting – Create Rule). В открывшемся окне зададим последний тип правила Использовать формулу для определения форматируемых ячеек (Use formula to determine which cell to format) и введем в поле следующую формулу:

    как сделать подсвечивание в excel

    Эта формула берет последовательно содержимое ячеек E5, E6, E7… из столбца с датой отгрузки и сравнивает эту дату с сегодняшней датой из ячейки C2. Если дата отгрузки раньше, чем сегодняшняя, то отгрузка уже была. Обратите внимание на знаки доллара, используемые для закрепления ссылок. Ссылка на $C$2 должна быть абсолютной – с двумя знаками доллара. Ссылка на первую ячейку столбца с датой отгрузки должна быть с закреплением только столбца, но не строки, т.е. $E5.

    После ввода формулы можно задать цвет заливки и шрифта, нажав на кнопку Формат (Format) и применить потом наше правило, нажав на кнопку ОК. Затем повторить всю процедуру для проверки будущих поставок и поставок на текущий день. Для отгруженных партий можно, например, выбрать серый цвет, для будущих заказов – зеленый и для сегодняшних – срочный красный:

    как сделать подсвечивание в excel

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

    Если подобная подсветка нужна не всегда, а только на определенное время работы с таблицей, то можно добавить к уже сделанному еще и, своего рода, выключатель. Для этого откройте вкладку Разработчик (Developer). Если ее не видно, то сначала включите ее через Файл – Параметры – Настроить ленту и нажмите кнопку Вставить (Insert):

    В открывшемся списке инструментов выберите Флажок (Checkbox) из верхнего набора Элементы управления формы и щелкните по тому месту листа, где хотите его разместить. Затем можно задать размеры надписи и поменять ее текст (правой кнопкой мыши – Изменить текст):

    Теперь, чтобы использовать флажок для включения-выключения подсветки, нужно связать его с любой ячейкой на листе. Щелкните правой кнопкой мыши по нарисованному флажку и выберите в контекстном меню команду Формат объекта (Format Object) и затем в открывшемся окне задайте любую подходящую ячейку в поле Связь с ячейкой (Cell Link):

    Проверьте как все работает. В связанную ячейку Е2 должно выводиться значение ИСТИНА, когда флажок включен или ЛОЖЬ, когда он выключен.

    Теперь осталось добавить одно правило в условное форматирование, чтобы наш флажок включал-выключал подсветку дат. Выделите всю нашу таблицу (кроме шапки) и откройте на вкладке Главная — Условное форматирование — Управление правилами (Home — Conditional Formatting — Manage Rules). В открывшемся окне должны быть хорошо видны созданные нами ранее правила для подсветки прошлых, будущих и настоящих дат разными цветами:

    Жмем кнопку Создать правило (New Rule), выбираем последний тип правила Использовать формулу для определения форматируемых ячеек (Use formula to determine which cell to format) и вводим в поле следующую формулу:

    Формат не задаем и нажимаем ОК. Созданное правило должно добавится к общему списку. Теперь необходимо поднять его на первую строчку стрелками (если оно не еще не там) и включить напротив него справа флажок Остановить если истина (Stop If True):

    Параметр с малопонятным названием Остановить, если истина делает простую вещь: если правило, напротив которого он стоит, выполняется (т.е. наш флаг Подсветка сроков на листе выключен), то Microsoft Excel останавливает дальнейшую обработку правил, т.е. не переходит к следующим правилам в списке условного форматирования и не заливает таблицу. Что и требуется.

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

    • Условное форматирование в Excel 2007-2013 (видео)
    • Полосатая заливка строк таблицы «зеброй»
    • Как Excel на самом деле работает с датами и временем