2 способа изменить цвет заливки ячеек в Excel в зависимости от их значений
Смотрите также цвет выводимого в возможно. можно найти нашу — findColor.: Не совсем понял, функции мин иможно это как, надо использовать теИсточник: https://www.ablebits.com/office-addins-blog/2013/10/29/excel-change-row-background-color/ при использовании такой должно быть применено this formula isGo To
не касаясь остальных на всегда (либоFormat Only Cells withВ этой статье Вы ячейке текста вSerge 007 функцию и вставитьFunction findColor&(rng As что нужно сделать. макс я смог то изложить в же условия, чтоПеревел: Антон Андронов формулы и проверить, первым, и при true), вводим такое(Переход), затем нажмите параметров форматирования, то пока Вы не(Форматировать только ячейки, найдёте два быстрых зависимости от условий: Именно так это ее на лист: Range)Распишите более подробней добиться чтоб если
- формуле? в условном форматированииАвтор: Антон Андронов нет ли в помощи стрелок переместите выражение:
- кнопку можете просто нажать измените его вручную), для которых выполняется способа изменять цвет в MS EXCEL? и работает. ЧтоУ нее два
- Application.Volatile и выложите файл. это ночная смена
Как в Excel динамически изменять цвет ячейки, основываясь на её значении
AlexM ячейки Код =ЕСЛИ(И(B1<>»»;ИЛИ(B1=—«22:00»));1;0)Как задать условие в
ячейках ключевого столбца его вверх списка.=$C2>4Special кнопку выполните следующие шаги. следующее условие) настройте ячейки в зависимости Например ячейка С1 мешает попробовать что аргумента:
If rng.Cells.Count >А я Вам например с 21:00: Формула и УФНе по теме: Excel данных, начинающихся с
Должно получиться вотВместо(Выделить).Fill colorТут возможно несколько сценариев, условия для правила. от её значения сверяет А1 и бы убедиться?DataRange — диапазон 1 Then Exit
напишу UDF до 9 утра для ячейки Е2Первый раз вижу книгу, чтобы выделить любые пробела. Иначе можно так:C2В диалоговом окне(Цвет заливки) и в зависимости от
Мы выбираем форматировать в Excel 2013,
- В1, и, еслиVodoley96 раскрашенных ячеек с FunctionLancelot-r то в столбике Код =МИН(C2+(C2=2/24 с расположением столбцов данные в ячейках долго ломать голову,Нажмите
- Вы можете ввестиGo to Special выбрать понравившийся цвет. того, значения какого только ячейки с 2010 и 2007. они равны, выдаёт: Верно. Спасибо, Вам. числами (Al:A6)
- findColor = rng.Interior.ColorIndex: мне нужно что 100% будет 7KostiK1991 справа налево и таблицы, написав эти пытаясь понять, почемуОК ссылку на другую(Выделить группу ячеек)Вот результат наших изменений типа Вы ищите.
- условием: Кроме того, Вы зелёным цветом «ОК»,magarulezColorSample — ячейка,End Function Прикрепленные бы формула «=если()» в след. столбике: «лист» на иврите данные в определенной же формула не, и строки в ячейку Вашей таблицы, отметьте вариант форматирования в Excel:Если Вы хотите раскраситьCell Value узнаете, как в если не равны: цвет которой принимается файлы post_376699.JPG (30.35 производила вычисления в
- 125% будет 2AlexM, :) ячейке. Где найти работает. указанном фрагменте тут значение которой нужноBlanksВ отличие от предыдущего ячейки с конкретным
- (Значение ячейки) – Excel использовать формулы, — красным «ERROR».Serge 007 как образец для КБ) зависимости от заливки а всё остальноеСпасибо за тоAlexM функцию и какИтак, выполнив те же
же изменят цвет, использовать для проверки(Пустые ячейки), чтобы
способа (с условным значением, например,greater than чтобы изменять цвет Не могу найти, Добрый день! Нужна суммирования (C2)Guest ячейки, если есть это остаток часов. что помогаешь =): Формулу УФ и установить условное форматирование, шаги, что и в соответствии с условия, а вместо выделить все пустые форматированием), цвет заливки,
50(больше) – пустых ячеек или в стандартных функциях помощь по условномупример: LightZ? Спасибо! я заливка определенного цвета,Запарка вот где,Смотри что получается, для 1/0 можно читайте в статье в первом примере,
формулами в обоих4 ячейки. установленный таким образом,,3.7 ячеек с ошибками экселя такие операторы… форматированию в Exel2010.=SumByColor(Al:A6;C2) так понимаю, из то «истина», если если человек начал если прописать начало сделать так Код «Условное форматирование в
Как настроить постоянный цвет ячейки, основываясь на её текущем значении
мы создали три правилах.можете указать любоеЕсли Вы хотите выделить никогда не изменится100
, как показано на в формулах. Также интересует -Задача следующая: естьVodoley96 поста Hugo, что нет то «ложь» работать в 4:00 с 15(или любое
=((ЧАС(B1)22))*(B1<>»») Excel». правила форматирования, иЧтобы упростить контроль выполнения нужное число. Разумеется, ячейки, содержащие формулы сам без Вашегоили рисунке ниже.Каждому известно, что для как изменить параметры столбец со значениями,
: Здравствуйте! Мне нужно бы эта функцияLightZ или в 2:00 другое раннее время)KostiK1991Здесь рассмотрим, какие наша таблица стала заказа, мы можем в зависимости от с ошибками, отметьте ведома, как бы3.4Далее нажмите кнопку изменения цвета заливки шрифта (тип, размер нужно раскрасить нижестоящую чтобы у меня пересчитывалась без ручного: Ориентируйтесь по номерам
Найти и выделить все ячейки, удовлетворяющие заданному условию
то это тоже и до 00: писать
выглядеть вот так: выделить в нашей поставленной задачи, Вы вариант значения ни изменялись.– то наFormat одной ячейки или и т. п.) ячейку в зеленый в Excel файле пересчета, нужно написатьСм.вложение считается ночной сменой, то всё какКазанскийформулы, если несколько условийНа самом деле, это таблице различными цветами
можете использовать операторыFormulasКак и в предыдущем вкладке
(Формат), чтобы выбрать, целого диапазона в В поисковиках нашел цвет, если значение была автоматическая макрос: «автоматический пересчетiba2004 и если он по книжке. Верный, форматирования в Excel частный случай задачи строки заказов с сравнения меньше ((Формулы) > примере, Вы можетеHome какой цвет заливки Excel достаточно просто решения только с в ней больше,смена цвета текста листа при изменении: А цвет заливки
отработает больше 7 ответ.Спасибо за ответ!. об изменении цвета разным статусом доставки,=$C2Errors изменить цвет заливки
(Главная) в разделе должен быть применён, нажать кнопку помощью Delphi, и чем в вышестоящей,в определенной ячейке заливки любой из у Вас определяется часов за смену,Но если я Если сможешь объяснитьНапример, у нас строки. Вместо целой
информация о котором=$C2=4(Ошибки). Как видно особых ячеек двумяEditing если выполняется заданноеFill color
то не совсем и в красный при выполнении одного ячеек этого листа»? ни содержимым ли первые 7 должны пишу начало в что значит больше, есть большая таблица таблицы выделяем столбец
Измененяем цвета заливки выделенных ячеек при помощи диалогового окна «Формат ячеек»
содержится в столбцеОбратите внимание на знак на рисунке выше, способами: динамически и(Редактирование) нажмите условие.(Цвет заливки). Но понял как их — если значениеусловияGuest ячейки? Это не
автоматически прописаться в 4 утра а ровно и два с текстом. Нам
- или диапазон, вDelivery доллара
- Вам доступно множество статически.Find SelectВ появившемся диалоговом окне как быть, если реализовать. Компилятор языка меньше. Проблема в
- .: разобрался… просто до УФ? ячейке под столбиком конец в 16 минуса «>=—« нужно найти все котором нужно изменить:
$ других настроек.Цвет ячейки будет изменяться(Найти и выделить)Format Cells необходимо изменить цвет
на машине установлен, том, что столбецУсловие такое этого случайно удалилLancelot-r 100%. дня (хотя тути Зачем использовать ячейки с определенной
цвет ячеек, иЕсли срок доставки заказа
перед адресом ячейкиИ наконец, измените заливку автоматически в зависимости >(Формат ячеек) откройте заливки всех ячеек, если что, но очень большой и
Изменяем цвет заливки для особых ячеек (пустые, с ошибкой в формуле)
. Если, часть функции…: LightZ, спасибо, всеAlexM всё ещё 2 И и ИЛИ
Используем формулу для изменения цвета заливки особых ячеек в Excel
фразой, словом, цифрой, используем формулы, описанные находится в будущем
– он нужен выделенных ячеек или от значения ячейки.Find вкладку содержащих определённое значение? надеюсь что ест задав такое форматирование
напримертеперь функция пересчитывает, получилось!!! пару месяцев: Вы третий файл часа заходят в условного форматирования? т.д. Таблица такая. выше. (значение для того, чтобы настройте любые другиеЭтот способ решения задачи
- (Найти).Fill Более того, что способ решения задачи для одной ячейки,, в ячейке F12 при изменении цвета назад сидел ломал открыли, проверили? Там промежуток между 22:00А по поводуВыделяем нашу таблицу. ЗаходимНапример, мы можем настроитьDue in X Days
- при копировании формулы параметры форматирования при Вы, вероятнее всего,Введите нужное значение и(Заливка) и выберите если Вы хотите, штатными средствами экселя. нужно скопировать его есть текст, а ячейки, только после голову как это все получается как до 6:00) то иврита, я ж в функцию «Условное три наших правила
- ), то заливка таких в остальные ячейки
помощи диалогового окна
будете использовать в
- нажмите цвет (мы выбрали чтобы цвет заливки
Dig deeper
в остальные: например,
ячейка I12 пустая, того как активируется сделать, так и вам надо. он даёт 8 в Израиле живу форматирование» на закладке таким образом, чтобы ячеек должна быть строки сохранить буквуFormat Cells
99% случаев, то
Find All
- ), то заливка таких в остальные ячейки
- красноватый) и нажмите каждой ячейки изменялся: Вам поможет «Условное столбец А: задали то текст в любая из ячеек не понял, пришлосьKostiK1991 а не 7. =) «Главная». Выбираем функцию выделять цветом только оранжевой; столбца неизменной. Собственно,(Формат ячеек), как есть заливка ячеек(Найти все).
- ОК автоматически вместе с форматирование» условное форматирование для ячейке A12 должен листа! отказаться от идее
Изменяем цвет заливки особых ячеек статически
: да я отправил Может я что-тоAlexM, «Создать правило», затем
ячейки, содержащие номерЕсли заказ доставлен (значение в этом кроется это описано в будет изменяться вСовет:
- . изменением содержимого этойОльга дмитриева ячейки А2, что стать красного цвета.интересно…а можно ли и решать задачу сообщение перед тем не то указалСпасибо так же
- выделяем функцию «Сравнить заказа (столбецDelivered секрет фокуса, именно разделе Изменение заливки соответствии с заданнымВ правой частиПосле этого Вы вернетесь ячейки? Далее в: есть опция-оформление (5 бы она покрасиласьКак такое можно сделать так что цифрами, захламляя документ… как увидел файл. в функции? и тебе ) столбцы для определенияOrder number
- ), то заливка таких поэтому форматирование целой выделенных ячеек. Вами условием. диалогового окна в окно статье Вы найдёте закладка) и там в красный или организовать? Заранее благодарен
бы она пересчитывала а теперь разобрался простите.И так вопрос если могу уточнить, форматируемых ячеек». В) на основании значения ячеек должна быть строки изменяется вНе забывайте, что настройкиДля примера снова возьмёмFind and Replace
New Formatting Rule ответы на эти
есть оформление условное
зеленый, в зависимости
за вашу помощь.
office-guru.ru
Как в Excel изменять цвет строки в зависимости от значения в ячейке
при изменении цвета и могу всесейчас как раз себе на заметку, что значит (B1<>»») строке «Формат…» пишем другой ячейки этой зелёной; зависимости от значения
форматирования, сделанные таким таблицу цен на(Найти и заменить)(Создание правила форматирования), вопросы и получите (что то в от того большеSerge 007 ячейки, БЕЗ активации исправить!) над ним сижу, ты отметил галочкой и почему на такую формулу. =$A$2=A3 строки (используем значенияЕсли срок доставки заказа одной заданной ячейки. образом, будут сохраняться
- бензин, но на есть кнопка где в поле
- пару полезных советов, этом роде )и или меньше в
- : Здравствуйте. ячеек…?iba2004, спасибо за
- изучаю ) «остановить если истина», это умножаем?
- Ячейка А2 – из столбца
Как изменить цвет строки на основании числового значения одной из ячеек
находится в прошломНажимаем кнопку даже когда пустые
этот раз добавимOptionsPreview которые помогут выбрать там обговариваешь твои ней значение, чемФормула УФ:дело в том, интерес! нет, этоВы ГЕНИЙ! Как почему?AlexM в ней мы
- Delivery (значениеФормат ячейки заполнятся значениями
- ещё пару штатов,(Параметры), нажав которую(Образец) будет показан правильный метод для условия в ячейке А1.Код =ЕТЕКСТ(F12)*ЕПУСТО(I12) что в документе не условное форматирование…ячейки вам удалось? )
- AlexM: В УФ если будем писать искомое).Past Due(Format) и переходим или будут исправлены а некоторые ячейки Вы получите доступ образец Вашего форматирования. решения каждой конкретной. Потом копируем форматVodoley96 в котом это заливают в ручную…Можете в крацие: тут всего два
меньше 4 часов,
слово, фразу, число,Если нужно выделить строки), то заливка таких на вкладку ошибки в формулах. сделаем пустыми. Теперь к ряду продвинутых Если всё устраивает, задачи.: Если тебя интересует в ячейку А3,: необходимо применить, приHugo объяснить как работает
часа ночных, с
то окрашиваем, а
т.д. одним и тем ячеек должна бытьЗаливка Трудно представить, что посмотрите, как Вы настроек поиска, таких нажмитеИзменяем цвет заливки ячеек, VBA? тогда вот и она должнаБлагодарю! защите листа пользователь: Только изменение заливки ваша формула, я 4:00 до 6:00
- пустая ячейка равнозначнаНажимаем на кнопку же цветом при красной.(Fill), чтобы выбрать кому-то может понадобиться сможете обнаружить эти какОК основываясь на их пример. уже зависить отVodoley96 может только пользоваться UDF не отслеживают пытаюсь понять чтобПосмотрите еще файл. нулю. Поэтому в «Формат» (кнопка с появлении одного изИ, конечно же, цвет цвет фона ячеек. идти таким путём, пустые ячейки и
- Match Case. значениях (динамически) –В зависимости от ячейки А2, потом
- : Стоп… А где выделением ячеек при — нужно или написать похожую для В первом была формулу введено это нулем [0]), выбираем нескольких различных значений, заливки ячеек должен Если стандартных цветов разве что в изменить цвет их(Учитывать регистр) иРезультат Ваших настроек форматирования Цвет заливки будет
условий заливаю на копируем в А4, формула в которой форматировании (ТОЛЬКО выделять запускать вручную пересчёт, праздничных дней. когда неточность в работе логическое значение, чтобы цвет заливки ячейки. то вместо создания изменяться, если изменяется недостаточно, нажмите кнопку
Как создать несколько правил условного форматирования с заданным приоритетом
целях эксперимента заливки.Match entire cell content будет выглядеть приблизительно изменяться автоматически при первом листе ячейку которая зависит от хоть что-то про ячейки и изменять или запускать его например праздник заходит формулы. исключить окрачку пустых Мы выбрали зеленый нескольких правил форматирования статус заказа.Другие цвета
Урок подготовлен для Вас
На вкладке(Ячейка целиком). Вы так: изменении значения ячейки. С1 разными цветами.
- А3 и т.д. цвет упоминается? заливку), а при макросом например при в 16:30 иPS/ давайте файлам ячеек. цвет. Нажимаем «ОК». можно использовать функции
- С формулой для значений(More Colors), выберите командой сайта office-guru.ruHome можете использовать символыТак как нам нужноИзменяем цвет ячейки, основываясь Если А1 меньше У меня приSerge 007 этих действиях пересчет переходе на другую
- выходит на след разные имена иУмножение = И()Это условное форматированиеИDelivered подходящий и дваждыИсточник: https://www.ablebits.com/office-addins-blog/2013/10/18/change-background-color-excel-based-on-cell-value/(Главная) в разделе подстановки, такие как настроить ещё одно на её текущем В1 — зеленым, копировании формата, значения: Таких формул не
Как изменить цвет строки на основании текстового значения одной из ячеек
не производиться… Прикрепленные ячейку. день в 17:40. вопросы задавайте поСложение = ИЛИ() будет выделять точно(AND),и нажмитеПеревел: Антон Андронов
- Styles звёздочка (*), чтобы условие, позволяющее изменять значении (статически) – больше — красным, всех последующих ячеек существует. Не работают
- файлы post_376905.png (97.59GuestПодразумеваю под этим моему решению.Так формулы короче,
- такую информацию (слово,ИЛИPast DueОКАвтор: Антон Андронов(Стили) нажмите найти любую строку
цвет заливки на Однажды установленный цвет меньше — желтым. в столбце сравниваются
формулы с форматированием КБ): а есть еще если например вKostiK1991 но по функционалу текст), как написано(OR) и объединить
всё понятно, она
.
Узнайте, как на листахConditional Formatting символов, или знак зелёный для ячеек заливки не изменяется,Sub заливкаЦветом () со значением в ячеек.Guest какие нибудь варианты понедельнике заходит праздник: последняя таблица которую такие же как в ячейке А2. таким образом нескольких будет аналогичной формулеТаким же образом на
Excel быстро изменять(Условное форматирование) > вопроса (?), чтобы со значениями меньшими вне зависимости отIf Sheets(1).Cells(1, 1) ячейке А2, для
Вам надо заглянуть
: файл с зашитой
решения этой задачи, в 16:30, то ты прислал, в с функциями.Но, в таблице условий в одном из нашего первого остальных вкладках диалогового цвет целой строкиNew Rule найти один любой или равными того, как изменяется < Sheets(1).Cells(1, 2) которой и задавалось в УФ (писал листа на скрепке кроме UDF ? работая с 9
неё ты вывелОтвечу за Казанского. может быть написано правиле. примера: окна в зависимости от(Создать правило). Точно символ.3.45 значение ячейки. Then условие, как это ранее).Hugo (честно сказать я утра до 19 отдельный столбец «ночь». — двойное бинарное слово, например, сНапример, мы можем отметить=$E2=»Delivered»Формат ячеек значения одной ячейки. также, как на
Что касается предыдущего примера,, то снова нажимаемИзменяем цвет определённых ячеекSheets(1).Cells(1, 3).Interior.Color = исправить? Если вообщеVodoley96: Нет, на изменение даже не знаю
вечера я мог
так не нужно.
отрицание равнозначно умножению отступом или в заказы, ожидаемые в=$E2=»Past Due»(Format Cells) настраиваются Посмотрите приёмы и 2-м шаге примера если нам нужно кнопку (пустые, с ошибками, vbGreen ‘ можно
такое возможно… И: Я узнал, что заливки Microsoft событие что это такое, бы правильно прописатьвся суть в -1*-1. Преобразует текстовые
Как изменить цвет ячейки на основании значения другой ячейки
другом падеже. Тогда течение 1 иСложнее звучит задача для другие параметры форматирования, примеры формул для Как динамически изменять найти все ценыNew Rule с формулами) задавать цифрами цвет
если возможно, то такое Условное форматирование)) не придумал, тут но принцип понял) что в нужной том, если это значения в числа, эта формула не 3 дней, розовым заказов, которые должны такие как цвет числовых и текстовых цвет ячейки, основываясь
Как задать несколько условий для изменения цвета строки
на бензин от(Создать правило) иЦвет заливки будет изменятьсяElseIf Sheets(1).Cells(1, 1) к раскраске ячеек Ура! ничего не сделаешь. макрос-выход!!! ячейке он пропишет ночная смена то если это возможно найдет фразу. Для цветом, а те, быть доставлены через шрифта или границы
значений. на её значении.3.7 повторяем шаги с в зависимости от > Sheets(1).Cells(1, 2) добавить значки вVodoley96Про это яLancelot-r
до 16:30 а первых 7 часов
"22:00" - это этого устанавливаем ещё
которые будут выполненыХ
ячеек.В одной из предыдущих
В диалоговом окнедо 3 по 6, значения ячейки. Then виде стрелок вверх: А кто-нибудь подскажет, и говорил на: в теме 16:30 до 19 100% а дальше
текст
одно условие форматирования.
в течение 5дней (значениеВ поле статей мы обсуждали,New Formatting Rule3.799
устанавливая нужное правило.Задача:Sheets(1).Cells(1, 3).Interior.Color =
и вниз красного как сделать так, предыдущей странице.
меня интересует функция уже в другой 2 125 и—«22:00» — это Делаем всё точно и 7 дней,Due in X DaysОбразец как изменять цвет(Создание правила форматирования), то мы зададим Ниже виден образецИмеется таблица или vbRed и зеленого цветов… чтобы ячейка заполнялосьЗаставляйте их F9 Cell_Color — для в ячейке праздничные. остальные 150. число 0,916666666666667 так же, но жёлтым цветом. Формулы
). Мы видим, что(Preview) показан результат ячейки в зависимости выберите вариант такие критерии поиска: созданного нами второго диапазон данных, иElse ‘ равенство Очень буду признателен, произвольным числом в нажимать, если макрос определения числового кодаAlexMно есть условиеKostiK1991
формулу напишем такую. будут выглядеть так:
срок доставки для
выполнения созданного правила
от её значения.
office-guru.ru
Закрасить ячейку по условию в Excel формулой.
Use a formula toТеперь кликните любой из правила условного форматирования: Вы хотите изменитьSheets(1).Cells(1, 3).Interior.Color = если поможете, всё диапазоне от 1 на выделение ячеек цвета заливки.: Тут объяснять нечего. для ночной смены.: огромнейшее спасибо очень
=ПОИСК($A$1;A3) В ячейку=ИЛИ($F2=»Due in 1 Days»;$F2=»Due различных заказов составляет условного форматирования: На этот раз
determine which cells найденных элементов вКогда все будет готово цвет заливки ячеек, vbYellow перепробывал уже… до 3000 , не работает (хотяно там есть Разве что 6/24 ночная смена считается сильно помогли ) А1 будем писать in 3 Days») 1, 3, 5Если всё получилось так, мы расскажем о
to format нижней части диалогового – жмите основываясь на ихEnd If
Serge 007 в том случае такое событие тоже дополнение ко всем это 6:00 в той, где хотя
Казанский искомую фразу.=OR($F2=»Due in 1 Days»,$F2=»Due или более дней, как было задумано,
том, как в(Использовать формулу для окнаОК значениях. Более того,End Sub: Вы читали тему если ячейка, например срабатывает только после функциям данной темы: числовом представлении, 22/24 бы 2 часа:В таблице две ячейки in 3 Days»)
а это значит, и выбранный цвет Excel 2010 и определения форматируемых ячеек).Find and Replace. Теперь у Вас необходимо, чтобы этотвобще пользуйся записью
в которой пишите? С5 была не ухода с ячейки,»Если необходимо учесть соответственно 22:00 из всей рабочейAlexM окрасились в оранжевый=ИЛИ($F2=»Due in 5 Days»;$F2=»Due
что приведённая выше устраивает, то жмём 2013 выделять цветом Далее в поле(Найти и заменить) имеется мило отформатированная цвет изменялся динамически, макросов, чтобы просмотреть Все ответы на пустая? а не при
возможность пересчета функцииФункция МИН() выбирает смены входят вуже ответил, добавлю, цвет, п.ч. слова in 7 Days») формула здесь неОК строку целиком вFormat values where this и нажмите таблица, которая даёт отражая изменения данных как будет то Ваши вопросы яТо есть заполнил изменении цвета - при изменении данных минимальное значение, а интервал часов между
excel-office.ru
Значение функции ЕСЛИ в зависимости от цвета ячейки
что эту формулу написаны с отступом.=OR($F2=»Due in 5 Days»,$F2=»Due применима, так как, чтобы увидеть созданное зависимости от значения formula is true
Ctrl+A возможность с первого в ячейках. или иное действие уже дал ранее ячейку С5, например, что не совсем на листе, то:
МАКС() максимальное. Посмотрите 22:00 до 6:00. можно записать так
Можно убрать отступы
in 7 Days») она нацелена на правило в действии.Теперь, одной ячейки, а(Форматировать значения, для, чтобы выделить все взгляда увидеть максимальные
Решение:
выглядеть в «печатномmagarulez текстом — и правильно, юзер можетВ редакторе VBA
что возвращают функции. в ячейке Е2 Код =ЕСЛИ(И(B1<>»»;ИЛИ(B1=ВРЕМЗНАЧ(«22:00»)));1;0) С в ячейках таблицы.Для того, чтобы выделить
точное значение. если значение в также раскроем несколько которых следующая формула
найденные записи. После и минимальные ценыИспользуйте условное форматирование виде» :-): Да, читал, но
ячейка С10 заполнилась посчитать старый результат в модуле с
Для это выделяете я прописал формулу двумя минусами короче. Смотрите в статье
заказы с количеством
В данном случае удобно столбце хитростей и покажем является истинной) введите этого нажмите кнопку на бензин в
в Excel, чтобыMegaladoNN у меня никак автоматически числом. за новый). нужной функцией раскомментируйет последовательно фрагменты в ЕСЛИ с твоейVlad999 «Текст Excel. Формат».
товара не менее
использовать функцию
Qty. примеры формул для одну из формул:Close
разных штатах. Хорошо выделить значения больше: Здравствуйте уважаемые форумчане! не получается этоSerge 007Если быть точнее надо,
строку строке формул, например
функцией МИН и: формулы не видят
У нас получилось 5, но неПОИСК
больше работы с числовымичтобы изменить заливку пустых(Закрыть). им там, в X, меньше YКак-то проходя тренинг сделать. Я в
: Для всех версий: чтобы из диапазонаApplication.VolatileМИН(C2;6/24) МАКС. цвета ячеек, так в таблице два более 10 (значение(SEARCH) и для4 и текстовыми значениями.
ячеекВот так можно выделить Техасе! или между X Excel advanced нам
Exel’е новичок, поэтому Код =ЕСЛИ(ЕПУСТО(C5);»»;СЛЧИС()*3000) Для A1:A10 выбирались (аЕсли её нетжмете на F9
любые часы до вот т.к. ячейки условия форматирования ячеек в столбце нахождения частичного совпадения, то соответствующая строкаИзменяем цвет строки на=ISBLANK() все ячейки сСовет: и Y. рассказывали, что в
и написал сообщение, xlsx: Код =ЕСЛИ(ЕПУСТО(C5);»»;СЛУЧМЕЖДУ(0;3000)) затем суммировались) значения — допишите, сразу и записываете на 00:00 ночи записываются красятся с помощью таблицы.Qty. записать вот такую
таблицы целиком станет основании числового значения
=ЕПУСТО() заданным значением (значениями)Таким же способомПредположим, есть список цен новых версиях Excel что бы выVodoley96 только определенного цвета после имени функции листочек. Равные значения как 7 если УФ то чтоМожет возникнуть вопрос.), запишем формулу с формулу: голубой. одной из ячеекчтобы изменить заливку ячеек,
при помощи опции Вы можете изменять на бензин в
есть формула, которая дали ответ конкретно: Спасибо.Troll killer
Function Color_Count(…) с разным знаком 2 часа попадают
бы дать понять Зачем устанавливать два
функцией=ПОИСК(«Due in»;$E2)>0Как видите, изменять вСоздаём несколько правил форматирования содержащих формулы, которыеFind All цвет шрифта в разных штатах, и
может считать ячейки для моего случая.Serge 007: А Программное обеспечениеApplication.Volatile сократятся останется ночное в интервал а формуле что ячейка условия, если можноИ=SEARCH(«Due in»,$E2)>0 Excel цвет целой и для каждого возвращают ошибку
(Найти все) в зависимости от значения Вы хотите, чтобы ПО ИХ ЦВЕТУ! Если конечно не
. Вы в курсе, тут причем. СпросилColor_Count — приведена время. Логическая операция
после 00:00 уже закрашена в некий одно, с формулой(AND):
В данной формуле строки на основании определяем приоритет=ISERROR()
Excel. ячейки. Для этого цены, превышающиеИ вот новая сложно… как копировать формулы
бы где скачать в качестве примера.» добавляет 1 если нет ( рассчитывает цвет используем нужное «ПОИСК».=И($D2>=5;$D2
E2 числового значения однойИзменяем цвет строки на=ЕОШИБКА()Однако, в действительности нам просто откройте вкладку$3.7 версия у меняSerge 007 условного форматирования? Excel kheujq разговор,может кто нибудь получается отрицательное число. 8 =(
правило из УФ.Если это не=AND($D2>=5,$D2– это адрес из ячеек – основании текстового значенияРаз мы хотим изменить нужно найти все
Font, были выделены красным, появилась, а формулу: Что именно неТо есть у как работать в подскажет как этоФормулу для праздниковAlexM
дополнение к предыдущим принципиально, то достаточноКонечно же, в своих ячейки, на основании
это совсем не одной из ячеек цвет пустых ячеек, цены на бензин,(Шрифт) в диалоговом а меньшие или найти не могу,
получается? меня есть формула программе есть уроки
сделать? не могу пока не представляю.: Это уже не ответам ИСТИНА в одного условия. Но, формулах Вы можете значения которой мы сложно. Далее мыИзменяем цвет ячейки на то нам необходима превышающие окне равные а очень надо.Я для КОНКРЕТНО на условное форматирование
и книги в найти модуль сМне кажется тема моя формула. Моя виде —ИСТИНА выдаст из личного опыта использовать не обязательно применим правило условного рассмотрим ещё несколько основании значения другой первая функция. Вводим$3.7
Format Cells$3.45Про фильтр по ВАШЕГО СЛУЧАЯ ответил для ячейки A3, гугле и на функцией… по любому затянулась. Для вопроса ссылалась на ячейки 1 и соответственно — лучше установить два, а столько форматирования; знак доллара
примеров формул и ячейки ее, затем помещаем. К сожалению, инструмент(Формат ячеек), как– зелёным. цвету я знаю, ранее. Если не где: торентах что то делаю по праздникам задавайте со временем, а
—ЛОЖЬ выдаст 0 оба условия. А условий, сколько требуется.$ парочку хитростей для
Изменяем цвет строки по курсор между скобокFind and Replace мы это делалиЗамечание:
нужна именно фрормула! можете воспользоваться готовымМне нужно сделать
Analitik не правильно и
новый вопрос. то что выKostiK1991 чтобы не писать Например:нужен для того, решения более сложных нескольким условиям и нажимаем иконку(Найти и заменить)
на шаге 5,Снимки экрана дляКто знает напишите решением, то как такие же формулы: Никак, самому надо не там ищу…KostiK1991 сделали из моей: а можно вопрос два раза фразу,=ИЛИ($F2=»Due in 1 Days»;$F2=»Due чтобы применить формулу задач.
Предположим, у нас есть выбора диапазона в в этом не и выберите желаемый этого примера были пож.. С меня
минимум от Вас (только былоLightZ: ещё раз огромное формулы ссылается на по существу но напишите такую формулу in 3 Days»;$F2=»Due к целой строке;В таблице из предыдущего вот такая таблица правой части строки сможет нам помочь. цвет шрифта. сделаны в Excel
чебурек =) должен был быть
легкимТег: Блин… забыл поставить вам спасибо! постараюсь
дату. не связан с в ячейке А2. in 5 Days») условие « примера, вероятно, было заказов компании:
CyberForum.ru
Обозначение цвета в формулах
(либо наберите нужныйТеперь у Вас выделеныОднажды настроенный цвет заливки
2010, однако, вSerge_007 пример, в котором
и: на прямую даже Volatile, сами сможете праздничные прописать сам,В функциях ЕСЛИ()
темой? =А1=OR($F2=»Due in 1 Days»,$F2=»Due>0
бы удобнее использоватьМы хотим раскрасить различными диапазон вручную): все ячейки с
не будет изменяться, Excel 2007 и: Нет таких формул
форумчане могли быпростым Excel 2013 так добавить? т.к с
если не справлюсь я не понимаю
скажем есть работникТогда ячейка А2 in 3 Days»,$F2=»Due
» означает, что правило разные цвета заливки, цветами строки в=ISBLANK(B2:H12) заданным значением (или вне зависимости от 2013 кнопки, диалоговые
и навряд ли его выложитьпутем, вдруг такая
считать не может телефона сейчас сижу
открою новую тему. что вы хотите
начал работать в будет заполняться автоматически, in 5 Days») форматирования будет применено, чтобы выделить строки, зависимости от заказанного=ЕПУСТО(B2:H12) значениями), мы сделали того, как в
окна и настройки они когда-нибудь появятся,
magarulez
функция копирования какого-нибудь тут модуль в %) Спасибо Алекс. получить. 23 закончил в
когда вы напишитеПодсказка: если заданный текст содержащие в столбце количества товара (значениеНажмите кнопку это только что будущем изменится содержимое будут точно такие по крайней мере,: То ли я есть), но для Visual Basic писать
Lancelot-rGuestДавайте так. Вы 10 утра. можно
фразу в ячейкеТеперь, когда Вы (в нашем случаеQty. в столбцеFormat при помощи инструмента ячейки. же или с
пока модель Excel не понимаю, то ячеек которые ниже, надо полный текст: The_Prist, прошу прощения,: Доброго времени суток, не пишите формулы ли построить формулу А1 и нажмете научились раскрашивать ячейки
это «Due in»)различные значения. К
Qty.(Формат), выберите нужныйFind and ReplaceЗадача:
незначительными отличиями. будет такая, какой ли вы не
чтобы тем самым см здесь http://www.planetaexcel.ru/techniques/9/162/ но я практически Уважаемые Программисты!
в ячейки, а что если из «Enter». в разные цвета,
будет найден.
примеру, создать ещё), чтобы выделить самые цвет заливки на
(Найти и заменить).
Вы хотите настроить
Итак, вот, что нужно она есть сейчас.
правильно мой вопрос для А4 уже там и пример не разбираюсь вМожет кто нибудь пишите то что рабочей смены, хотяЗдесь выделились слова «Отпуска
в зависимости отПодсказка: одно правило условного важные заказы. Справиться вкладке Всё, что Вам
цвет ячейки, основываясь сделать по шагам: Только макросами или поняли, в предыдущих было:
есть VBA… знает как обозначить должно получится и бы 2 часа нет» желтым цветом, содержащихся в нихЕсли в формуле
форматирования для строк, с этой задачей
Fill
осталось сделать, это
на её текущем
Выделите таблицу или диапазон, макрофункциями. постах немного другое
Для А5:Зибин
открыв редактор, нашел цвет в формулах? объясните почему так, попадают в интервал
т.е. примерное совпадение значений, возможно, Вы используется условие « содержащих значение
нам поможет инструмент(Заливка), а затем задать цвет заливки значении, и хотите, в котором Вы
ЗЫ Интересно что было, здесь уи т.д.: Excel суммировать по
свою книгу, развернул,к примеру есть
а не иначе.
между 22:00-6:00 то с искомым словом захотите узнать, сколько
>0
10 Excel – « нажмите
выбранным ячейкам. чтобы цвет заливки хотите изменить цвет это за тренинг меня ячейки однаКак это организовать? цвету до сих увидел только «Microsoft функция =ЕСЛИ(A1= «желтый»AlexM эта ячейка окрашивается
— это наше ячеек выделено определённым«, то строка будетили больше, и
Условное форматированиеОКОткройте диалоговое окно оставался неизменным, даже заливки ячеек. В такой?
под другой, и Спасибо . пор не умеет. Excel Objects», там ;0;1) «желтый» -: Добавил файл. Сделал
скажем синим. искомое слово в цветом, и посчитать выделена цветом в выделить их розовым».. Подробные инструкции даныFormat Cells когда значение ячейки этом примере мыMegaladoNN нужно что быSerge 007Чтобы исправить этот
только «лист 1(лист как обозначить этот как понял.
как не писал падеже. В Excel сумму значений в каждом случае, когда цветом. Для этого
Первым делом, выделим все на шаге 5(Формат ячеек) любым
изменяется. выделяем: Ясно, будем искать. каждая следующая окрашивалась: Формула останется прежней. существенный недостаток можно 1)», «лист 2(лист цвет ?KostiK1991 это в если можно копировать любой этих ячейках. Хочу в ключевой ячейке
planetaexcel.ru
Как можно в Excel 2010 в формуле задать условие по цвету ячейки?
нам понадобится формула: ячейки, цвет заливки примера «Как динамически из 3-х способов:Решение:
$B$2:$H$10А тренинг при в зависимости отДиапазон указать надо. использовать несложную пользовательскую 2)», «лист 3(листAlex77755: насчёт ночных смен все время выходит формат ячеек, в
порадовать Вас, это будет найден заданный=$C2>9
которых мы хотим изменять цвет ячейки,нажавНайти все ячейки(заголовки столбцов и МГТУ им. Н.Э.Баумана. того больше илиНа скрине слева функцию на Visual 3)», «Эта книга».
: Только-что отвечал на я так понимаю что он принимает том числе и
действие тоже можно текст, вне зависимостиДля того, чтобы оба изменить. основываясь на её
Ctrl+1
с определённым значением первый столбец, содержащий»Advanced» — значит меньше в ней
— то что Basic
добавил стандартный модуль,
такой вопрос на вы поняли. мне
2 часа как условное форматирование. Смотрите
сделать автоматически, и от того, где
созданных нами правила
Чтобы создать новое правило
значении».Образец настроенного Вами
.
(или значениями) при
названия штатов, не «продвинутый» значение, чем в у Вас сейчас,—— записал в нем: другом форуме важно чтоб если за 2 часа
статью «Копирование условного решение этой задачи
именно в ячейке работали одновременно, нужно форматирования, нажимаем
условного форматирования будеткликнув по любой выделенной помощи инструмента выделяем).
0mega
предыдущей ячейке.
Изменение цвета текста в ячейке
справа — тоPublic Function SumByColor(DataRangeFunction Cell_Color()Моё предложение: написать смена была ночная ночи а не форматирования, формата в мы покажем в он находится. В расставить их в
Главная выглядеть приблизительно так: ячейке правой кнопкойFind AllОткройте вкладку:Если делать как как должно быть. As Range, ColorSample
Application.Volatile свою функцию определения а как я
просто 2 часа Excel».
статье, посвящённой вопросу
примере таблицы на
нужном приоритете.>Если Вы довольны цветом,
мыши и выбрав(Найти все), аHomeMegaladoNN вы писали ранее,
Vodoley96 As Range) AsEnd Function цвета и вызывать раньше указывал ночная
в целом какKostiK1991 Как в Excel
рисунке ниже столбецНа вкладкеУсловное форматирование жмите
в контекстном меню затем изменить формат(Главная), в разделе, здравствуйте то такого результата: Нет. Так я Doubleсохранил и функция её для проверки смена может считаться 120 минут.
: Кто поправит, уже посчитать количество, суммуDeliveryГлавная>
ОК пункт найденных ячеек, используяStyles
Если, фартуна вдруг, не получается.
пробовал. Но этоDim Sum As стала писать «ошибкаLancelot-r
той и толькопривёл пример в пару часов облазил и настроить фильтр(столбец F) может
(Home) в разделеСоздать правило. Вы увидите, какFormat Cells диалоговое окно(Стили) нажмите улыбнется — тоВот пример:не подходит Double в значении»: знать бы еще той где хотя
формате екселя.
все форумы, вроде
для ячеек определённого содержать текст «Urgent,
Стили(Home > Conditional
созданное правило немедленно
(Формат ячеек).Format CellsConditional Formatting сочтите за трудSerge 007
, потому что вApplication.Volatile Trueможет подскажите что как это сделать…) бы 2 часаначало в 20:00 сделал всё как цвета. Due in 6(Styles) нажмите Formatting > New
будет применено кна вкладке(Формат ячеек).(Условное форматирование) > отписаться здесь
: Значит точно не этом случае (наFor Each cell
нужно было сделать?Z из всей рабочей конец в 8:00
по книжке аМы показали лишь несколько Hours» (что вУсловное форматирование rule).
таблице.Home
Это одна из техNew RuleSerge_007 читали… правом скрине), условное In DataRange
LightZ, еще раз: Сидя на месте?.. смены входят в из 12 часов истину не выводит. из возможных способов переводе означает –(Conditional Formatting) >В появившемся диалоговом окнеОднажды настроенная заливка будет(Главная) > редких задач, по(Создать правило).: Не улыбнётся.magarulez форматирование будет действоватьIf cell.Interior.Color = спасибо, но я Однако — . интервал между 22:00 смены поскольку хотяХочу чтоб если сделать таблицу похожей Срочно, доставить вУправление правиламиСоздание правила форматирования оставаться неизменной, неCells которым нет разъясненияВ верхней части диалоговогоMegaladoNN: Спасибо огромное!!! для всех этих ColorSample.Interior.Color Then не понимаю что -97416- и 6:00. бы 2 часа у ячейки Б1 на полосатую зебру, течение 6 часов),(Manage Rules)(New Formatting Rule) зависимо от значения(Ячейки) > в файлах справки окна, что-то напутал.Читать-то читал, да указанных в диапазонеSum = Sum значит «Volatile»…Lancelot-r
Мне важно построить входят в интервал был залит цвет(и окраска которой зависит и эта строкаВ выпадающем списке
выбираем вариант ячейки.Format Excel, на форумахNew Formatting RuleAlex_ST и пробывал не ячеек. + cell.ValueLancelot-r: Спасибо, Z… что если человек
между 22:00-6:00 это желательно именно синий), от значений в
также будет окрашена.Показать правила форматирования дляИспользовать формулу для определенияЕсли Вы хотите настроить(Формат) > или в блогах,(Создание правила форматирования): А тренинг в один раз…А мне
End If: что то яя читал эту работал, к примеру считается ночной сменой, истина 1 а ячейках и умеетДля того, чтобы выделить(Show formatting rules форматируемых ячеек постоянный цвет заливкиFormat Cells и для которых в поле МГТУ случайно неВсё дело внужно
Next cell запутался… какую функцию, тему прежде чем с 9 до
тогда 100% ставки
если не залит(или меняться вместе с цветом те строки,
for) выберите(Use a formula
пустых ячеек или(Формат ячеек). нет прямого решения.
Select a Rule Type какой-нибудь макрописец вёл? формуле: =$A$2 А: заполнил B3, C3SumByColor = Sum какая строка… создать тему… 17 то в будет 7 часов
CyberForum.ru
Как прописать формулу, меняющую цвет выводимого в ячейке текста в зависимости от условий в MS EXCEL?
залит но другой) изменением этих значений. в которых содержимоеЭтот лист to determine which ячеек с формулами,Далее настройте параметры форматирования И это понятно,(Выберите тип правила) Написал он когда-то т.к. я в — пустая. ИEnd FunctionLightZдобавил надстройку, воспользовался столбике 100% в а остальных как то 0. Если Вы ищите ключевой ячейки начинается(This worksheet). Если cells to format), которые содержат ошибки, так, как Вам так как эта выберите свою UDF-ку, выбирающую Exelе не особо A3 сменила заливку.——-
: Вот этот код командой Cell_Color с ячейке отобразится 8
по формуле. нобыл бы рад для своих данных с заданного текста нужно изменить параметры и ниже, в используйте этот способ: угодно. На этот
задача не типичная.Format only cells that диапазоны по цвету, соображаю, не заметил,
заполнил В4, С4Если теперь вернуться (ниже) должен находиться ссылкой на ячейку или то кол-во если бы он помощи без макросов что-то другое, дайте
или символов, формулу
только для правил полеВыделите таблицу или диапазон
раз мы установим И всё же, contain
и отправил мелкомягким да и не — пустая. И
в Excel, то у Вас в
с заливкой, пишет
часов которое он отработал с 8:00
=)
нам знать, и
нужно записать в на выделенном фрагменте,Форматировать значения, для которых и нажмите оранжевый цвет заливки, если Вам нужно
Формула ПО ЦВЕТУ ячейки (Как посчитать сколько в файле ячеек определённого цвета)
(Форматировать только ячейки, с предложением срочно
понял в чём А4 сменила заливку. в Мастере функций модуле (см.скриншот). ошибка в значении… работал но до lj 20:00 то
подскажите пожалуйста. вместе мы обязательно таком виде: выберите вариант следующая формула является
F5 просто для разнообразия изменить цвет заливки
которые содержат). внедрить такое в различия между такими
Просто вопрос в том, (Вставка — Функция)После чего, у я все правильно 8. С этим 100% ставки часовКазанский что-нибудь придумаем.=ПОИСК(«Due in»;$E2)=1Текущий фрагмент
истинной, чтобы открыть диалоговоеЕсли Вы хотите изменить
ячеек окончательно, тоВ нижней части диалогового
следующих версиях… Теперь записями
чтобы указать краткую в появившейся там
Вас появится формула сделал? проблем нет. было бы 8
:Урок подготовлен для Вас=SEARCH(«Due in»,$E2)=1(Current Selection).
(Format values where окно
только цвет заливки, есть раз и
окна в поле ждёт, когда внедрятКак прописать формулу, меняющую формулу, если это категории Определенные пользователем «определенная пользователем (UDF)»LightZС помощью вашей а не 7.KostiK1991 командой сайта office-guru.ruНужно быть очень внимательным
excelworld.ru
Выберите правило форматирования, которое
Skip to content
В этой статье вы узнаете, как посчитать ячейки по цвету и получить сумму по цвету ячеек в Excel. Эти решения работают как для окрашенных вручную, так и с условным форматированием.
Если вы активно используете различные цвета заливки и шрифта на листах Excel, чтобы различать различные типы значений, вам может потребоваться узнать, сколько ячеек выделено определенным цветом. Если значения ваших ячеек являются числами, вы можете автоматически вычислить сумму ячеек, закрашенных одним цветом, например, сумму всех красных ячеек.
Как все мы знаем, Microsoft Excel предоставляет множество формул для разных целей, и было бы логично предположить, что для подсчета ячеек по цвету есть и такие. Но, к сожалению, нет стандартной функции, которая позволяла бы суммировать по цветам или считать по цветам в Excel.
Помимо использования сторонних надстроек, есть только одно возможное решение — использование пользовательских функций. Если вы очень мало знаете об этой технологии или никогда раньше не слышали этот термин, не пугайтесь, вам не придется писать код самостоятельно. Здесь вы найдете готовое решение, и все, что вам нужно сделать, это скопировать / вставить его в свою книгу.
Функции и макросы, которые мы рассмотрим в этой статье, помогут нам сделать следующее:
- Как посчитать по цвету и суммировать по цвету на листе Excel
- Как суммировать по цвету и сосчитать по цвету во всей рабочей книге
- Пользовательские функции для получения цвета ячейки, цвета шрифта и цветового кода
- Как считать по цвету и суммировать ячейки, окрашенные с использованием условного форматирования
- Самый быстрый способ подсчета и суммирования ячеек по цвету в Excel
Как посчитать по цвету и суммировать по цвету на листе Excel
Предположим, у вас есть таблица со списком заказов, в которой ячейки в столбце «Количество» окрашены в зависимости от их значения в колонке «Выполнение» и даты: ячейки с выполняемыми заказами сроком до 30 дней от текущей даты — желтые, уже выполненные — зеленые, а просроченные заказы — красные.
Теперь нам нужно автоматически подсчитать ячейки определенного цвета, т.е. посчитать количество красных, зеленых и желтых ячеек в таблице. Как я объяснил выше, прямого решения этой задачи при помощи стандартных формул Excel не существует. Но, к счастью, есть код VBA для Excel. Выполните 5 быстрых шагов ниже, и вы узнаете число и сумму ваших цветных ячеек всего за несколько минут.
- Откройте книгу Excel и нажмите
Alt+F11
, чтобы открыть редактор Visual Basic (VBE). - Щелкните правой кнопкой мыши имя своей книги в разделе «Project–VBAProject» в правой части экрана, а затем выберите «Вставить» > «Модуль» в контекстном меню.
- Добавьте в вашу рабочую книгу следующий код:
Function GetCellColor(xlRange As Range)
Dim indRow, indColumn As Long
Dim arResults()
Dim colorVal As Variant
Application.Volatile
If xlRange Is Nothing Then
Set xlRange = Application.ThisCell
End If
If xlRange.Count > 1 Then
ReDim arResults(1 To xlRange.Rows.Count, 1 To xlRange.Columns.Count)
For indRow = 1 To xlRange.Rows.Count
For indColumn = 1 To xlRange.Columns.Count
colorVal = xlRange(indRow, indColumn).Interior.Color
arResults(indRow, indColumn) = (colorVal Mod 256) & ", " & ((colorVal 256) Mod 256) & ", " & (colorVal 65536)
Next
Next
GetCellColor = arResults
Else
colorVal = xlRange.Cells(1, 1).Interior.Color
GetCellColor = (colorVal Mod 256) & ", " & ((colorVal 256) Mod 256) & ", " & (colorVal 65536)
End If
End Function
Function GetCellFontColor(xlRange As Range)
Dim indRow, indColumn As Long
Dim arResults()
Dim colorVal As Variant
Application.Volatile
If xlRange Is Nothing Then
Set xlRange = Application.ThisCell
End If
If xlRange.Count > 1 Then
ReDim arResults(1 To xlRange.Rows.Count, 1 To xlRange.Columns.Count)
For indRow = 1 To xlRange.Rows.Count
For indColumn = 1 To xlRange.Columns.Count
colorVal = xlRange(indRow, indColumn).Font.Color
arResults(indRow, indColumn) = (colorVal Mod 256) & ", " & ((colorVal 256) Mod 256) & ", " & (colorVal 65536)
Next
Next
GetCellFontColor = arResults
Else
colorVal = xlRange.Cells(1, 1).Font.Color
GetCellFontColor = (colorVal Mod 256) & ", " & ((colorVal 256) Mod 256) & ", " & (colorVal 65536)
End If
End Function
Function CountCellsByColor(rData As Range, cellRefColor As Range) As Long
Dim indRefColor As Long
Dim cellCurrent As Range
Dim cntRes As Long
Application.Volatile
cntRes = 0
indRefColor = cellRefColor.Cells(1, 1).Interior.Color
For Each cellCurrent In rData
If indRefColor = cellCurrent.Interior.Color Then
cntRes = cntRes + 1
End If
Next cellCurrent
CountCellsByColor = cntRes
End Function
Function SumCellsByColor(rData As Range, cellRefColor As Range)
Dim indRefColor As Long
Dim cellCurrent As Range
Dim sumRes
Application.Volatile
sumRes = 0
indRefColor = cellRefColor.Cells(1, 1).Interior.Color
For Each cellCurrent In rData
If indRefColor = cellCurrent.Interior.Color Then
sumRes = WorksheetFunction.Sum(cellCurrent, sumRes)
End If
Next cellCurrent
SumCellsByColor = sumRes
End Function
Function CountCellsByFontColor(rData As Range, cellRefColor As Range) As Long
Dim indRefColor As Long
Dim cellCurrent As Range
Dim cntRes As Long
Application.Volatile
cntRes = 0
indRefColor = cellRefColor.Cells(1, 1).Font.Color
For Each cellCurrent In rData
If indRefColor = cellCurrent.Font.Color Then
cntRes = cntRes + 1
End If
Next cellCurrent
CountCellsByFontColor = cntRes
End Function
Function SumCellsByFontColor(rData As Range, cellRefColor As Range)
Dim indRefColor As Long
Dim cellCurrent As Range
Dim sumRes
Application.Volatile
sumRes = 0
indRefColor = cellRefColor.Cells(1, 1).Font.Color
For Each cellCurrent In rData
If indRefColor = cellCurrent.Font.Color Then
sumRes = WorksheetFunction.Sum(cellCurrent, sumRes)
End If
Next cellCurrent
SumCellsByFontColor = sumRes
End Function
- Сохраните свою книгу как «Книга Excel с поддержкой макросов (.xlsm)».
Если вы новичок и вам сложно работать с VBA, вы можете найти подробные пошаговые инструкции и несколько полезных советов в этом руководстве: Как вставить и запустить код VBA в Excel .
- Теперь, когда вся подготовительная работа сделана, выберите ячейку, в которой вы хотите получить результат, и введите в нее только что записанную нами пользовательскую функцию CountCellsByColor:
CountCellsByColor( диапазон ; код цвета )
здесь и далее эти аргументы означают:
диапазон – диапазон ячеек, в которых вы хотите произвести подсчеты по цвету,
код цвета – адрес ячейки-образца, цвет фона или шрифта которой соответствуют искомому цвету фона или шрифта.
В этом примере мы используем формулу, =CountCellsByColor(D2:D21;A24), где D2:D21— это диапазон, в котором вы хотите посчитать количество ячеек с цветом, а A24 — это ячейка, закрашенная нужным нам цветом, красным в нашем случае.
Аналогичным образом вы записываете формулы для других цветов, которые хотите посчитать, желтого и зеленого, в нашей таблице.
Если у вас есть числовые данные в цветных ячейках (например, столбец Количество в нашей таблице), вы можете сложить значения на основе определенного цвета, используя аналогичную функцию SumCellsByColor:
SumCellsByColor( диапазон ; код цвета)
Как показано на скриншоте выше, мы использовали формулу суммы по цвету, =SumCellsByColor(D2:D21;A24), где D2:D21 — это диапазон, а A24 — ячейка с образцом цвета.
Аналогичным образом вы можете посчитать выделенные цветом ячейки и суммировать значения таких ячеек по цвету шрифта, используя функции CountCellsByFontColor и SumCellsByFontColor соответственно.
На скриншоте ниже вы видите, как можно подсчитать количество значений, написанных красным цветом.
=CountCellsByFontColor(D2:D21;A24)
Аналогично подсчитываем сумму чисел, имеющих определённый цвет шрифта, при помощи формулы:
=SumCellsByFontColor(D2:D21;A24)
Примечание. Если после применения вышеупомянутого кода VBA вам потребуется раскрасить еще несколько ячеек вручную, то сумма и количество окрашенных ячеек не будут пересчитаны автоматически, чтобы отразить произошедшие изменения. Пожалуйста, не сердитесь на нас, это не ошибка кода
На самом деле, это нормальное поведение всех макросов Excel, скриптов VBA и пользовательских функций. Дело в том, что все подобные функции вызываются только при изменении данных рабочего листа. Но Excel не воспринимает изменение цвета шрифта или цвета ячейки как изменение данных.
Итак, после раскрашивания ячеек вручную, просто поместите курсор в любую ячейку и нажмите F2
, а затем Enter
. То есть, сделайте вид, что меняете содержимое какой-либо ячейки. Сумма и количество в пользовательской функции тут же будут обновлены. То же самое относится и к другим макросам, которые считают по цвету.
Как суммировать по цвету и сосчитать по цвету во всей рабочей книге
Приведенная ниже пользовательская функция подсчитывает и находит сумму ячеек по цвету заливки на всех листах рабочей книги. Итак, вот ее код:
Function WbkCountCellsByColor(cellRefColor As Range)
Dim vWbkRes
Dim wshCurrent As Worksheet
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
vWbkRes = 0
For Each wshCurrent In Worksheets
wshCurrent.Activate
vWbkRes = vWbkRes + CountCellsByColor(wshCurrent.UsedRange, cellRefColor)
Next
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
WbkCountCellsByColor = vWbkRes
End Function
Function WbkSumCellsByColor(cellRefColor As Range)
Dim vWbkRes
Dim wshCurrent As Worksheet
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
vWbkRes = 0
For Each wshCurrent In Worksheets
wshCurrent.Activate
vWbkRes = vWbkRes + SumCellsByColor(wshCurrent.UsedRange, cellRefColor)
Next
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
WbkSumCellsByColor = vWbkRes
End Function
Вы используете этот макрос так же, как и предыдущий код, и выводите количество и сумму цветных ячеек с помощью следующих формул =WbkCountCellsByColor() и =WbkSumCellsByColor() соответственно.
Единственный аргумент, который нужен этим функциям, это адрес ячейки с нужным цветом.
Просто введите любую из этих формул в любую пустую ячейку на любом листе без указания диапазона, используйте в скобках адрес ячейки нужного цвета, например
=WbkSumCellsByColor(A1)
Формула отобразит сумму всех ячеек, закрашенных тем же цветом, на всех листах в вашей рабочей книге.
Пользовательские функции для получения цвета ячейки, цвета шрифта и цветового кода
Здесь вы найдете перечень всех функций, которые мы использовали ранее, а также несколько новых, которые извлекают цветовые коды.
Зачем они нам? Но ведь если ваша таблица окрашена не совсем стандартными цветами (например, светло-зеленым), то подобрать образец цвета для функций, которые мы рассматривали выше, будет весьма затруднительно. Если же у вас будет код нужного цвета, вы сможете использовать его при форматировании ячейки-образца, чтобы получить точное соответствие цвета.
Если вы вдруг забыли, как можно вручную раскрасить ячейку в нужный цвет, то напомню. Жмем Ctrl+1
, затем Заливка – Другие цвета – Спектр – RGB формат. Вот туда и вставляем полученный код. Точное соответствие цвета будет обеспечено.
Примечание. Помните, что все эти формулы будут работать только в том случае, если вы добавили пользовательскую функцию в книгу Excel, как показано ранее в этой статье.
Функции для подсчета по цвету:
- CountCellsByColor(диапазон; код цвета) – считает ячейки с заданным цветом фона.
В приведенном выше примере мы использовали следующую формулу для подсчета ячеек по цвету
= CountCellsByColor (F2: F14, A17)
где F2: F14 — выбранный диапазон, а A17 — ячейка с нужным цветом фона. Вы можете использовать все остальные формулы, перечисленные ниже, аналогичным образом.
- CountCellsByFontColor(диапазон; код цвета) – подсчитывает ячейки с указанным цветом шрифта.
Формулы для суммирования по цветам:
- SumCellsByColor(диапазон; код цвета) – вычисляет сумму ячеек с определенным цветом фона.
- SumCellsByFontColor(диапазон; код цвета) – вычисляет сумму ячеек с определенным цветом шрифта.
Функции для получения кода цвета ячейки:
- GetCellFontColor(ячейка) – возвращает цветовой код цвета шрифта указанной ячейки.
- GetCellColor(ячейка) – возвращает цветовой код цвета фона указанной ячейки.
Вот примеры использования функции цвета ячейки:
А на этим скриншоте мы получаем цветовой RGB код шрифта.
Как считать по цвету и суммировать ячейки, окрашенные с использованием условного форматирования
Если вы применили условное форматирование к ячейкам на основе их значений и теперь хотите посчитать эти ячейки по цвету или просуммировать значения в закрашенных ячейках, то у меня плохие новости — не существует универсальной определяемой пользователем функции, которая бы суммировала по цвету или пересчитала закрашенные условным форматированием ячейки и вывела бы полученные числа прямо в указанные клетки таблицы. По крайней мере мне о такой функции не известно, увы
Конечно, вы можете найти в Интернете тонны кода VBA, который пытается это сделать, но все эти коды (по крайней мере, примеры, с которыми я сталкивался), не обрабатывают условное форматирование, такое как «Форматировать все ячейки на основе их значений», «Форматировать только наибольшие или наименьшие значения», «Форматировать только значения выше или ниже среднего», «Форматировать только уникальные или повторяющиеся значения». Кроме того, почти все эти коды VBA имеют ряд особенностей и ограничений, из-за которых они могут работать некорректно с определенными книгами или типами данных. В общем, вы можете испытать удачу и поискать в Google идеальное решение, и если вы его найдете, пожалуйста, вернитесь и опубликуйте свое открытие здесь!
Но если пользовательская функция не может выполнить эту задачу, то макрос VBA вполне может справиться. О различиях пользовательских функций и макросов VBA вы можете более подробно прочитать в этой статье.
Приведенный ниже макрос VBA преодолевает вышеупомянутые ограничения и работает в электронных таблицах Microsoft Excel со всеми типами условного форматирования. Он отображает количество выделенных определенным цветом ячеек и сумму значений в этих ячейках, независимо от того, какой тип условного форматирования используется на листе.
Sub SumCountByConditionalFormat()
Dim indRefColor As Long
Dim cellCurrent As Object
Dim cntRes As Long
Dim sumRes
Dim cntCells As Long
Dim indCurCell As Long
cntRes = 0
sumRes = 0
Set cellCurrent = Selection
adr = Mid(cellCurrent.Address, InStr(cellCurrent.Address, ",") + 1, 20)
adr1 = Left(adr, 4)
adr2 = Left(cellCurrent.Address, InStr(cellCurrent.Address, ",") - 1)
Range(adr2).Activate
indRefColor = ActiveCell.DisplayFormat.Interior.Color
Range(adr).Activate
cntCells = Selection.CountLarge
Range(adr).Select
Range(adr).Activate
Set cellCurrent = Selection
For indCurCell = 1 To (cntCells - 1)
If indRefColor = cellCurrent(indCurCell).DisplayFormat.Interior.Color Then
cntRes = cntRes + 1
sumRes = WorksheetFunction.Sum(cellCurrent(indCurCell), sumRes)
End If
Next
MsgBox "Count=" & cntRes & vbCrLf & "Sum= " & sumRes & vbCrLf & vbCrLf & _
"Color=" & Left("000000", 6 - Len(Hex(indRefColor))) & _
Hex(indRefColor) & vbCrLf, , "Count & Sum by Conditional Format color"
End Sub
Как использовать этот макрос для подсчета цветных ячеек и суммирования их значений.
Опишем процесс пошагово:
- Добавьте приведенный выше код на лист, как описано в первом параграфе статьи .
- Выберите ячейку с нужным цветом.
- Нажмите и удерживайте
Ctrl
. - Выберите диапазон, в котором вы хотите подсчитать цветные ячейки и/или суммировать по цвету, если у вас есть числовые данные.
- Отпустите клавишу
Ctrl
. - НажНажмите комбинацию
Alt+F8
, чтобы открыть список макросов в вашей книге. - Выберите макрос SumCountByConditionalFormat и нажмите «Выполнить» .
Покажем эти действия на скриншотах. Используем пример данных, с которыми мы уже работали в первых параграфах этой статьи. Только теперь они окрашены в столбце В при помощи условного форматирования.
Сначала выбираем ячейку D5, поскольку хотим подсчитать ячейки красного цвета с просроченными заказами.
Затем дополнительно, удерживая Ctrl
, выделяем диапазон ячеек в столбце D, по которым нужно выполнить подсчет ячеек определенного цвета.
Выполняем макрос, как показано на скриншоте ниже.
В результате вы увидите следующее сообщение с результатами:
Для этого примера мы выбрали столбец «Количество» и получили следующие цифры:
- Count — это количество ячеек определенного цвета, красного в нашем случае, который отмечает ячейки «Просрочен».
- Sum — это сумма значений всех красных ячеек в выбранной колонке, т.е. общее количество «Просроченных» заказов.
- Color — это шестнадцатеричный код цвета выбранной ячейки, в нашем случае D5.
Таким образом мы можем посчитать сумму и количество по цвету ячеек с условным форматированием.
Самый быстрый способ подсчета и суммирования ячеек по цвету в Excel
Я могу рекомендовать вам надстройку для Excel, которая бы считала и суммировала ячейки по указанному вами цвету или по всем цветам в выбранном диапазоне.
При этом не имеет значения, как установлены эти цвета – прямым форматированием ячейки либо при помощи условного форматирования.
Позвольте представить вам наш совершенно новый инструмент — «Счет и сумма по цвету» для Excel. Он имеет два варианта подсчета — «Один цвет» и «Все цвета», как видно на скриншоте ниже.
Подсчет и суммирование по одному цвету.
Вы нажимаете кнопку « Один цвет » на ленте, и в левой части рабочего листа открывается панель « Подсчет и сумма по цвету» . На панели вы выбираете:
- Диапазон, в котором вы хотите подсчитать и суммировать ячейки
- Любую ячейку с нужным цветом как образец
- Вариант — цвет фона или шрифта
После этого нажмите « Рассчитать » и сразу же увидите результат в нижней части панели! Помимо подсчета и суммы, надстройка вычисляет среднее значение и находит максимальное и минимальное значения. Никаких макросов, никаких формул, никакой боли
Обратите внимание, что подсчет возможен как по цвету фона, так и по цвету шрифта.
Подсчет и суммирование ячеек по всем цветам в выбранном диапазоне
Опция «Все цвета» работает в основном так же, за исключением того, что вам не нужно выбирать цвет. В разделе «Result for ..» вы можете выбрать любой из параметров: Количество, Сумма, Среднее, Максимальное или Минимальное значение и другие.
Если вы хотите скопировать результаты на свой рабочий лист, нажмите кнопку «Paste All…» в нижней части панели .
В настоящее время надстройка доступна как часть Ultimate Suite for Excel . Это коллекция отличных инструментов, специально разработанных для решения самых утомительных, кропотливых и подверженных ошибкам задач в Excel.
В дополнение к надстройке «Подсчет и суммирование по цвету», Ultimate Suite включает более 70 инструментов, которые помогут вам объединить данные из разных листов, удалить дубликаты, сравнить листы на совпадения и различия и многое другое.
Надеюсь, теперь сумма по цвету и подсчет ячеек по цвету для вас не будут сложными. Если же будут вопросы – не стесняйтесь задавать их в комментариях.
Вычисления по цвету ячеек
Помечать ячейки цветом, используя заливку или цвет шрифта, очень удобно и наглядно. Если вы не дальтоник, конечно Трудности возникают тогда, когда по такой раскрашенной таблице возникает необходимость сделать отчет. И если фильтровать и сортировать по цвету Excel в последних версиях научился, то суммировать по цвету до сих пор не умеет.
Чтобы исправить этот существенный недостаток можно использовать несложные пользовательские макрофункции на Visual Basic, которые позволят нам суммировать/подсчитывать количество/среднее арифметическое ячеек с определенным цветом заливки/шрифта.
На вкладке Разработчик (Developer) нажмите кнопку Visual Basic или сочетание клавиш Alt+F11, чтобы открыть редактор макросов. Если такой вкладки у вас не видно, то включите ее в настройках Файл — Параметры — Настройка ленты (File — Options — Customize Ribbon).
В окне редактора вставьте новый модуль через меню Insert — Module и скопируйте туда текст следующих функций:
Function CountByColor(DataRange As Range, ColorSample As Range) As Long Dim cell As Range, n As Long For Each cell In DataRange If cell.Interior.Color = ColorSample.Interior.Color Then n = n + 1 Next cell CountByColor = n End Function Function SumByColor(DataRange As Range, ColorSample As Range) As Double Dim cell As Range, total As Double For Each cell In DataRange If IsNumeric(cell) And cell.Interior.Color = ColorSample.Interior.Color Then total = total + cell.Value Next cell SumByColor = total End Function Function AverageByColor(DataRange As Range, ColorSample As Range) As Double Dim cell As Range, total As Double, n As Long For Each cell In DataRange If IsNumeric(cell) And cell.Interior.Color = ColorSample.Interior.Color Then total = total + cell.Value n = n + 1 End If Next cell AverageByColor = total / n End Function
Как легко сообразить, первая функция здесь вычисляет количество ячеек с заданным цветом заливки, вторая — сумму, а третья — среднее арифметическое. У всех функций два аргумента:
- DataRange — диапазон исходных ячеек с числами, раскрашенных в разные цвета
- ColorSample — ячейка, цвет заливки которой мы берём за образец
Если теперь вернуться в Excel, то в Мастере функций (вкладка Формулы — кнопка Вставить функцию) в появившейся там категории Определенные пользователем (User Defined) можно найти наши функции и вставить их на лист. Либо напрямую ввести их в строку формул, как любые другие функции Excel:
Добавление условий
Аналогичный подход можно легко масштабировать, добавляя, при необходимости, дополнительные условия в проверку (команда if … then…). Так, например, если нам нужно при вычислении среднего арифметического учитывать не только цвет заливки, но и цвет шрифта (т.е. считать не просто жёлтые, а именно жёлто-красные ячейки), то код нашей макро-функции будет выглядеть так:
Function AverageByColor2(DataRange As Range, ColorSample As Range) As Double Dim cell As Range, total As Double, n As Long For Each cell In DataRange If IsNumeric(cell) And cell.Interior.Color = ColorSample.Interior.Color And cell.Font.Color = ColorSample.Font.Color Then total = total + cell.Value n = n + 1 End If Next cell AverageByColor2 = total / n End Function
Разница только в добавленном через логическую связку «И» (and) условии на проверку соответствия цвета шрифта очередной проверяемой ячейки cell.Font.Color цвету шрифта ячейки-образца ColorSample.Font.Color.
Ограничения и нюансы пересчёта
У созданных нами макрофункций есть 2 важных нюанса.
Во-первых, эти функции «не видят» заливку, созданную с помощью условного форматирования, т.е. работают только с цветом, который был задан для ячеек вручную.
Во-вторых, к сожалению, изменение цвета заливки или цвета шрифта ячейки Excel не считает изменением её содержимого, поэтому не запускает пересчет формул. То есть при перекрашивании исходных ячеек с числами в другие цвета итоговая сумма/среднее/количество по нашим функциям автоматически пересчитываться пересчитываться не будет.
Полностью решить эту проблему невозможно, но есть несколько способов её обойти:
- Сделать двойной щелчок левой кнопкой мыши по ячейки с нашей формулой и нажать на Enter, т.е. имитировать повторный ввод функции в ячейку — Excel её заново пересчитает и выдаст обновленный результат.
- Можно использовать сочетание клавиш Ctrl+Alt+F9, которое принудительно заставит Excel пересчитать всё формулы и функции независимо от того, изменились ли для них исходные данные. Но это сочетание нужно будет не забывать нажимать каждый раз при изменении исходных данных.
- Добавить в код наших макрофункций (в любое место) команду Application.Volatile True. Эта команда языка Visual Basic заставляет Excel пересчитывать результаты нашей функции при изменении любой ячейки на листе (или по нажатию F9). Однако, в этом случае, скорость работы наших функций заметно снизится, т.к. их пересчёт будет происходить постоянно — даже когда мы не меняли цвета или значения ячеек в исходных данных. Пользуйтесь этим методом осторожно.
И помните о том, что наша функция перебирает все (и пустые тоже) ячейки в диапазоне DataRange и не задавайте в качестве первого аргумента целый столбец — «думать» будет долго
Ссылки по теме
- Сортировка строк по цвету
- Функции подсчета количества и суммы ячеек по цвету из надстройки PLEX
- Что такое «ад условного форматирования» и как его победить
Сложение значений в зависимости от цвета ячеек в MS EXCEL
Просуммируем значения ячеек в зависимости от цвета их заливки. Здесь же покажем, как подсчитать такие ячейки.
Функции для суммирования значений по цвету ячеек в EXCEL не существует (по крайней мере, в EXCEL 2016 и в более ранних версиях). Вероятно, подавляющему большинству пользователей это не требуется.
Пусть дан диапазон ячеек в столбце А. Пользователь выделил цветом ячейки, чтобы разбить значения по группам.
Необходимо сложить значения ячеек в зависимости от цвета фона. Основная задача: Как нам «объяснить» функции сложения, что нужно складывать значения, например, только зеленых ячеек?
Это можно сделать разными способами, приведем 3 из них: с помощью Автофильтра, Макрофункции ПОЛУЧИТЬ.ЯЧЕЙКУ() и VBA.
С помощью Автофильтра (ручной метод)
- Добавьте справа еще один столбец с заголовком Код цвета.
- Выделите заголовки и нажмите CTRL+SHIFT+L, т.е. вызовите Автофильтр (подробнее здесь)
- Вызовите меню Автофильтра, выберите зеленый цвет
- Будут отображены только строки с зелеными ячейками
- Введите напротив каждого «зеленого» значения число 1
- Сделайте тоже для всех цветов
Введите формулу =СУММЕСЛИ(B7:B17;E7;A7:A17) как показано в файле примера (лист Фильтр) .
Для подсчета значений используйте функцию СЧЕТЕСЛИ() .
С помощью Макрофункции ПОЛУЧИТЬ.ЯЧЕЙКУ()
Сразу предупрежу, что начинающему пользователю EXCEL будет сложно разобраться с этим и следующим разделом.
Идея заключается в том, чтобы автоматически вывести в соседнем столбце числовой код фона ячейки (в MS EXCEL все цвета имеют соответствующий числовой код). Для этого нам потребуется функция, которая может вернуть этот код. Ни одна обычная функция этого не умеет. Используем макрофункцию ПОЛУЧИТЬ.ЯЧЕЙКУ(), которая возвращает код цвета заливки ячейки (она может много, но нам потребуется только это ее свойство).
Примечание: Макрофункции — это набор функций к EXCEL 4-й версии, которые нельзя напрямую использовать на листе EXCEL современных версий, а можно использовать только в качестве Именованной формулы. Макрофункции — промежуточный вариант между обычными функциями и функциями VBA. Для работы с этими функциями требуется сохранить файл в формате с макросами *.xlsm
- Сделайте активной ячейку В7(это важно, т.к. мы будем использовать относительную адресацию в формуле)
- В Диспетчере имен введите формулу =ПОЛУЧИТЬ.ЯЧЕЙКУ(63;Макрофункция!A7)
- Назовите ее Цвет
- Закройте Диспетчер имен
- Введите в ячейку В7формулу =Цвет и скопируйте ее вниз.
Сложение значений организовано так же как и в предыдущем разделе.
Макрофункция работает кривовато:
- если вы измените цвет ячейки, то макрофункция не обновит значения кода (для этого нужно опять скопировать формулу из В7вниз или выделить ячейку, нажать клавишу F2 и затем ENTER)
- функция возвращает только 56 цветов (так называемая палитра EXCEL), т.е. если цвета близки, например, зеленый и светло зеленый, то коды этих цветов могут совпасть. Подробнее об этом см. лист файла примера Colors . Как следствие, будут сложены значения из ячеек с разными цветами.
С помощью VBA
В файле примера на листе VBA приведено решение с помощью VBA. Решений может быть множество:
- можно создать кнопку, после нажатия она будет вводить код цвета в соседний столбец (реализован этот вариант).
- можно написать пользовательскую функцию, которая будет автоматически обновлять код цвета при изменении цвета ячейки (реализовать несколько сложнее);
- можно написать программу, которая будет анализировать диапазон цветных ячеек, определять количество различных цветов, вычислять в отдельном диапазоне суммы для каждого цвета (реализовать не сложно, но у каждого пользователя свои требования: ячейки с суммами должны быть в определенном месте, необходимо учесть возможность дополнения диапазона новыми значениями и пр.).
Количество и сумма ячеек по цвету в Excel
Разберем простые способы как посчитать количество, и как суммировать ячейки по цвету в Excel.
Мы часто при работе в Excel окрашиваем ячейки различными цветами для лучшей визуализации данных.
Однако, когда возникает необходимость произвести какие-либо расчеты с обработанными данными мы сталкиваемся с трудностями в связи с малыми возможностями стандартных средств Excel.
Рассмотрим две простые функции, которые дают возможность суммировать ячейки, и посчитать количество выделенных цветом ячеек.
Суммирование ячеек по цвету
Перейдем в редактор VBA, для этого в панели вкладок выбираем Разработчик -> Visual Basic (или нажимаем комбинацию клавиш Alt + F11).
Создаем новый модуль и добавляем в него следующий код (напротив каждой строчки дается пояснение к коду):
Функция СУММЦВЕТ содержит два аргумента:
- MyRange(обязательный аргумент) — диапазон ячеек для суммирования;
- MyCell(обязательный аргумент) — ячейка, по цвету заливки которой рассчитывается сумма.
Функция СУММЦВЕТ теперь будет определяться при вводе формулы в ячейку, переходим из редактора на лист Excel и воспользуемся новой функцией:
При этом, если выбранная ячейка не имеет заливки, то функция суммы ячеек по выбранному цвету также будет работать.
Подсчет количества ячеек по цвету
Чтобы посчитать ячейки одного цвета достаточно немного видоизменить функцию для подсчета суммы — вместо прибавления значения текущей ячейки (Sum = Sum + cell.Value) мы добавляем 1 (Sum = Sum + 1).
При работе с данными функциями обратите внимание на два важных момента:
- Если цвет выбранной ячейки определяется с помощью условного форматирования (т.е. цвет ячейки определяется не за счет заливки), то рассмотренные функции не сработают.
- В случае изменения раскраски ячейки в Excel формулы автоматически не пересчитываются, так как не изменяется содержимое ячейки, поэтому для корректного расчета необходимо произвести пересчет формул. Комбинация клавиш Shift + F9 пересчитает формулы на активном листе (F9 — для всей книги).
Сумма ячеек по цвету
Помечать ячейки цветом, используя заливку или цвет шрифта, очень удобно и наглядно. Если вы не дальтоник, конечно 🙂 Трудности возникают тогда, когда по такой раскрашенной таблице возникает необходимость сделать отчет. И если фильтровать и сортировать по цвету Excel в последних версиях научился, то суммировать по цвету до сих пор не умеет.
Чтобы исправить этот существенный недостаток можно использовать несложную пользовательскую функцию на Visual Basic, которая позволит нам суммировать ячейки с определенным цветом.
Откройте редактор Visual Basic:
- В Excel 2003 и старше для этого нужно выбрать в меню Сервис — Макрос — Редактор Visual Basic (Tools — Macro — Visual Basic Editor)
- В новых версиях Excel 2007-2013 перейти на вкладку Разработчик (Developer) и нажать кнопку Visual Basic. Если такой вкладки у вас не видно, то включите ее в настройках Файл — Параметры — Настройка ленты (File — Options — Customize Ribbon)
В окне редактора вставьте новый модуль через меню Insert — Module и скопируйте туда текст вот такой функции:
Если теперь вернуться в Excel, то в Мастере функций (Вставка — Функция) в появившейся там категории Определенные пользователем (User Defined) можно найти нашу функцию и вставить ее на лист:
У нее два аргумента:
- DataRange — диапазон раскрашенных ячеек с числами
- ColorSample — ячейка, цвет которой принимается как образец для суммирования
Цвет шрифта
Легко изменить нашу функцию, чтобы она учитывала не цвет заливки фона, а цвет шрифта ячейки. Для этого в строке 6 просто замените свойство Interior на Font в обеих частях выражения.
Количество вместо суммы
Если вам нужно подсчитывать не сумму покрашенных определенным цветом ячеек, а всего лишь их количество, то наша функция будет еще проще. Замените в ней 7-ю строку на:
Нюансы пересчета
К сожалению изменение цвета заливки или цвета шрифта ячейки Excel не считает изменением ее содержимого, поэтому не запускает пересчет формул. То есть при перекрашивании исходных ячеек с числами в другие цвета итоговая сумма по нашей функции пересчитываться не будет.
Полностью решить эту проблему невозможно, но можно ее существенно облегчить. Для этого в третьей строке нашей функции используется команда Application.Volatile True. Она заставляет Excel пересчитывать результаты нашей функции при изменении любой ячейки на листе (или по нажатию F9).
И помните о том, что наша функция перебирает все (и пустые тоже) ячейки в диапазоне DataRange и не задавайте в качестве первого аргумента целый столбец — «думать» будет долго 🙂
Как в Excel выделить ячейки цветом по условию
Допустим, что одним из наших заданий является ввод информации о том, делал ли заказ клиент в текущем месяце. После чего на основе полученной информации необходимо выделить цветом ячейки по условию: какой из клиентов не совершил ни одного заказа на протяжении последних 3-х месяцев. Для таких клиентов нужно будет повторно выслать предложение.
Естественно это задание для Экселя. Программа должна автоматически найти таких контрагентов и соответственно выделить их цветом. Для этих условий будем использовать условное форматирование.
Автоматическое заполнение ячеек датами
Сначала подготовим структуру для заполнения регистра. В первую очередь условно рассмотрим готовый пример автоматизированного регистра, который изображен ниже на рисунке:
Пользователю только необходимо указать если клиент совершал заказ в текущем месяце, то в соответствующую ячейку следует вводить текстовое значение «заказ». Главное условие для выделения: если на протяжении 3-х месяцев контрагент не сделал ни одного заказа, его номер автоматически выделяется красным цветом.
Представленное данное решение должно автоматизировать некоторые рабочие процессы и упростить визуальный анализ данных.
Автоматическое заполнение ячеек актуальными датами
В первую очередь для регистра с номерами клиентов создадим заголовки столбцов с зеленым цветом и актуальными месяцами, которые будут автоматически отображать периоды времени. Для этого в ячейку B1 введите следующую формулу:
Как работает формула для автоматической генерации уходящих месяцев?
На рисунке формула возвращает период уходящего времени начиная даты написания статьи: 17.09.2017. В первом аргументе в функции DATA – вложена формула, которая всегда возвращает текущий год на сегодняшнюю дату благодаря функциям: ГОД и СЕГОНЯ. Во втором аргументе указан номер месяца (-1). Отрицательное число значит, что нас интересует какой был месяц в прошлом времени. Пример условий для второго аргумента со значением:
- 1 – значит первый месяц (январь) в году указанном в первом аргументе;
- 0 – это 1 месяца назад;
- -1 – это 2 мес. назад от начала текущего года (то есть: 01.10.2016).
Последний аргумент – это номер дня месяца указано во втором аргументе. В результате функция ДАТА собирает все параметры в одно значение и формула возвращает соответственную дату.
Далее перейдите в ячейку C1 и введите следующую формулу:
Как видно теперь функция ДАТА использует значение из ячейки B1 и увеличивает номер месяца на 1 по отношению к предыдущей ячейки. В результате получаем 1 – число следующего месяца.
Теперь скопируйте эту формулу из ячейки C1 в остальные заголовки столбцов диапазона D1:L1.
Выделите диапазон ячеек B1:L1 и выберите инструмент: «ГЛАВНАЯ»-«Ячейки»-«Формат ячеек» или просто нажмите комбинацию клавиш CTRL+1. В появившемся диалоговом окне, на вкладке «Число», в разделе «Числовые форматы:» выберите опцию «(все форматы)». В поле «Тип:» введите значение: МММ.ГГ (обязательно буквы в верхнем регистре). Благодаря этому мы получим укороченное отображение значения дат в заголовках регистра, что упростит визуальный анализ и сделает его более комфортным за счет лучшей читабельности.
Обратите внимание! При наступлении января месяца (D1), формула автоматически меняет в дате год на следующий.
Как выделить столбец цветом в Excel по условию
Теперь необходимо выделить ячейки цветом, касающиеся текущего месяца. Благодаря этому мы с легкостью найдем столбец, в который нужно вводить актуальные данные в этом месяце. Для этого:
- Выделите диапазон ячеек B2:L15 и выберите инструмент: «ГЛАВНАЯ»-«Стили»-«Условное форматирование»-«Создать правило». А в появившемся окне «Создание правила форматирования» выберите опцию: «Использовать формулу для определения форматируемых ячеек»
- В поле ввода введите формулу:
- Щелкните на кнопку «Формат» и укажите на вкладке «Заливка» каким цветом будут выделены ячейки актуального месяца. Например – зеленый. После чего на всех окнах для подтверждения нажмите на кнопку «ОК».
Столбец под соответствующим заголовком регистра автоматически подсвечивается зеленым цветом соответственно с нашими условиями:
Как работает формула выделения столбца цветом по условию?
Благодаря тому, что перед созданием правила условного форматирования мы охватили всю табличную часть для введения данных регистра, форматирование будет активно для каждой ячейки в этом диапазоне B2:L15. Смешанная ссылка в формуле B$1 (абсолютный адрес только для строк, а для столбцов – относительный) обусловливает, что формула будет всегда относиться к первой строке каждого столбца.
Автоматическое выделение цветом столбца по условию текущего месяца
Главное условие для заполнения цветом ячеек: если в диапазоне B1:L1 находиться та же дата, что и первого дня текущего месяца, тут же ячейки в целом столбце изменяют свой цвет на указанный в условном форматировании.
Обратите внимание! В условиях этой формулы, для последнего аргумента функции ДАТА указано значение 1, так же, как и для формул в определении дат для заголовков столбцов регистра.
В нашем случаи — это зеленая заливка ячеек. Если мы откроем наш регистр в следующем месяце, то уже ему соответствующий столбец будет выделен зеленым цветом в независимости от текущего дня.
Табличная часть сформатирована, теперь заполним ее текстовым значением «заказ» в смешанном порядке клиентов для текущего и прошлых месяцев.
Как выделить ячейки красным цветом по условию
Теперь нам необходимо выделить красным цветом ячейки с номерами клиентов, которые на протяжении 3-х месяцев не совершили ни одного заказа. Для этого:
- Выделите диапазон ячеек A2:A15 (то есть список номеров клиентов) и выберите инструмент: «ГЛАВНАЯ»-«Стили»-«Условное форматирование»-«Создать правило». А в появившемся окне «Создание правила форматирования» выберите опцию: «Использовать формулу для определения форматируемых ячеек»
- В этот раз в поле ввода введите формулу:
- Щелкните на кнопку «Формат» и укажите красный цвет на вкладке «Заливка». После чего на всех окнах нажмите «ОК».
- Заполоните ячейки текстовым значением «заказ» как на рисунке и посмотрите на результат:
Номера клиентов подсвечиваются красным цветом, если в их строке нет значения «заказ» в последних трех ячейках к текущему месяцу (включительно).
Анализ формулы для выделения цветом ячеек по условию:
Сначала займемся средней частью нашей формулы. Функция СМЕЩ возвращает ссылку на диапазон смещенного по отношении к области базового диапазона определенной числом строк и столбцов. Возвращаемая ссылка может быть одной ячейкой или целым диапазоном ячеек. Дополнительно можно определить количество возвращаемых строк и столбцов. В нашем примере функция возвращает ссылку на диапазон ячеек для последних 3-х месяцев.
Важная часть для нашего условия выделения цветом находиться в первом аргументе функции СМЕЩ. Он определяет, с какого месяца начать смещение. В данном примере – это ячейка D2, то есть начало года – январь. Естественно для остальных ячеек в столбце номер строки для базовой ячейки будет соответствовать номеру строки в котором она находиться. Следующие 2 аргумента функции СМЕЩ определяют на сколько строк и столбцов должно быть выполнено смещение. Так как вычисления для каждого клиента будем выполнять в той же строке, значение смещения для строк указываем –¬ 0.
В тоже время для вычисления значения третьего аргумента (смещение по столбцам) используем вложенную формулу МЕСЯЦ(СЕГОДНЯ()), Которая в соответствии с условиями возвращает номер текущего месяца в текущем году. От вычисленного формулой номера месяца отнимаем число 4, то есть в случаи Ноября получаем смещение на 8 столбцов. А, например, для Июня – только на 2 столбца.
Последнее два аргумента для функции СМЕЩ определяют высоту (в количестве строк) и ширину (в количестве столбцов) возвращаемого диапазона. В нашем примере – это область ячеек с высотой на 1-ну строку и шириной на 4 столбца. Этот диапазон охватывает столбцы 3-х предыдущих месяцев и текущий.
Первая функция в формуле СЧЕТЕСЛИ проверяет условия: сколько раз в возвращаемом диапазоне с помощью функции СМЕЩ встречается текстовое значение «заказ». Если функция возвращает значение 0 – значит от клиента с таким номером на протяжении 3-х месяцев не было ни одного заказа. А в соответствии с нашими условиями, ячейка с номером данного клиента выделяется красным цветом заливки.
Если мы хотим регистрировать данные по клиентам, Excel идеально приспособлен для этой цели. С легкостью можно записывать в соответствующие категории число заказанных товаров, а также даты реализации транзакций. Проблема постепенно начинает возникать с ростом объема данных.
Если их так много, что тратим несколько минут на поиск конкретной позиции регистра и анализ введенной информации. В таком случае стоит добавить в таблицу регистра механизмы, для автоматизации некоторых рабочих процессов пользователя. Что мы и сделали.
В Microsoft Excel, при создании таблиц, очень удобно и наглядно помечать ячейки цветом. Но что делать, если нам понадобиться суммировать значения ячеек одного цвета? По умолчанию, данной функции в Excel до сих пор нет. Решить эту проблему можно написав макрос в Visual Basic.
Для этого в Excel версии 2007-2013 переходим на вкладку Разработчик и нажимаем Visual Basic.
Если такой вкладки нет, то включаем ее следующим образом: Файл/Параметры/Настройка ленты и ставим галочку напротив слова Разработчик.
В открывшемся окне редактора нажимаем Insert/Module и копируем туда следующий текст:
Public Function SumByColor(DataRange As Range, ColorSample As Range) As Double Dim Sum As Double Application.Volatile True For Each cell In DataRange If cell.Interior.Color = ColorSample.Interior.Color Then Sum = Sum + cell.Value End If Next cell SumByColor = Sum End Function
Сохраняем изменения. Далее в Excel на вкладке Формулы выбираем пункт Вставить функцию. Необходимо выбрать категорию Определенные пользователем – тогда отобразится наша функция – SumByColor.
У этой функции 2 аргументы:
DataRange – диапазон ячеек с числами;
ColorSample – ячейка, цвет которой является образцом для суммирования.
Вот и все. Данная функция корректно работает на последних версиях Excel. Надеюсь, она пригодится Вам при составлении отчетов.
Содержание
- Процедура изменения цвета ячеек в зависимости от содержимого
- Способ 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 2016 и в более ранних версиях). Вероятно, подавляющему большинству пользователей это не требуется.
Пусть дан диапазон ячеек в столбце А. Пользователь выделил цветом ячейки, чтобы разбить значения по группам.
Необходимо сложить значения ячеек в зависимости от цвета фона. Основная задача: Как нам «объяснить» функции сложения, что нужно складывать значения, например, только зеленых ячеек?
Это можно сделать разными способами, приведем 3 из них: с помощью
Автофильтра
, Макрофункции ПОЛУЧИТЬ.ЯЧЕЙКУ() и VBA.
С помощью Автофильтра (ручной метод)
-
Добавьте справа еще один столбец с заголовком
Код цвета
. -
Выделите заголовки и нажмите CTRL+SHIFT+L, т.е. вызовите
Автофильтр
(подробнее здесь
)
-
Вызовите меню
Автофильтра
, выберите зеленый цвет
- Будут отображены только строки с зелеными ячейками
- Введите напротив каждого «зеленого» значения число 1
- Сделайте тоже для всех цветов
Введите формулу
=СУММЕСЛИ(B7:B17;E7;A7:A17)
как показано в
файле примера (лист Фильтр)
.
Для
подсчета значений
используйте функцию
СЧЕТЕСЛИ()
.
С помощью Макрофункции ПОЛУЧИТЬ.ЯЧЕЙКУ()
Сразу предупрежу, что начинающему пользователю EXCEL будет сложно разобраться с этим и следующим разделом.
Идея заключается в том, чтобы автоматически вывести в соседнем столбце числовой код фона ячейки (в MS EXCEL все цвета имеют соответствующий числовой код). Для этого нам потребуется функция, которая может вернуть этот код. Ни одна обычная функция этого не умеет. Используем макрофункцию ПОЛУЧИТЬ.ЯЧЕЙКУ(), которая возвращает код цвета заливки ячейки (она может много, но нам потребуется только это ее свойство).
Примечание:
Макрофункции — это набор функций к EXCEL 4-й версии, которые нельзя напрямую использовать на листе EXCEL современных версий, а можно использовать только в качестве
Именованной формулы
. Макрофункции — промежуточный вариант между обычными функциями и функциями VBA. Для работы с этими функциями требуется сохранить файл в формате с макросами *.xlsm
-
Сделайте активной ячейку
В7
(это важно, т.к. мы будем использоватьотносительную адресацию
в формуле)
-
В
Диспетчере имен
введите формулу =ПОЛУЧИТЬ.ЯЧЕЙКУ(63;Макрофункция!A7)
- Назовите ее Цвет
- Закройте Диспетчер имен
-
Введите в ячейку
В7
формулу =Цвет и скопируйте ее вниз.
Сложение значений организовано так же как и в предыдущем разделе.
Макрофункция работает кривовато:
-
если вы измените цвет ячейки, то макрофункция не обновит значения кода (для этого нужно опять скопировать формулу из
В7
вниз или выделить ячейку, нажать клавишу
F2
и затем
ENTER
) -
функция возвращает только 56 цветов (так называемая палитра EXCEL), т.е. если цвета близки, например, зеленый и светло зеленый, то коды этих цветов могут совпасть. Подробнее об этом
см. лист файла примера Colors
. Как следствие, будут сложены значения из ячеек с разными цветами.
С помощью VBA
В
файле примера на листе VBA
приведено решение с помощью VBA. Решений может быть множество:
- можно создать кнопку, после нажатия она будет вводить код цвета в соседний столбец (реализован этот вариант).
- можно написать пользовательскую функцию, которая будет автоматически обновлять код цвета при изменении цвета ячейки (реализовать несколько сложнее);
- можно написать программу, которая будет анализировать диапазон цветных ячеек, определять количество различных цветов, вычислять в отдельном диапазоне суммы для каждого цвета (реализовать не сложно, но у каждого пользователя свои требования: ячейки с суммами должны быть в определенном месте, необходимо учесть возможность дополнения диапазона новыми значениями и пр.).
В процессе подготовки разного рода ранжирования или анализа показателей успешности, очень удобно если выделить цветом наилучший или наихудший результат. Как выделить максимальное значение в Excel цветом? Здесь существенно поможет условное форматирование. Преимуществом такого подхода является сохранение работоспособности автоматического выделения цветом лучших/худших показателей даже при добавлении или удалении данных из таблицы.
Как выделить цветом максимальное значение в Excel
Для примера возьмем таблицу расходов:
Чтобы молниеносно выделить наибольшие и наименьшие расходы делаем следующее:
- Выделите диапазон с расходами B2:B10 и выберите инструмент: «ГЛАВНАЯ»-«Стили»-«Условное форматирование»-«Создать правило».
- Выберите: «Использовать формулу для определения форматируемых ячеек».
- В поле ввода введите формулу: =МАКС($B$2:$B$10)=B2
- Нажмите на кнопку «Формат», чтобы выделить максимальное значение в столбце Excel. Для этого в появившемся окне «Формат ячеек» на вкладке «Заливка» выберите желаемый цвет заливки для ячеек. Например, зеленый. И нажмите ОК на всех открытых окнах.
В результате мы выделили цветом ячейку с максимальным числовым значением.
Как выбрать минимальное значение в Excel
Чтобы выделить цветом минимальное значение в Excel, повторите весь порядок действий, описанных выше. Только вместо функции МАКС, должна быть функция МИН. Данная функция позволяет выбрать наименьшее значение в таблице Excel. А вместо зеленого цвета заливки выберите красный цвет.
К одному и тому же диапазону должно быть применено 2 правила условного форматирования. Чтобы проверить выберите инструмент: «ГЛАВНАЯ»-«Стили»-«Условное форматирование»-«Управление правилами»
Финальный эффект применения двух правил условного форматирования для выделения цветом наибольшего и наименьшего значения столбца B (Расходы):
Принцип действий обоих правил одинаковый. Они отличаются только функциями =МАКС() и =МИН(). Более того аргументы функций идентичны. Первая функция =МАКС() ищет в несменяемом диапазоне с абсолютными ссылками $B$2:$B$10 максимальное значение. После функции стоит оператор сравнения с изменяемой текущей ячейкой которая имеет относительную ссылку начиная от B2. Правило условного форматирования читает данную формулу так: если число больше всех, то выделить цветом. Как только совпадает максимальное число (которое возвращает функция МАКС) со значением текущей ячейки, формула возвращает логическое значение ИСТИНА и сразу же применяется формат со соответствующим цветом заливки. Так же срабатывает правило для умного форматирования ячеек столбца и с функцией МИН.
Выделение цветом трех наименьших значений подряд
В разных ситуациях полезно применяется автоматическое выделение цветом трех ячеек с наименьшими значениями. Условное форматирование со соответственными формулами прекрасно справляется с данной задачей. Таблица с данными для примера:
Усложним немного задачу. Ячейка с наименьшим значением должна автоматически получить красный цвет заливки. Следующая ячейка с вторым наименьшим значением получит цвет заливки оранжевый. А третье наименьшее значение – желтый.
Чтобы добиться данного эффекта следует выполнить следующие действия:
- Выделите диапазон ячеек B2:B9 и выберите инструмент: «ГЛАВНАЯ»-«Стили»-«Условное форматирование»-«Создать правило»-«Использовать формулу для определения форматируемых ячеек».
- В поле ввода введите формулу: =НАИМЕНЬШИЙ($B$2:$B$9;1)=B2 и нажмите на кнопку «Формат», чтобы задать красный цвет заливки для ячейки. И нажмите ОК на всех открытых окнах.
- Не снимая выделения с диапазона B2:B9 сразу же создаем второе правило условного форматирования. Снова выберите инструмент: «ГЛАВНАЯ»-«Стили»-«Условное форматирование»-«Создать правило»-«Использовать формулу для определения форматируемых ячеек».
- В поле ввода введите формулу: =НАИМЕНЬШИЙ($B$2:$B$9;2)=B2 и нажмите на кнопку «Формат», чтобы задать оранжевый цвет заливки для ячейки. И нажмите ОК на всех окнах.
- Создайте третье правило. А в поле ввода введите формулу: =НАИМЕНЬШИЙ($B$2:$B$9;3)=B2 и нажмите на кнопку «Формат», чтобы задать желтый цвет заливки для ячейки. ОК на всех окнах.
- К одному и тому же диапазону должно быть применено 3 правила условного форматирования. Чтобы проверить выберите инструмент: «ГЛАВНАЯ»-«Стили»-«Условное форматирование»-«Управление правилами».
Три наименьшие значения автоматически выделились разными цветами.
Внимание! Если просматриваемый диапазон содержит несколько одинаковых минимальных значений все они будут выделены цветом.
Аналогичным способом можно выделять цветом наибольшие значения. Просто изменить в формуле функцию НАИМЕНЬШИЙ на НАИБОЛЬШИЙ. Например: =НАИБОЛЬШИЙ($B$2:$B$9;3)=B2
Функция наименьший и наибольший в Excel
Функция =НАИМЕНЬШИЙ() ищет в заданном (в первом аргументе) диапазоне очередное наименьшее значение. Очередь указана во втором аргументе функции. То есть если во втором аргументе мы указали число 3, значит функция возвращает третье по очереди наименьшее значение заданного диапазона $B$2:$B$9. Если результат вычисления функции равен текущей ячейке значит к ней присваивается соответственный формат (цвет заливки). Важно отметить что в формуле для просмотра диапазона мы используем абсолютные адреса ссылки, а после оператора сравнения =B2 – относительные, так как значение функции сравнивается с каждой ячейкой выделенного диапазона. А функция НАИБОЛЬШИЙ работает обратно пропорционально.
Полезный совет! Если нет необходимости разбивать 3 наименьших значения на разные цвета, тогда необязательно создавать 3 правила условного форматирования для одного и того же диапазона. Достаточно просто немного изменить формулу добавив всего один символ оператора: =НАИМЕНЬШИЙ($B$2:$B$9;3)>=B2. То есть – больше или равно.
Все описанные способы хороши тем, что при изменении значений в ячейках они все равно будут работать автоматически.
Содержание
- Как в Excel динамически изменять цвет ячейки, основываясь на её значении
- Как настроить постоянный цвет ячейки, основываясь на её текущем значении
- Найти и выделить все ячейки, удовлетворяющие заданному условию
- Свойство .Interior.Color объекта Range
- Заливка ячейки цветом в VBA Excel
- Вывод сообщений о числовых значениях цветов
- С помощью Автофильтра (ручной метод)
- С помощью Макрофункции ПОЛУЧИТЬ.ЯЧЕЙКУ()
- Описание работы функции
- Процедура изменения цвета ячеек в зависимости от содержимого
- Условное форматирование
- Инструкция для Excel 2010
- Количество вместо суммы
Цвет заливки будет изменяться в зависимости от значения ячейки.
Задача: Имеется таблица или диапазон данных, и Вы хотите изменить цвет заливки ячеек, основываясь на их значениях. Более того, необходимо, чтобы этот цвет изменялся динамически, отражая изменения данных в ячейках.
Решение: Используйте условное форматирование в Excel, чтобы выделить значения больше X, меньше Y или между X и Y.
Предположим, есть список цен на бензин в разных штатах, и Вы хотите, чтобы цены, превышающие $3.7, были выделены красным, а меньшие или равные $3.45 – зелёным.
Замечание: Снимки экрана для этого примера были сделаны в Excel 2010, однако, в Excel 2007 и 2013 кнопки, диалоговые окна и настройки будут точно такие же или с незначительными отличиями.
Итак, вот, что нужно сделать по шагам:
- Выделите таблицу или диапазон, в котором Вы хотите изменить цвет заливки ячеек. В этом примере мы выделяем $B$2:$H$10 (заголовки столбцов и первый столбец, содержащий названия штатов, не выделяем).
- Откройте вкладку Home (Главная), в разделе Styles (Стили) нажмите Conditional Formatting (Условное форматирование) > New Rule (Создать правило).
- В верхней части диалогового окна New Formatting Rule (Создание правила форматирования) в поле Select a Rule Type (Выберите тип правила) выберите Format only cells that contain (Форматировать только ячейки, которые содержат).
- В нижней части диалогового окна в поле Format Only Cells with (Форматировать только ячейки, для которых выполняется следующее условие) настройте условия для правила. Мы выбираем форматировать только ячейки с условием: Cell Value (Значение ячейки) – greater than (больше) – 3.7, как показано на рисунке ниже.Далее нажмите кнопку Format (Формат), чтобы выбрать, какой цвет заливки должен быть применён, если выполняется заданное условие.
- В появившемся диалоговом окне Format Cells (Формат ячеек) откройте вкладку Fill (Заливка) и выберите цвет (мы выбрали красноватый) и нажмите ОК.
- После этого Вы вернетесь в окно New Formatting Rule (Создание правила форматирования), где в поле Preview (Образец) будет показан образец Вашего форматирования. Если всё устраивает, нажмите ОК.
Результат Ваших настроек форматирования будет выглядеть приблизительно так:
Так как нам нужно настроить ещё одно условие, позволяющее изменять цвет заливки на зелёный для ячеек со значениями меньшими или равными 3.45, то снова нажимаем кнопку New Rule (Создать правило) и повторяем шаги с 3 по 6, устанавливая нужное правило. Ниже виден образец созданного нами второго правила условного форматирования:
Когда все будет готово – жмите ОК. Теперь у Вас имеется мило отформатированная таблица, которая даёт возможность с первого взгляда увидеть максимальные и минимальные цены на бензин в разных штатах. Хорошо им там, в Техасе!
Совет: Таким же способом Вы можете изменять цвет шрифта в зависимости от значения ячейки. Для этого просто откройте вкладку Font (Шрифт) в диалоговом окне Format Cells (Формат ячеек), как мы это делали на шаге 5, и выберите желаемый цвет шрифта.
Как настроить постоянный цвет ячейки, основываясь на её текущем значении
Однажды настроенный цвет заливки не будет изменяться, вне зависимости от того, как в будущем изменится содержимое ячейки.
Задача: Вы хотите настроить цвет ячейки, основываясь на её текущем значении, и хотите, чтобы цвет заливки оставался неизменным, даже когда значение ячейки изменяется.
Решение: Найти все ячейки с определённым значением (или значениями) при помощи инструмента Find All (Найти все), а затем изменить формат найденных ячеек, используя диалоговое окно Format Cells (Формат ячеек).
Это одна из тех редких задач, по которым нет разъяснения в файлах справки Excel, на форумах или в блогах, и для которых нет прямого решения. И это понятно, так как эта задача не типичная. И всё же, если Вам нужно изменить цвет заливки ячеек окончательно, то есть раз и на всегда (либо пока Вы не измените его вручную), выполните следующие шаги.
Найти и выделить все ячейки, удовлетворяющие заданному условию
Тут возможно несколько сценариев, в зависимости от того, значения какого типа Вы ищите.
Если Вы хотите раскрасить ячейки с конкретным значением, например, 50, 100 или 3.4 – то на вкладке Home (Главная) в разделе Editing (Редактирование) нажмите Find Select (Найти и выделить) > Find (Найти).
Введите нужное значение и нажмите Find All (Найти все).
Совет: В правой части диалогового окна Find and Replace (Найти и заменить) есть кнопка Options (Параметры), нажав которую Вы получите доступ к ряду продвинутых настроек поиска, таких как Match Case (Учитывать регистр) и Match entire cell content (Ячейка целиком). Вы можете использовать символы подстановки, такие как звёздочка (*), чтобы найти любую строку символов, или знак вопроса (?), чтобы найти один любой символ.
Что касается предыдущего примера, если нам нужно найти все цены на бензин от 3.7 до 3.799, то мы зададим такие критерии поиска:
Теперь кликните любой из найденных элементов в нижней части диалогового окна Find and Replace (Найти и заменить) и нажмите Ctrl+A, чтобы выделить все найденные записи. После этого нажмите кнопку Close (Закрыть).
Вот так можно выделить все ячейки с заданным значением (значениями) при помощи опции Find All (Найти все) в Excel.
Однако, в действительности нам нужно найти все цены на бензин, превышающие $3.7. К сожалению, инструмент Find and Replace (Найти и заменить) в этом не сможет нам помочь.
Свойство .Interior.Color объекта Range
Начиная с Excel 2007 основным способом заливки диапазона или отдельной ячейки цветом (зарисовки, добавления, изменения фона) является использование свойства .Interior.Color объекта Range путем присваивания ему значения цвета в виде десятичного числа от 0 до 16777215 (всего 16777216 цветов).
Заливка ячейки цветом в VBA Excel
Пример кода 1:
Sub ColorTest1() Range(“A1”).Interior.Color = 31569 Range(“A4:D8”).Interior.Color = 4569325 Range(“C12:D17”).Cells(4).Interior.Color = 568569 Cells(3, 6).Interior.Color = 12659 End Sub |
Поместите пример кода в свой программный модуль и нажмите кнопку на панели инструментов «Run Sub» или на клавиатуре «F5», курсор должен быть внутри выполняемой программы. На активном листе Excel ячейки и диапазон, выбранные в коде, окрасятся в соответствующие цвета.
Есть один интересный нюанс: если присвоить свойству .Interior.Color отрицательное значение от -16777215 до -1, то цвет будет соответствовать значению, равному сумме максимального значения палитры (16777215) и присвоенного отрицательного значения. Например, заливка всех трех ячеек после выполнения следующего кода будет одинакова:
Sub ColorTest11() Cells(1, 1).Interior.Color = –12207890 Cells(2, 1).Interior.Color = 16777215 + (–12207890) Cells(3, 1).Interior.Color = 4569325 End Sub |
Проверено в Excel 2016.
Вывод сообщений о числовых значениях цветов
Числовые значения цветов запомнить невозможно, поэтому часто возникает вопрос о том, как узнать числовое значение фона ячейки. Следующий код VBA Excel выводит сообщения о числовых значениях присвоенных ранее цветов.
Пример кода 2:
Sub ColorTest2() MsgBox Range(“A1”).Interior.Color MsgBox Range(“A4:D8”).Interior.Color MsgBox Range(“C12:D17”).Cells(4).Interior.Color MsgBox Cells(3, 6).Interior.Color End Sub |
Вместо вывода сообщений можно присвоить числовые значения цветов переменным, объявив их как Long.
С помощью Автофильтра (ручной метод)
- Добавьте справа еще один столбец с заголовком Код цвета .
- Выделите заголовки и нажмите CTRL+SHIFT+L, т.е. вызовите Автофильтр ( подробнее здесь )
- Вызовите меню Автофильтра , выберите зеленый цвет
- Будут отображены только строки с зелеными ячейками
- Введите напротив каждого “зеленого” значения число 1
- Сделайте тоже для всех цветов
Введите формулу =СУММЕСЛИ(B7:B17;E7;A7:A17) как показано в файле примера (лист Фильтр) .
Для подсчета значений используйте функцию СЧЕТЕСЛИ() .
С помощью Макрофункции ПОЛУЧИТЬ.ЯЧЕЙКУ()
Сразу предупрежу, что начинающему пользователю EXCEL будет сложно разобраться с этим и следующим разделом.
Идея заключается в том, чтобы автоматически вывести в соседнем столбце числовой код фона ячейки (в MS EXCEL все цвета имеют соответствующий числовой код). Для этого нам потребуется функция, которая может вернуть этот код. Ни одна обычная функция этого не умеет. Используем макрофункцию ПОЛУЧИТЬ.ЯЧЕЙКУ(), которая возвращает код цвета заливки ячейки (она может много, но нам потребуется только это ее свойство).
Примечание: Макрофункции – это набор функций к EXCEL 4-й версии, которые нельзя напрямую использовать на листе EXCEL современных версий, а можно использовать только в качестве Именованной формулы . Макрофункции – промежуточный вариант между обычными функциями и функциями VBA. Для работы с этими функциями требуется сохранить файл в формате с макросами *.xlsm
- Сделайте активной ячейку В7 (это важно, т.к. мы будем использовать относительную адресацию в формуле)
- В Диспетчере имен введите формулу =ПОЛУЧИТЬ.ЯЧЕЙКУ(63;Макрофункция!A7)
- Назовите ее Цвет
- Закройте Диспетчер имен
- Введите в ячейку В7 формулу =Цвет и скопируйте ее вниз.
Сложение значений организовано так же как и в предыдущем разделе.
Макрофункция работает кривовато:
- если вы измените цвет ячейки, то макрофункция не обновит значения кода (для этого нужно опять скопировать формулу из В7 вниз или выделить ячейку, нажать клавишу F2 и затем ENTER )
- функция возвращает только 56 цветов (так называемая палитра EXCEL), т.е. если цвета близки, например, зеленый и светло зеленый, то коды этих цветов могут совпасть. Подробнее об этом см. лист файла примера Colors . Как следствие, будут сложены значения из ячеек с разными цветами.
Описание работы функции
Функция =ЦВЕТЗАЛИВКИ(ЯЧЕЙКА) возвращает код цвета заливки выбранной ячейки. Имеет один обязательный аргумент:
- ЯЧЕЙКА – ссылка на ячейку, для которой необходимо применить функцию.
Ниже представлен пример, демонстрирующий работу функции.
Следует обратить внимание на тот факт, что функция не пересчитывается автоматически. Это связано с тем, что изменение цвета заливки ячейки Excel не приводит к пересчету формул. Для пересчета формулы необходимо пользоваться сочетанием клавиш Ctrl+Alt+F9
Процедура изменения цвета ячеек в зависимости от содержимого
Конечно, всегда приятно иметь хорошо оформленную таблицу, в которой ячейки в зависимости от содержимого, окрашиваются в разные цвета. Но особенно актуальна данная возможность для больших таблиц, содержащих значительный массив данных. В этом случае заливка цветом ячеек значительно облегчит пользователям ориентирование в этом огромном количестве информации, так как она, можно сказать, будет уже структурированной.
Элементы листа можно попытаться раскрасить вручную, но опять же, если таблица большая, то это займет значительное количество времени. К тому же, в таком массиве данных человеческий фактор может сыграть свою роль и будут допущены ошибки. Не говоря уже о том, что таблица может быть динамической и данные в ней периодически изменяются, причем массово. В этом случае вручную менять цвет вообще становится нереально.
Но выход существует. Для ячеек, которые содержат динамические (изменяющиеся) значения применяется условное форматирование, а для статистических данных можно использовать инструмент «Найти и заменить».
Условное форматирование
С помощью условного форматирования можно задать определенные границы значений, при которых ячейки будут окрашиваться в тот или иной цвет. Окрашивание будет проводиться автоматически. В случае, если значение ячейки, вследствие изменения выйдет за пределы границы, то автоматически произойдет перекрашивание данного элемента листа.
Посмотрим, как этот способ работает на конкретном примере. Имеем таблицу доходов предприятия, в которой данные разбиты помесячно. Нам нужно выделить разными цветами те элементы, в которых величина доходов менее 400000 рублей, от 400000 до 500000 рублей и превышает 500000 рублей.
- Выделяем столбец, в котором находится информация по доходам предприятия. Затем перемещаемся во вкладку «Главная». Щелкаем по кнопке «Условное форматирование», которая располагается на ленте в блоке инструментов «Стили». В открывшемся списке выбираем пункт «Управления правилами…».
- Запускается окошко управления правилами условного форматирования. В поле «Показать правила форматирования для» должно быть установлено значение «Текущий фрагмент». По умолчанию именно оно и должно быть там указано, но на всякий случай проверьте и в случае несоответствия измените настройки согласно вышеуказанным рекомендациям. После этого следует нажать на кнопку «Создать правило…».
- Открывается окно создания правила форматирования. В списке типов правил выбираем позицию «Форматировать только ячейки, которые содержат». В блоке описания правила в первом поле переключатель должен стоять в позиции «Значения». Во втором поле устанавливаем переключатель в позицию «Меньше». В третьем поле указываем значение, элементы листа, содержащие величину меньше которого, будут окрашены определенным цветом. В нашем случае это значение будет 400000. После этого жмем на кнопку «Формат…».
- Открывается окно формата ячеек. Перемещаемся во вкладку «Заливка». Выбираем тот цвет заливки, которым желаем, чтобы выделялись ячейки, содержащие величину менее 400000. После этого жмем на кнопку «OK» в нижней части окна.
- Возвращаемся в окно создания правила форматирования и там тоже жмем на кнопку «OK».
- После этого действия мы снова будем перенаправлены в Диспетчер правил условного форматирования. Как видим, одно правило уже добавлено, но нам предстоит добавить ещё два. Поэтому снова жмем на кнопку «Создать правило…».
- И опять мы попадаем в окно создания правила. Перемещаемся в раздел «Форматировать только ячейки, которые содержат». В первом поле данного раздела оставляем параметр «Значение ячейки», а во втором выставляем переключатель в позицию «Между». В третьем поле нужно указать начальное значение диапазона, в котором будут форматироваться элементы листа. В нашем случае это число 400000. В четвертом указываем конечное значение данного диапазона. Оно составит 500000. После этого щелкаем по кнопке «Формат…».
- В окне форматирования снова перемещаемся во вкладку «Заливка», но на этот раз уже выбираем другой цвет, после чего жмем на кнопку «OK».
- После возврата в окно создания правила тоже жмем на кнопку «OK».
- Как видим, в Диспетчере правил у нас создано уже два правила. Таким образом, осталось создать третье. Щелкаем по кнопке «Создать правило».
- В окне создания правила опять перемещаемся в раздел «Форматировать только ячейки, которые содержат». В первом поле оставляем вариант «Значение ячейки». Во втором поле устанавливаем переключатель в полицию «Больше». В третьем поле вбиваем число 500000. Затем, как и в предыдущих случаях, жмем на кнопку «Формат…».
- В окне «Формат ячеек» опять перемещаемся во вкладку «Заливка». На этот раз выбираем цвет, который отличается от двух предыдущих случаев. Выполняем щелчок по кнопке «OK».
- В окне создания правил повторяем нажатие на кнопку «OK».
- Открывается Диспетчер правил. Как видим, все три правила созданы, поэтому жмем на кнопку «OK».
- Теперь элементы таблицы окрашены согласно заданным условиям и границам в настройках условного форматирования.
- Если мы изменим содержимое в одной из ячеек, выходя при этом за границы одного из заданных правил, то при этом данный элемент листа автоматически сменит цвет.
Кроме того, можно использовать условное форматирование несколько по-другому для окраски элементов листа цветом.
- Для этого после того, как из Диспетчера правил мы переходим в окно создания форматирования, то остаемся в разделе «Форматировать все ячейки на основании их значений». В поле «Цвет» можно выбрать тот цвет, оттенками которого будут заливаться элементы листа. Затем следует нажать на кнопку «OK».
- В Диспетчере правил тоже жмем на кнопку «OK».
- Как видим, после этого ячейки в колонке окрашиваются различными оттенками одного цвета. Чем значение, которое содержит элемент листа больше, тем оттенок светлее, чем меньше – тем темнее.
Инструкция для Excel 2010
ВКЛЮЧИТЕ СУБТИТРЫ!
Количество вместо суммы
Если вам нужно подсчитывать не сумму покрашенных определенным цветом ячеек, а всего лишь их количество, то наша функция будет еще проще. Замените в ней 7-ю строку на:
Sum = Sum + 1
Источники
- https://office-guru.ru/excel/2-sposoba-izmenit-cvet-zalivki-jacheek-v-excel-v-zavisimosti-ot-ih-znachenii-293.html
- https://vremya-ne-zhdet.ru/vba-excel/tsvet-yacheyki-zalivka-fon/
- https://excel2.ru/articles/slozhenie-znacheniy-v-zavisimosti-ot-cveta-yacheek-v-ms-excel-0
- https://micro-solution.ru/projects/addin_vba-excel/color_interior
- https://lumpics.ru/color-cell-depending-value-excel/
- https://myblaze.ru/kak-v-excel-zakrasit-yacheyku-po-usloviyu-ili-formule/
- https://www.planetaexcel.ru/techniques/9/162/