На чтение 3 мин Просмотров 4.4к. Опубликовано 25.11.2021
Содержание
- Пример использования
- Сортировка по цвету ячеек
- Фильтр по цвету ячеек
Функция =ЦВЕТЗАЛИВКИ(ЯЧЕЙКА) возвращает код цвета заливки выбранной ячейки. Имеет один обязательный аргумент:
- ЯЧЕЙКА — ссылка на ячейку, для которой необходимо применить функцию.
Ниже представлен пример, демонстрирующий работу функции.
Следует обратить внимание на тот факт, что функция не пересчитывается автоматически. Это связано с тем, что изменение цвета заливки ячейки Excel не приводит к пересчету формул. Для пересчета формулы необходимо пользоваться сочетанием клавиш Ctrl+Alt+F9
Пример использования
Так как заливка ячеек значительно упрощает восприятие данных, то пользоваться ей любят практически все пользователи. Однако есть и большой минус — в стандартном функционале Excel отсутствует возможность выполнять операции на основе цвета заливки. Нельзя просуммировать ячейки определенного цвета, посчитать их количество, найти максимальное и так далее.
С помощью функции ЦВЕТЗАЛИВКИ все это становится выполнимым. Например, «протяните» данную формулу с цветом заливки в соседнем столбце и производите вычисления на основе числового кода ячейки.
Создатели Excel решили, начиная от 2007-ой версии ввести возможность сортировки данных по цвету. Для этого послужило поводом большая потребность пользователей предыдущих версий, упорядочивать данные в такой способ. Раньше реализовать сортировку данных относительно цвета можно было только с помощью создания макроса VBA. Создавалась пользовательская функция и вводилась как формула под соответствующим столбцом, по которому нужно было выполнить сортировку. Теперь такие задачи можно выполнять значительно проще и эффективнее.
Сортировка по цвету ячеек
Пример данных, которые необходимо отсортировать относительно цвета заливки ячеек изображен ниже на рисунке:
Чтобы расположить строки в последовательности: зеленый, желтый, красный, а потом без цвета – выполним следующий ряд действий:
- Щелкните на любую ячейку в области диапазона данных и выберите инструмент: «ДАННЫЕ»-«Сортировка и фильтр»-«Сортировка».
- Убедитесь, что отмечена галочкой опция «Мои данные содержат заголовки», а после чего из первого выпадающего списка выберите значение «Наименование». В секции «Сортировка» выберите опцию «Цвет ячейки». В секции «Порядок» раскройте выпадающее меню «Нет цвета» и нажмите на кнопку зеленого квадратика.
- Нажмите на кнопку «Копировать уровень» и в этот раз укажите желтый цвет в секции «Порядок».
- Аналогичным способом устанавливаем новое условие для сортировки относительно красного цвета заливки ячеек. И нажмите на кнопку ОК.
Ожидаемый результат изображен ниже на рисунке:
Аналогичным способом можно сортировать данные по цвету шрифта или типу значка которые содержат ячейки. Для этого достаточно только указать соответствующий критерий в секции «Сортировка» диалогового окна настройки условий.
Фильтр по цвету ячеек
Аналогично по отношению к сортировке, функционирует фильтр по цвету. Чтобы разобраться с принципом его действия воспользуемся тем же диапазоном данных, что и в предыдущем примере. Для этого:
- Перейдите на любую ячейку диапазона и воспользуйтесь инструментом: «ДАННЫЕ»-«Сортировка и фильтр»-«Фильтр».
- Раскройте одно из выпадающих меню, которые появились в заголовках столбцов таблицы и наведите курсор мышки на опцию «Фильтр по цвету».
- Из всплывающего подменю выберите зеленый цвет.
В результате отфильтруються данные и будут отображаться только те, которые содержать ячейки с зеленым цветом заливки:
Обратите внимание! В режиме автофильтра выпадающие меню так же содержит опцию «Сортировка по цвету»:
Как всегда, Excel нам предоставляет несколько путей для решения одних и тех же задач. Пользователь выбирает для себя самый оптимальный путь, плюс необходимые инструменты всегда под рукой.
Содержание
- Как в офисе.
- Вам также могут быть интересны следующие статьи
- Поиск по цвету ячейки в Excel
- Пример использования
- Сортировка по цвету ячеек
- Фильтр по цвету ячеек
- Заливка ячеек в зависимости от значения в Microsoft Excel
- Процедура изменения цвета ячеек в зависимости от содержимого
- Способ 1: условное форматирование
- Способ 2: использование инструмента «Найти и выделить»
Как в офисе.
Все мы знаем, как пользоваться инструментом «Найти и заменить» в Excel, чтобы найти определенное значение в книге. Иногда возникает необходимость просто выделить значения, которые нашел Excel.
В нашем примере фрагмент выгруженного отчета из системы управления производством, в котором система отделила тысячный разряд точкой «.». Нам необходимо найти и выделить все значения, в которых присутствует точка.
Для начала воспользуемся инструментом «Найти и заменить», чтобы определить все ячейки с вхождением точки в значение. Для этого перейдем по вкладке Главная -> Редактирование —> Найти и выделить -> Найти. В появившемся диалоговом окне, ставим точку в поле поиска и жмем Найти далее.
При открытом диалоговом окне, нажмите Ctrl+A на клавиатуре. Это действие приведет не только к выделению всего списка найденных значений в диалоговом окне, но и выделит все найденные ячейки на листе.
Пока все необходимые ячейки выделены, вы можете залить их каким-нибудь цветом, для придания эффекта.
Данный подход также применим, когда вам необходимо найти и выделить все вешние ссылки, находящиеся в ячейках книги. Для этого, вместо того чтобы искать точку, вам требуется найти квадратную скобку «[».
Почему открывающуюся квадратную скобку? Потому что Excel использует квадратные скобки [] для указания источника данных внешних ссылок.
Обратите внимание, что в этом случае Excel не найдет внешние ссылки, спрятанные в объектах или именованных диапазонах.
Вам также могут быть интересны следующие статьи
Источник
Поиск по цвету ячейки в Excel
Функция =ЦВЕТЗАЛИВКИ(ЯЧЕЙКА) возвращает код цвета заливки выбранной ячейки. Имеет один обязательный аргумент:
- ЯЧЕЙКА — ссылка на ячейку, для которой необходимо применить функцию.
Ниже представлен пример, демонстрирующий работу функции.
Следует обратить внимание на тот факт, что функция не пересчитывается автоматически. Это связано с тем, что изменение цвета заливки ячейки Excel не приводит к пересчету формул. Для пересчета формулы необходимо пользоваться сочетанием клавиш Ctrl+Alt+F9
Пример использования
Так как заливка ячеек значительно упрощает восприятие данных, то пользоваться ей любят практически все пользователи. Однако есть и большой минус — в стандартном функционале Excel отсутствует возможность выполнять операции на основе цвета заливки. Нельзя просуммировать ячейки определенного цвета, посчитать их количество, найти максимальное и так далее.
С помощью функции ЦВЕТЗАЛИВКИ все это становится выполнимым. Например, «протяните» данную формулу с цветом заливки в соседнем столбце и производите вычисления на основе числового кода ячейки.
Создатели Excel решили, начиная от 2007-ой версии ввести возможность сортировки данных по цвету. Для этого послужило поводом большая потребность пользователей предыдущих версий, упорядочивать данные в такой способ. Раньше реализовать сортировку данных относительно цвета можно было только с помощью создания макроса VBA. Создавалась пользовательская функция и вводилась как формула под соответствующим столбцом, по которому нужно было выполнить сортировку. Теперь такие задачи можно выполнять значительно проще и эффективнее.
Сортировка по цвету ячеек
Пример данных, которые необходимо отсортировать относительно цвета заливки ячеек изображен ниже на рисунке:
Чтобы расположить строки в последовательности: зеленый, желтый, красный, а потом без цвета – выполним следующий ряд действий:
- Щелкните на любую ячейку в области диапазона данных и выберите инструмент: «ДАННЫЕ»-«Сортировка и фильтр»-«Сортировка».
- Убедитесь, что отмечена галочкой опция «Мои данные содержат заголовки», а после чего из первого выпадающего списка выберите значение «Наименование». В секции «Сортировка» выберите опцию «Цвет ячейки». В секции «Порядок» раскройте выпадающее меню «Нет цвета» и нажмите на кнопку зеленого квадратика.
- Нажмите на кнопку «Копировать уровень» и в этот раз укажите желтый цвет в секции «Порядок».
- Аналогичным способом устанавливаем новое условие для сортировки относительно красного цвета заливки ячеек. И нажмите на кнопку ОК.
Ожидаемый результат изображен ниже на рисунке:
Аналогичным способом можно сортировать данные по цвету шрифта или типу значка которые содержат ячейки. Для этого достаточно только указать соответствующий критерий в секции «Сортировка» диалогового окна настройки условий.
Фильтр по цвету ячеек
Аналогично по отношению к сортировке, функционирует фильтр по цвету. Чтобы разобраться с принципом его действия воспользуемся тем же диапазоном данных, что и в предыдущем примере. Для этого:
- Перейдите на любую ячейку диапазона и воспользуйтесь инструментом: «ДАННЫЕ»-«Сортировка и фильтр»-«Фильтр».
- Раскройте одно из выпадающих меню, которые появились в заголовках столбцов таблицы и наведите курсор мышки на опцию «Фильтр по цвету».
- Из всплывающего подменю выберите зеленый цвет.
В результате отфильтруються данные и будут отображаться только те, которые содержать ячейки с зеленым цветом заливки:
Обратите внимание! В режиме автофильтра выпадающие меню так же содержит опцию «Сортировка по цвету»:
Как всегда, Excel нам предоставляет несколько путей для решения одних и тех же задач. Пользователь выбирает для себя самый оптимальный путь, плюс необходимые инструменты всегда под рукой.
Источник
Заливка ячеек в зависимости от значения в Microsoft Excel
При работе с таблицами первоочередное значение имеют выводимые в ней значения. Но немаловажной составляющей является также и её оформление. Некоторые пользователи считают это второстепенным фактором и не обращают на него особого внимания. А зря, ведь красиво оформленная таблица является важным условием для лучшего её восприятия и понимания пользователями. Особенно большую роль в этом играет визуализация данных. Например, с помощью инструментов визуализации можно окрасить ячейки таблицы в зависимости от их содержимого. Давайте узнаем, как это можно сделать в программе Excel.
Процедура изменения цвета ячеек в зависимости от содержимого
Конечно, всегда приятно иметь хорошо оформленную таблицу, в которой ячейки в зависимости от содержимого, окрашиваются в разные цвета. Но особенно актуальна данная возможность для больших таблиц, содержащих значительный массив данных. В этом случае заливка цветом ячеек значительно облегчит пользователям ориентирование в этом огромном количестве информации, так как она, можно сказать, будет уже структурированной.
Элементы листа можно попытаться раскрасить вручную, но опять же, если таблица большая, то это займет значительное количество времени. К тому же, в таком массиве данных человеческий фактор может сыграть свою роль и будут допущены ошибки. Не говоря уже о том, что таблица может быть динамической и данные в ней периодически изменяются, причем массово. В этом случае вручную менять цвет вообще становится нереально.
Но выход существует. Для ячеек, которые содержат динамические (изменяющиеся) значения применяется условное форматирование, а для статистических данных можно использовать инструмент «Найти и заменить».
Способ 1: условное форматирование
С помощью условного форматирования можно задать определенные границы значений, при которых ячейки будут окрашиваться в тот или иной цвет. Окрашивание будет проводиться автоматически. В случае, если значение ячейки, вследствие изменения выйдет за пределы границы, то автоматически произойдет перекрашивание данного элемента листа.
Посмотрим, как этот способ работает на конкретном примере. Имеем таблицу доходов предприятия, в которой данные разбиты помесячно. Нам нужно выделить разными цветами те элементы, в которых величина доходов менее 400000 рублей, от 400000 до 500000 рублей и превышает 500000 рублей.
- Выделяем столбец, в котором находится информация по доходам предприятия. Затем перемещаемся во вкладку «Главная». Щелкаем по кнопке «Условное форматирование», которая располагается на ленте в блоке инструментов «Стили». В открывшемся списке выбираем пункт «Управления правилами…».
- Запускается окошко управления правилами условного форматирования. В поле «Показать правила форматирования для» должно быть установлено значение «Текущий фрагмент». По умолчанию именно оно и должно быть там указано, но на всякий случай проверьте и в случае несоответствия измените настройки согласно вышеуказанным рекомендациям. После этого следует нажать на кнопку «Создать правило…».
- Открывается окно создания правила форматирования. В списке типов правил выбираем позицию «Форматировать только ячейки, которые содержат». В блоке описания правила в первом поле переключатель должен стоять в позиции «Значения». Во втором поле устанавливаем переключатель в позицию «Меньше». В третьем поле указываем значение, элементы листа, содержащие величину меньше которого, будут окрашены определенным цветом. В нашем случае это значение будет 400000. После этого жмем на кнопку «Формат…».
- Открывается окно формата ячеек. Перемещаемся во вкладку «Заливка». Выбираем тот цвет заливки, которым желаем, чтобы выделялись ячейки, содержащие величину менее 400000. После этого жмем на кнопку «OK» в нижней части окна.
Кроме того, можно использовать условное форматирование несколько по-другому для окраски элементов листа цветом.
- Для этого после того, как из Диспетчера правил мы переходим в окно создания форматирования, то остаемся в разделе «Форматировать все ячейки на основании их значений». В поле «Цвет» можно выбрать тот цвет, оттенками которого будут заливаться элементы листа. Затем следует нажать на кнопку «OK».
- В Диспетчере правил тоже жмем на кнопку «OK».
- Как видим, после этого ячейки в колонке окрашиваются различными оттенками одного цвета. Чем значение, которое содержит элемент листа больше, тем оттенок светлее, чем меньше – тем темнее.
Способ 2: использование инструмента «Найти и выделить»
Если в таблице находятся статические данные, которые не планируется со временем изменять, то можно воспользоваться инструментом для изменения цвета ячеек по их содержимому под названием «Найти и выделить». Указанный инструмент позволит отыскать заданные значения и изменить цвет в этих ячейках на нужный пользователю. Но следует учесть, что при изменении содержимого в элементах листа, цвет автоматически изменяться не будет, а останется прежним. Для того, чтобы сменить цвет на актуальный, придется повторять процедуру заново. Поэтому данный способ не является оптимальным для таблиц с динамическим содержимым.
Посмотрим, как это работает на конкретном примере, для которого возьмем все ту же таблицу дохода предприятия.
- Выделяем столбец с данными, которые следует отформатировать цветом. Затем переходим во вкладку «Главная» и жмем на кнопку «Найти и выделить», которая размещена на ленте в блоке инструментов «Редактирование». В открывшемся списке кликаем по пункту «Найти».
- Запускается окно «Найти и заменить» во вкладке «Найти». Прежде всего, найдем значения до 400000 рублей. Так как у нас нет ни одной ячейки, где содержалось бы значение менее 300000 рублей, то, по сути, нам нужно выделить все элементы, в которых содержатся числа в диапазоне от 300000 до 400000. К сожалению, прямо указать данный диапазон, как в случае применения условного форматирования, в данном способе нельзя.
Но существует возможность поступить несколько по-другому, что нам даст тот же результат. Можно в строке поиска задать следующий шаблон «3. ». Знак вопроса означает любой символ. Таким образом, программа будет искать все шестизначные числа, которые начинаются с цифры «3». То есть, в выдачу поиска попадут значения в диапазоне 300000 – 400000, что нам и требуется. Если бы в таблице были числа меньше 300000 или меньше 200000, то для каждого диапазона в сотню тысяч поиск пришлось бы производить отдельно.
Вводим выражение «3. » в поле «Найти» и жмем на кнопку «Найти все».
Как видим, существует два способа окрасить ячейки в зависимости от числовых значений, которые в них находятся: с помощью условного форматирования и с использованием инструмента «Найти и заменить». Первый способ более прогрессивный, так как позволяет более четко задать условия, по которым будут выделяться элементы листа. К тому же, при условном форматировании цвет элемента автоматически меняется, в случае изменения содержимого в ней, чего второй способ делать не может. Впрочем, заливку ячеек в зависимости от значения путем применения инструмента «Найти и заменить» тоже вполне можно использовать, но только в статических таблицах.
Источник
Выделение ячеек по цвету, или по стилю |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
На большом листе или книге вы можете найти ячейки с определенным форматированием, например все ячейки, выделенные жирным шрифтом, все ячейки курсивом, все ячейки с определенным цветом шрифта или цветом фона и т. Д. Если у тебя есть Kutools for Excel, С его Найти формат ячейки возможность Супер находка вы можете быстро найти все ячейки с определенным форматированием ячеек в выбранном, активном листе, выбранных листах, активной книге или во всех открытых книгах по мере необходимости.
Найдите и выделите в Excel все ячейки, выделенные или жирным шрифтом.
Найдите и выделите все объединенные ячейки или определенные объединенные ячейки в Excel
Найдите и выделите все ячейки с определенным цветом шрифта или цветом фона в Excel
Найдите и выделите в Excel все ячейки, выделенные или жирным шрифтом.
Чтобы найти и выделить все выделенные или не выделенные жирным шрифтом ячейки в выделении, на листе или в книге, выполните следующие действия:
1. Выделите ячейки, в которых вы хотите найти полужирные или не полужирные ячейки, а затем нажмите Кутулс > Найти> Супер находка, см. снимок экрана:
Функции: если вы хотите найти ячейки на листе или в книге, щелкните прямо Кутулс > Найти> Супер находка включить Супер находка функцию.
2. В Супер находка панели, выполните следующие операции:
(1.) Щелкните кнопка, чтобы активировать это Формат ячейки вариант;
(2.) Затем выберите одну область поиска из В раскрывающийся список, в данном случае я выбираю Выбор;
(3.) Затем выберите Жирные клетки or Нежирные ячейки в Тип выпадающий список по мере необходимости;
(4.) Затем щелкните Найти кнопка для поиска всех указанных вами относительных ячеек;
(5.) Все определенные ячейки отображаются в списке, а затем в Выбрать по выпадающий список, выберите Клетки/Ряды/Колонны как вам нужно, и щелкните Выберите кнопку, чтобы выделить их по ячейкам, рядам столбцов.
3. Затем все выделенные жирным или не жирным шрифтом ячейки были выбраны, как показано на следующем снимке экрана:
Найдите и выделите все объединенные ячейки или определенные объединенные ячейки в Excel
Эта опция также может помочь вам как можно быстрее найти все объединенные ячейки или определенные объединенные ячейки.
1. Выберите диапазон ячеек, в котором вы хотите найти все объединенные ячейки, а затем щелкните Кутулс > Найти> Супер находка для активации Супер находка панель.
2. В Супер находка панель, пожалуйста, сделайте следующее:
(1.) Щелкните кнопка, чтобы активировать это Формат ячейки вариант;
(2.) Затем выберите одну область поиска из раскрывающегося списка Внутри, в данном случае я выбираю Выбор;
(3.) Затем выберите Объединенные ячейки в Тип раскрывающийся список;
(4.) Затем щелкните Найти кнопка для поиска всех объединенных ячеек;
(5.) Все объединенные ячейки отображаются в списке, затем выберите выбранный тип из Выбрать по в раскрывающемся списке и нажмите Выберите кнопка для выбора относительных ячеек по ячейкам, строкам или столбцам.
3. Затем все объединенные ячейки выбранного диапазона были выбраны, как показано на следующем снимке экрана:
Внимание: С помощью этой опции вы также можете выбрать определенные объединенные ячейки. в Супер находка панели, установите флажок в Значение раздел, а затем введите значение, которое вы хотите узнать, и все объединенные ячейки с этим конкретным значением были найдены и выбраны, см. снимок экрана:
Найдите и выделите все ячейки с определенным цветом шрифта или цветом фона в Excel
Если вам нужно найти и выбрать ячейки с определенным шрифтом или цветом фона, эта функция также может оказать вам услугу.
1. Выберите диапазон ячеек, в котором вы хотите найти все ячейки с определенным шрифтом или цветом фона, а затем щелкните Кутулс > Найти > Супер находка для активации Супер находка панель.
2. В Супер находка панель, пожалуйста, сделайте следующее:
(1.) Щелкните кнопка, чтобы активировать это Формат ячейки вариант;
(2.) Затем выберите одну область поиска из раскрывающегося списка Внутри, в данном случае я выбираю Выбор;
(3.) Затем выберите Цвет шрифта or Фоновый цвет в Тип раскрывающийся список;
(4.) Продолжайте нажимать кнопка для выбора ячейки с определенным шрифтом или цветом фона, по которому вы хотите найти ячейки;
(5.) Затем щелкните Найти кнопка для поиска во всех ячейках с определенным шрифтом или цветом фона;
(6.) Все ячейки с определенным цветом шрифта или цветом фона отображаются в поле списка, затем щелкните значок Выберите кнопку, чтобы выбрать их после выбора одного типа выбора из Выбрать по выпадающий список.
3. И все ячейки с указанным шрифтом или цветом фона были найдены и выделены сразу, см. Снимок экрана:
Заметки:
1. Эта полезная функция также может помочь вам найти все ячейки с другим определенным форматированием, например ячейки курсивом, ячейки с зачеркиванием, ячейки с формулами, ячейки с комментариями и т. Д.
2. Супер находка панель можно изменять и перемещать по своему усмотрению.
Найти все ячейки с определенным форматированием ячеек
Рекомендуемые инструменты для повышения производительности
Следующие ниже инструменты могут значительно сэкономить ваше время и деньги. Какой из них вам подходит?
Office Tab: Использование удобных вкладок в вашем офисе, как и в случае Chrome, Firefox и New Internet Explorer.
Kutools for Excel: Более 300 дополнительных функций для Excel 2021, 2019, 2016, 2013, 2010, 2007 и Office 365.
Kutools for Excel
Описанный выше функционал — лишь одна из 300 мощных функций Kutools for Excel.
Предназначен для Excel(Office) 2021, 2019, 2016, 2013, 2010, 2007 и Office 365. Бесплатно скачать и использовать в течение 60 дней.
ios Пользователь Сообщений: 1 |
Добрый день, помогите найти и заменить все ячейки в столбце, выделенные одним цветом (залитые), т. е. только по одному этому признаку. |
Z Пользователь Сообщений: 6111 Win 10, MSO 2013 SP1 |
Ctrl+H… Однако, см. форматы… «Ctrl+S» — достойное завершение ваших гениальных мыслей!.. |
Юрий М Модератор Сообщений: 60586 Контакты см. в профиле |
Заменить ЧЕМ? Где Ваш файл-пример? |
китин Пользователь Сообщений: 931 |
#4 10.12.2013 11:56:16 XL 2007 и выше -автофильтр-фильтр по цвету Изменено: китин — 10.12.2013 12:01:47 Вполне такой нормальный кинжальчик. Процентов на 100 |
На работе столкнулся с такой задачей — имеется таблица в Excel, в которой ведется табель выходов рабочих в цеху.
В таблице подсчитывается количество часов, фактически отработанных; часов переработки и часов сверх нормы. Так вот, необходимо сделать так, чтобы производилась автоматическая выборка ячеек таблицы по цвету заливки последних.
То есть, нужно отобрать все ячейки с заливкой определенного цвета, подсчитать их количество; а затем применить к полученному значению определенные формулы.
Чтобы было понятнее, приведу изображение подобной таблицы. В ней необходимо произвести подсчет ячеек с заливкой зеленого цвета:
В Excel нет встроенных (готовых) инструментов для выборки подобного рода; можно отбирать ячейки только по одному условию — по значению, находящемуся в них. Поэтому решение задачи получалось только одно — через VBA (пользовательские функции).
Прекрасное и готовое решение моей задачи я нашел на сайте http://www.excel-vba.ru/. Даже не одно, а целых два решения, под разные условия. Ниже привожу последовательность шагов, которые привели меня к успеху.
Сразу скажу, что изображения были сделаны в Excel 2007. В Excel 2010 все несколько по другому, но запутаться невозможно, если что.
Первое, что нужно сделать — заставить Excel работать с пользовательскими функциями. Фактически, мы будем писать сценарий на языке VBA в Excel, но такая возможность по умолчанию отключена в этой программе. Включить ее можно следующим образом.
Переходим в “Пуск — Параметры Excel” и находим в левом списке пункт “Надстройки”:
Выбираем в основном окне строчку “Пакет анализа — VBA” и жмем кнопочку “Перейти” в самом низу окна. Откроется еще одно окошко со списком доступных под Excel расширений (надстроек). Снова выбираем в этом списке “Пакет анализа — VBA” и соглашаемся, что хотим установить его, нажав кнопку “ОК”:
Потребуется установочный диск с Microsoft Office на нем (или же подключение к Интернет) чтобы программа получила необходимые пакеты для инсталляции. Если установка прошла успешно, то в “Ленте” появиться пункт “Разработчик” (Excel 2010). Можно перейти в него через эту панель или же с помощью сочетания клавиш Alt + F11.
Появиться окно, в котором выполняется написание кода на языке VBA, то есть фактически создаются пользовательские функции. Я писать их не буду, так как языка VBA не знаю и знать особого желания нет (все знать невозможно).
Вставка готовых функций в Excel VBA
Но есть готовые решения, которые я вставлю в виде кода с помощью меню “Insert — Module”. Просто берем отсюда код функций и вставляем в свой Excel. Затем сохраняем файл Excel с поддержкой VBA (макросов) и все готово для дальнейшей работы.
Вставленные функции появятся в списке формул таблицы:
Ниже представлен готовый код двух функций на VBA, написанных их автором Дмитрием Щербаковым. Первая функция с именем “CountByInteriorColor” выполняет подсчет количества ячеек по цвету заливки.
Вторая функция с именем “SumByInteriorColor” выполняет выборку ячеек по цвету заливки и суммирует все значения в этих ячейках.
Обе функции имеют одинаковый синтаксис и принимают три входных аргумента, первые два из которых обязательные, а третий — необязательный:
— диапазон с ячейками для подсчета
1
rRange
— ячейка-образец с цветом заливки
1
rColorCell
—
1
bSumHide
1
ИСТИНА
1
1
1
ЛОЖЬ
1
0
Функция подсчета количества ячеек
'---------------------------------------------------------------------------------------
' Procedure : CountByInteriorColor
' Author : The_Prist(Щербаков Дмитрий)
' http://www.excel-vba.ru
' Purpose : Функция подсчета ячеек на основе цвета заливки.
' Аргументы:
' rRange - диапазон с ячейками для подсчета.
' rColorCell - ячейка-образец с цветом заливки.
' bSumHide - ИСТИНА или 1 учитывает скрытые ячейки.
' ЛОЖЬ, 0 или опущен(по умолчанию) - скрытые ячейки не подсчитываются.
'---------------------------------------------------------------------------------------
Function CountByInteriorColor(rRange As Range, rColorCell As Range, Optional bSumHide As Boolean = False)
Dim lColor As Long, rCell As Range, lCnt As Long, vVal
lColor = rColorCell.Interior.Color
For Each rCell In rRange
If rCell.Interior.Color = lColor Then
If rCell.EntireRow.Hidden Or rCell.EntireColumn.Hidden Then
If bSumHide Then lCnt = lCnt + 1
Else
lCnt = lCnt + 1
End If
End If
Next rCell
CountByInteriorColor = lCnt
End Function
Синтаксис этой функции прост:
=CountByInteriorColor(D8:AG8;$E$65)
Функция подсчета суммы ячеек
'---------------------------------------------------------------------------------------
' Procedure : SumByInteriorColor
' Author : The_Prist(Щербаков Дмитрий)
' http://www.excel-vba.ru
' Purpose : Функция суммирования ячеек на основе цвета заливки.
' Аргументы:
' rRange - диапазон с ячейками для суммирования.
' rColorCell - ячейка-образец с цветом заливки.
' bSumHide - ИСТИНА или 1 учитывает скрытые ячейки.
' ЛОЖЬ, 0 или опущен(по умолчанию) - скрытые ячейки не суммируются.
'---------------------------------------------------------------------------------------
Function SumByInteriorColor(rRange As Range, rColorCell As Range, Optional bSumHide As Boolean = False)
Dim lColor As Long, rCell As Range, dblSum As Double, vVal
lColor = rColorCell.Interior.Color
For Each rCell In rRange
If rCell.Interior.Color = lColor Then
vVal = rCell.Value
If IsNumeric(vVal) Then
If rCell.EntireRow.Hidden Or rCell.EntireColumn.Hidden Then
If bSumHide Then dblSum = dblSum + vVal
Else
dblSum = dblSum + vVal
End If
End If
End If
Next rCell
SumByInteriorColor = dblSum
End Function
Синтаксис этой функции следующий:
=SumByInteriorColor(D8:AG37;E63)
При вставке пользовательской функции “CountByInteriorColor” и “SumByInteriorColor” можно воспользоваться либо “Мастером функций”, либо произвести указание диапазона ячеек и ячейку-критерий вручную.
Описание рабочей формулы
Готовый пример работы функции “CountByInteriorColor” можно посмотреть на рисунке “Табель выходов с зелеными ячейками”. В нем подсчет отработанного времени производится по следующей формуле:
=((Сумма фактически отработанных часов) - (Норма часов выхода за месяц)) + ((Кол-во дней с переработкой)*4)
Фактически эта формула получается такой (смотри строку №13 на рисунке):
=(AH13-AI13) + (CountByInteriorColor(D13:AG13;$E$65)*4)
Думаю, что больше сказать по поводу создания (точнее — вставки готового решения) пользовательских функций и способа выборки ячеек в таблице по цвету их заливки мне нечего.
0 / 0 / 0 Регистрация: 18.08.2014 Сообщений: 9 |
|
1 |
|
Поиск ячейки по цвету18.08.2014, 04:33. Показов 25970. Ответов 15
такой вопрос, как можно выполнить поиск ячейки по цвету? имеется лист на котором вразнобой есть желтые, зеленые и красные ячейки. поиск осуществляется по строкам начиная со 2й.
0 |
3827 / 2254 / 751 Регистрация: 02.11.2012 Сообщений: 5,930 |
|
18.08.2014, 09:49 |
2 |
файл приложите. вручную напишите что и где должно получиться.
0 |
0 / 0 / 0 Регистрация: 18.08.2014 Сообщений: 9 |
|
18.08.2014, 15:38 [ТС] |
3 |
количество желтых зеленых и красных ячеек в одной строке не всегда одинаково и может различаться.
0 |
0 / 0 / 0 Регистрация: 18.08.2014 Сообщений: 9 |
|
20.08.2014, 19:51 [ТС] |
4 |
идей нет? Добавлено через 7 минут например количество непустых ячеек в строке, начиная с 7го стоолбца, делить на 3 (узнаем количество ячеек каждого цвета),
0 |
5942 / 3154 / 698 Регистрация: 23.11.2010 Сообщений: 10,524 |
|
20.08.2014, 20:46 |
5 |
По какому принципу происходит раскраска?
0 |
0 / 0 / 0 Регистрация: 18.08.2014 Сообщений: 9 |
|
21.08.2014, 20:29 [ТС] |
6 |
этот файл это результат действия некой программы. Так как в VB я полный 0 =) (возможно уже не полный, 3 дня его учу )) ), то написание кода идет медленно.
0 |
414 / 262 / 82 Регистрация: 27.10.2012 Сообщений: 860 |
|
21.08.2014, 21:14 |
7 |
Так если строку надо делить на 3 зачем тогда цвет?
0 |
Феррим 0 / 0 / 0 Регистрация: 18.08.2014 Сообщений: 9 |
||||
22.08.2014, 04:57 [ТС] |
8 |
|||
изначально планировал по цвету определять так как количество ячеек каждого цвета может быть разным (хотя в 90% случаев они одинаковы). Добавлено через 7 минут
конечно это не идеал , глобальный цикл еще не добавлен, пока что пытаюсь заставить его работать с 1й строкой. Добавлено через 11 минут заранее благодарен за ответ
0 |
kalbasiatka 414 / 262 / 82 Регистрация: 27.10.2012 Сообщений: 860 |
||||
22.08.2014, 09:05 |
9 |
|||
Сообщение было отмечено Феррим как решение Решение Можно и по цвету, но зачем?
1 |
3827 / 2254 / 751 Регистрация: 02.11.2012 Сообщений: 5,930 |
|
22.08.2014, 09:09 |
10 |
Сообщение было отмечено Феррим как решение Решение
командой можно определить цвет ячейки Код Range("A1").Interior.Color
1 |
0 / 0 / 0 Регистрация: 18.08.2014 Сообщений: 9 |
|
23.08.2014, 01:56 [ТС] |
11 |
класс! засунуть все в массив там обработать и вывести на другой лист я не додумался ). Добавлено через 2 часа 16 минут
0 |
kalbasiatka 414 / 262 / 82 Регистрация: 27.10.2012 Сообщений: 860 |
||||
23.08.2014, 09:15 |
12 |
|||
У меня ошибка )
1 |
0 / 0 / 0 Регистрация: 18.08.2014 Сообщений: 9 |
|
23.08.2014, 17:49 [ТС] |
13 |
огромное спасибо!
0 |
414 / 262 / 82 Регистрация: 27.10.2012 Сообщений: 860 |
|
23.08.2014, 20:28 |
14 |
А зачем? ведь в итоге всегда 3 цветных колонки. Сразу их разрисовать и делов то.
0 |
0 / 0 / 0 Регистрация: 18.08.2014 Сообщений: 9 |
|
23.08.2014, 22:33 [ТС] |
15 |
иногда бывает что желтых в строке больше чем красных и зеленых (или наоборот), и тогда макрос неправильно разносит эту строку. В ручную это поправить не составит труда (таких строк 1 на тысячу), но без цвета (среди 5ти тысяч строк) найти это место несколько проблематично. Добавлено через 5 минут
0 |
3827 / 2254 / 751 Регистрация: 02.11.2012 Сообщений: 5,930 |
|
24.08.2014, 17:36 |
16 |
что означает знак % после переменной в 3й строке? Символ определения типа
0 |
как найти ячейки с определенным цветом?
Необходимо в excel найти в столбце 1 ячейку синего цвета и скопировать ее в столбец 2 во все строки до нахождения следующей синей ячейки в столбце 1. Далее опять копируется синяя ячейка до нахожденя следующей синей. Заранее спасибо!
10 ответов
7.8K
18 июля 2006 года
DrCoder
106 / / 27.01.2006
гы-гы )))
14K
18 июля 2006 года
cybereyg
18 / / 17.07.2006
а что тут смешного?
275
18 июля 2006 года
pashulka
985 / / 19.09.2004
Cybereyg, Впервые возможность поиска ячейки, исходя из параметров форматирования, появилась только в MS Excel XP. Если у Вас наличествует более ранняя версия, то Вам, по всей видимости, придётся использовать перебор ячеек.
14K
18 июля 2006 года
cybereyg
18 / / 17.07.2006
в приложени прикрепелено что есть и что должно получиться
14K
18 июля 2006 года
cybereyg
18 / / 17.07.2006
у меня как раз Excel XP
8.8K
18 июля 2006 года
The_Ice
109 / / 04.04.2006
а в чем смысл этих переставлений? если не секрет…
14K
18 июля 2006 года
cybereyg
18 / / 17.07.2006
имеется структура, а нужна другая, вот и все, а в связи с большим кол-вом ячеек, в ручную переставить не представляется возможным.
275
18 июля 2006 года
pashulka
985 / / 19.09.2004
Решение Вашего вопроса может выглядеть следующим образом, конечно при условии, что цвет заливки всех заголовков — именно синий.
Код:
iMaxRow& = Cells(65536, 1).End(xlUp).Row: iTempRow& = iMaxRow&
For iRow& = iMaxRow& To 1 Step -1
If Cells(iRow&, 1).Interior.Color = vbBlue Then
Cells(iRow&, 1).Copy Range(Cells(iRow& + 1, 2), Cells(iTempRow&, 2))
iTempRow& = iRow& — 1
End If
Next
P.S. Если же Вы хотите использовать именно поиск подобных ячеек, то см. справку касательно Find + FindFormat
14K
18 июля 2006 года
cybereyg
18 / / 17.07.2006
Большое спасибо! Помогло. А как можно потом удалить строчку с синей ячейкой, с которой началась вставка?
275
18 июля 2006 года
pashulka
985 / / 19.09.2004
Если Вы действительно хотите удалить только ячейку, то :
Код:
Если же Вам нужно удалить строку, которой принадлежит эта ячейка, то :
Код:
Cells(iRow&, 1).EntireRow.Delete
Rem Или
Rows(iRow&).Delete