Цвет ячейки в зависимости от значения в word
Как менять цвет ячейки по значению другой ячейки
Весь MS Office, программирование на Visual Basic for Applications и MS VBСтоит такая задача в Excelе .
Ячейка С4 = 15, т.е. в нее записывается некоторое числовое значение.
Ячейка D4 = принимает значение "Good" или "Bad"
Необходимо менять цвет фона ячеки С4 по правилу:
Если D4 = "Good", то цвет ячеки C4 - Зеленый
Если D4 = "Bad", то цвет ячеки C4 - Красный
Это для формирования качества архивного значения параметра.
Выделите нужную ячейку ("C4"), затем в меню Формат выберите команду Условное форматирование. В появившемся стандартном диалоговом в списке выберите формула, затем в поле введите =$D$4="Good", после чего нажмите кнопку Формат, установите нужные параметры форматирования. После чего необходимо нажать кнопку А также и повторить действия, только формула будет выглядеть, как =$D$4="Bad" и параметры форматирования будут уже другие.Спасибо pashulka,
Как раз то, что мне надо было,
далее хотел задать вопрос по тому, как менять цвет если в D4 находится число от 0 до 100% достоверности параметра,
но функция Условное форматирование реализует и это, все же какой функционал заложен в Excel по умолчанию ! :P
Правда по ячейке, форматированной таким образом не сразу видно, что она подверглась Условному форматированию (в стандартном окне Формат ячеек никак это не отражено)
Ну да ладно, зато это форматирование переносится кисточкой - командой Формат по образцу.
Действительно условное форматирование никак не связано с параметрами форматирования, которые можно увидеть если выбрать команду Формат ячейки. Однако существует способ, который позволяет выделить ячейки у которых наличествует условный формат.
В меню Правка выберите команду перейти (CTRL+G, F5), в появившемся стандартном диалоговом окне нажмите кнопку Выделить. Затем установите переключатель напротив условные форматы и кнопка OK.
Примечание :
Если необходимо выделить ячейки отформатированные также, как и имеющийся образец, то сначала необходимо выделить ячейку, где наличествует нужное условное форматирование, а затем проделать всё вышеописанное, только необходимо установить ещё один переключатель напротив этих же.
Перенести параматры форматирования можно также использовав меню, причём как обычные так и контекстные. Выделите нужную ячейку, затем нажмите правую кнопку мышки, в появившемся контекстном меню выберите команду Копировать. Затем необходимо выделить ячейку или диапазон ячеек, где в дальнейшем должны наличествовать аналогичные параметры форматирования, и нажав на правую кнопку мышки выберите команду Специальная вставка. В появившемся стандартном диалоговом окне установите переключатель напротив форматы и OK.
IMHO Подобный вариант хорош тем, что контекстное меню не так легко изменить вручную, как стандартную панель инструментов … там удалить Вашу кнопку можно за пару секунд (впрочем как и восстановить)
pashulka,
Да, контекстным меню я также часто пользуюсь, меня там часто интересуют опции - значения, траспонировать и формат.
Причем если работать с клавиатуры и использовать клавишу контекстного меню - тоже удобно получается, в этом я с вами согласен.
Но кнопка Формат по образцу, по моему не имеет аналогов, ведь все логично, ЭТО хочу СДЕЛАТЬ как TO и все работает - 3 действия.
Жаль что не во всех продуктах, где эту функцию можно было сделать, это не реализовано (перенос свойств одного объекта другому)
Ну а насчет того, что кто-то смахнет мою кнопку, это вы перебрали,
если только я сам ее случайно при работе куда-нибудь не задвину .
В этой статье вы узнаете, как закрасить ячейку по условию, выделять целые строки и столбцы в Excel 2016, 2013 и 2010 на основе какого-то критерия, а также найдете несколько советов и примеров формул, которые будут работать с числовыми значениями и значениями текстовых ячеек.
Узнайте, как в Экселе быстро закрасить всю строку или столбец на основе значения отдельной ячейки в ваших таблицах Excel. Советы и примеры формул для числовых и текстовых значений.
Мы уже обсуждали, что такое условное форматирование и как изменить цвет фона ячейки в зависимости от ее значения. Для этого рекомендуем ссылки с конце этого материала. Сейчас же мы рассмотрим более сложные вещи.
Выделение по условию целиком строки или столбца.
Выделение строки.
В нашем распоряжении – таблица Excel с информацией о продажах в различные страны. Давайте попробуем выделить определенные строки с продажами в Бразилию. То есть, окраска их должна изменяться в связи с тем, что записано в колонке «Страна».
Прежде всего выделяем при помощи мыши весь диапазон интересующих нас данных – A2:D21. Шапку таблицы выделять не нужно. Затем действуем по уже отработанной схеме: вызываем меню функции и выбираем последний пункт – «Использовать формулу для определения форматируемых ячеек» (1). Далее записываем выражение (2):
Мы должны закрасить вторую строку таблицы в зависимости от значения в С2. Здесь есть маленькая хитрость.
Обратите внимание, что абсолютная ссылка (знак $) установлена здесь только на столбец С. То есть, мы проверяем на условие «Бразилия» в выделенном нами диапазоне все позиции в этом столбце, то есть С2, С3, C4 и так далее. А вот закрашивать будем всю строку, так как ранее выделена была вся таблица. Для этого выбираем вариант оформления (3): цвет фона или шрифта, либо оба.
Напомню, что знак $, стоящий перед буквой столбца, означает абсолютную ссылку на этот столбец. А если знак $ находится перед цифрой, то абсолютная ссылка установлена на строку.
Вывод. Условное форматирование строки по значению ячейки основано на грамотном применении абсолютных и относительных ссылок в правиле форматирования. В используемой формуле должна быть абсолютная ссылка на столбец и относительная - на строку ($C2). При этом как область форматирования должна быть обозначена вся таблица (без шапки).
Выделение столбца.
Аналогичную операцию можно произвести и с выделением отдельных столбцов. Естественно, при этом формула будет выглядеть несколько иначе: знак доллара будет находиться перед цифрой. Но, конечно, выделение горизонтальных линий в таблице встречается намного чаще.
Тем не менее, давайте рассмотрим пример с выделением по условию столбцов таблицы.
Итак, у нас есть табель рабочих смен. Нужно красным указать в нем на субботы и воскресенья.
Как и в предыдущем примере, определим для начала диапазон, который мы будем форматировать: =$B$3:$S$7. И вновь будем использовать формулу (2) для определения условия.
Функция ДЕНЬНЕД позволяет определить номер дня недели по указанной дате. Цифра 2 означает, что используется привычный нам порядок, когда первый день недели – это понедельник.
Таким образом, если номер окажется больше 5 (то есть, это будет суббота или воскресенье), то необходимо применить указанный нами формат (3) и закрасить выходной день.
Все просто, но обратите внимание на одну важную деталь: знаком $ в ссылке мы фиксируем номер. Тем самым мы указываем программе, что надо последовательно перемещаться по второй строке в пределах указанного диапазона, и определять номер дня недели. И после этого применять формат к столбцу.
Выделение через строку.
Думаю, вам часто встречалось красивое оформление таблицы, когда строчки через одну были выделены. Конечно, такое оформление легко доступно, если преобразовать данные в «умную» таблицу. Но такое возможно только в Excel 2007 и более поздних версиях. Если же у вас старая версия программы, то наш способ вам очень даже может пригодиться.
Итак, возьмем для примера небольшую таблицу.
Выделим диапазон A1:D18.
Затем создаем новое правило при помощи формулы
В чем ее смысл? Если номер, полученный при помощи функции СТРОКА(), делится без остатка на 2, то значит у нее чётный номер, и к ней следует применить правило форматирования. Если же номер не делится на 2 без остатка, то это нечетная. Ее мы оставляем без изменений.
В результате получилась «полосатая» таблица по принципу "четный-нечетный".
Закрасить группу строк.
Зачем это нужно? К примеру, у нас имеются помесячные данные о продажах. Тогда логично было бы отделить каждые 3 месяца, чтобы хорошо видны были результаты по кварталам.
Поясним эти вычисления.В качестве счетчика мы будем использовать номер текущей строки.Поскольку в квартале 3 месяца, то группировать будем тоже по три. Отсчет начинаем с А2.
- Счетчик в начале нужно установить в ноль. Для этого служит выражение (СТРОКА()-2). Поскольку начинаем со второй, то обнуляем счетчик, вычитая 2.
- Далее нужно определить, к какой по счету группе относится текущее местоположение курсора. Результат п.1 делим на 3.
- Отсекаем дробную часть при помощи функции ЦЕЛОЕ и получаем порядковый номер группы: ЦЕЛОЕ((СТРОКА()-2)/3).
- Добавляем 1, поскольку результатом для первой группы будет число меньше 1. А нужно, чтобы отсчет групп начинался с 1.
- Затем действуем по методике, отработанной в предыдущем примере: производим действия только с нечетными группами. Для этого используем функцию ОСТАТ с аргументом 2. То есть, находим остаток от деления на 2. Если число четное, то остаток будет равен нулю. Ноль равносилен результату ЛОЖЬ, поэтому с такими группами ничего не делаем. Если число нечетное, остаток от деления на 2 будет равен 1, что равноценно ИСТИНА. И вот тут-то мы и закрасим эту группу.
В результате мы разбили нашу таблицу на тройки, определили каждой тройке свой порядковый номер, и с нечетными номерами произвели действия по изменению формата их представления.
Аналогично можно разбить на группы по 4 строки. Тогда в формуле выше просто замените цифру 3 на 4. И все будет работать.
А если в шапке вашей таблицы больше, чем одна строка, просто замените -2 на большую цифру, соответственно высоте шапки таблицы.
Как видите, подход достаточно универсальный. Надеюсь, вам пригодится.
Вставляем отделяющие линии между группами строк.
Если у вас есть большой отсортированный по какому-либо столбцу список, то было бы неплохо автоматически отделять получившиеся группы разделительными горизонтальными линиями для наглядности.
Давайте красиво оформим смету работ, упорядоченных по дням. Отделим горизонтальными линиями каждый новый день, чтобы визуально отделить их друг от друга.
Для этого сначала выделим весь наш диапазон с данными.
Внимание! Первую шапку таблицы не выделяем, начинаем с данных!
В нашем случае, выделяем A3:G33.
Затем далее действуем по уже отработанной схеме. В меню условного форматирования выбираем использование формулы (1). Далее записываем само правило:
Иначе говоря, мы проверяем, равна ли наша текущая дата предыдущей. Если не равна, значит, мы перешли к новому дню. Соответственно наше текущее положение нужно выделить. Выбираем формат (3). Тип границы – линия (4). Она будет использоваться по верхней границе (5).
В результате каждый новый день будет отделен от предыдущего горизонтальной линией. Естественно, вы можете выбрать и иной стиль форматирования – например, цветом.
Условное форматирование для сравнения двух столбцов.
Когда необходимо произвести сравнение двух столбцов в таблице, очень хороший способ указать на имеющиеся совпадения и различия – выделить их.
Как найти и закрасить совпадающие ячейки в столбцах.
Можно использовать специальный пункт вкладки "Условное форматирование" — «Повторяющиеся значения».
На рисунке вы видите, что дубликаты выделены зеленым. Думаю, здесь все довольно просто.
Выделение совпадений двух столбцов построчно.
Если у нас есть несколько копий одной и той же таблицы, может возникнуть необходимость найти и показать их различия и совпадения. В этом случае попробуем сравнить столбцы таблиц построчно.
Чтобы сравнить данные в каждой строке двух столбцов таблицы, воспользуемся формулами условия.
Выберите, в каких ячейках вы будете отмечать совпадения – в первой или во второй таблице. Я выделил B3:B25. То есть, в первой таблице мы закрасим ячейки, которые дублируются во второй таблице.
Обратите внимание, что в формуле используется абсолютная адресация на колонку. Это необходимо для того, чтобы происходило последовательный перебор значений, двигаясь вниз начиная с B3 до B25.
Как найти и закрасить совпадения в нескольких столбцах.
Представим, что наша задача – найти и выделить в столбце таблицы те значения, которые совпадают хотя бы с одним столбцом второй таблицы. В нашем случае – мы последовательно будем брать данные из столбца B и определять, нет ли такого же значения в этой же строке в нескольких колонках второй таблицы.
Давайте закрасим цветом те ячейки в столбце B, которые хотя бы однажды встречаются в G,H и I.
Диапазон форматирования – B3:B25. Выделяем его и в меню – «Создать правило» выбираем «Использовать формулу…»
Запишем правило условного форматирования:
Последовательно двигаемся сверху вниз и сравниваем каждую ячейку колонки B с находящимися в той же горизонтали значениями в G,H и I.
То есть, необходимо, чтобы выполнялось хотя бы одно из условий, достаточно одного совпадения.
Но если столбцов будет не 3, а, предположим, 10? Формула станет слишком громоздкой. Ведь придется указать 10 критериев совпадения.
Есть более простой способ. Изменим правило форматирования и используем функцию СЧЁТЕСЛИ:
СЧЁТЕСЛИ определяет, как часто определенное значение встречается в диапазоне. Считаем, сколько раз значение из B3 встречается в G,H и I таблицы, то есть в $G3:$I3. Если будет более одного совпадения, то срабатывает правило.Функция возвращает 1. А 1 в логическом выражении соответствует ИСТИНА, 0 - ЛОЖЬ. То есть, если счет равен нулю, то в текущей позиции нашего столбца содержится уникальное значение, которое больше нигде в диапазоне поиска не встречается. Согласитесь, так гораздо удобнее, чем писать множество однотипных критериев.
И теперь при помощи такого подхода мы можем решить более сложную задачу: выделить в B те данные, которые хотя бы раз встречаются в одном из нескольких столбцов.
Вот это новое правило:
Теперь совпадения мы ищем во всех столбцах таблицы 2, а не только в одном из них. Возможно, такой пример вам также будет полезен.
Обратите еще раз внимание на то, как определены абсолютные ссылки. Суть в том, что должен меняться номер строки, но не номер столбца. Тогда все будет работать.
Как закрасить ячейки при помощи "Найти и выделить".
В предыдущих материалах, ссылки на которые вы можете найти в конце этой статьи, мы уже рассматривали, как в Excel закрасить ячейку по условию в зависимости от другой ячейки либо от ее собственного содержимого. Условное форматирование позволяет отслеживать изменения в таблице и в соответствии с имеющимися значениями закрасить ячейку в определённый цвет. Но что если изменений в таблице больше не будет и в соответствии с определённым условием нужно закрасить значения "раз и навсегда"? Иначе говоря, речь идет о статичной таблице.
Возможно, вам пригодится более простой способ условного форматирования - использование инструмента "Найти и выделить".
Давайте вновь рассмотрим наш пример с продажами шоколада. Выделим цветом продажи меньше и больше 100 единиц, как показано ниже. К сожалению, никакие формулы мы здесь применить не можем, поэтому возможности отбора нужных значений сильно ограничены. Однако, можно использовать уже знакомые нам знаки подстановки — вопросительный знак ? и звездочку *. Напомню, что "?" позволяет заменить собой любой одиночный символ, а "*" - любую последовательность знаков. Как это применить? К примеру, 8? будет означать два символа, первый из которых - 8, а второй - любой. ?? означает два любых символа и т.д.
Итак, выделяем при помощи мышки область значений, которые мы хотим закрасить по условию, а затем используем инструмент "Найти и выделить". В окне поиска пишем . что означает в нашем случае любое двузначное число в диапазоне Е5:Е24. Обратите внимание, что если вы предварительно не укажете диапазон форматирования, то поиск будет произведен по всей таблице, что нам совершенно не нужно.
Нажимаем "Найти все" и в открывшемся внизу окошке тыкаем мышкой на любое из найденных значений. Затем нажимаем комбинацию клавиш CTRL+A, чтобы выделить все результаты, соответствующие условию. После этого закрываем окно поиска и видим, что все нужные цифры оказались выделены. Остается только во вкладке "Шрифт" выбрать нужный цвет заливки, или другой вариант оформления по вашему желанию.
Повторим все те же действия, только теперь в поиске укажем . , то есть искать будем трехзначные числа. Либо можно было указать . *, то есть отбирать все числа с разрядностью 3 и выше. Как видите, возможности у этого инструмента невелики, но с помощью подобных ухищрений можно получить вполне приемлемые результаты.
И, конечно, не забывайте, что это форматирование "навсегда", оно не изменится автоматически, если даже в таблицу будут внесены какие-то правки.
Еще полезные примеры и советы:
Читайте также: