Как в экселе найти ячейки одного цвета

На чтение 3 мин Просмотров 4.4к. Опубликовано 25.11.2021

Содержание

  1. Пример использования
  2. Сортировка по цвету ячеек
  3. Фильтр по цвету ячеек

Функция =ЦВЕТЗАЛИВКИ(ЯЧЕЙКА) возвращает код цвета заливки выбранной ячейки. Имеет один обязательный аргумент:

  • ЯЧЕЙКА — ссылка на ячейку, для которой необходимо применить функцию.

Ниже представлен пример, демонстрирующий работу функции.

Следует обратить внимание на тот факт, что функция не пересчитывается автоматически. Это связано с тем, что изменение цвета заливки ячейки Excel не приводит к пересчету формул. Для пересчета формулы необходимо пользоваться сочетанием клавиш Ctrl+Alt+F9

Пример использования

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

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

Создатели Excel решили, начиная от 2007-ой версии ввести возможность сортировки данных по цвету. Для этого послужило поводом большая потребность пользователей предыдущих версий, упорядочивать данные в такой способ. Раньше реализовать сортировку данных относительно цвета можно было только с помощью создания макроса VBA. Создавалась пользовательская функция и вводилась как формула под соответствующим столбцом, по которому нужно было выполнить сортировку. Теперь такие задачи можно выполнять значительно проще и эффективнее.

Сортировка по цвету ячеек

Пример данных, которые необходимо отсортировать относительно цвета заливки ячеек изображен ниже на рисунке:

Чтобы расположить строки в последовательности: зеленый, желтый, красный, а потом без цвета – выполним следующий ряд действий:

  • Щелкните на любую ячейку в области диапазона данных и выберите инструмент: «ДАННЫЕ»-«Сортировка и фильтр»-«Сортировка».

Поиск по цвету ячейки в Excel

  • Убедитесь, что отмечена галочкой опция «Мои данные содержат заголовки», а после чего из первого выпадающего списка выберите значение «Наименование». В секции «Сортировка» выберите опцию «Цвет ячейки». В секции «Порядок» раскройте выпадающее меню «Нет цвета» и нажмите на кнопку зеленого квадратика.

Поиск по цвету ячейки в Excel

  • Нажмите на кнопку «Копировать уровень» и в этот раз укажите желтый цвет в секции «Порядок».

Поиск по цвету ячейки в Excel

  • Аналогичным способом устанавливаем новое условие для сортировки относительно красного цвета заливки ячеек. И нажмите на кнопку ОК.

Поиск по цвету ячейки в Excel

Ожидаемый результат изображен ниже на рисунке:

Аналогичным способом можно сортировать данные по цвету шрифта или типу значка которые содержат ячейки. Для этого достаточно только указать соответствующий критерий в секции «Сортировка» диалогового окна настройки условий.

Фильтр по цвету ячеек

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

  • Перейдите на любую ячейку диапазона и воспользуйтесь инструментом: «ДАННЫЕ»-«Сортировка и фильтр»-«Фильтр».

Поиск по цвету ячейки в Excel

  • Раскройте одно из выпадающих меню, которые появились в заголовках столбцов таблицы и наведите курсор мышки на опцию «Фильтр по цвету».

Поиск по цвету ячейки в Excel

  • Из всплывающего подменю выберите зеленый цвет.

В результате отфильтруються данные и будут отображаться только те, которые содержать ячейки с зеленым цветом заливки:

Обратите внимание! В режиме автофильтра выпадающие меню так же содержит опцию «Сортировка по цвету»:

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

2 апреля 2022 г.

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

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

Вот некоторые преимущества подсчета цветных ячеек в Excel:

  • Сравнение: подсчет цветных ячеек может помочь вам сравнить категории данных.

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

  • Стиль: с количеством цветных ячеек вы можете легко воссоздать визуальный стиль электронной таблицы.

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

Как посчитать цветные ячейки в Excel с помощью «Найти и выделить»

Вот как вы можете использовать «Найти и выбрать» для подсчета ячеек определенного цвета:

1. Найдите «Найти и выбрать».

Перейдите на вкладку «Главная». На панели инструментов найдите значок увеличительного стекла. Под изображением вы можете увидеть слова «Найти и выбрать». Нажмите эту кнопку, чтобы открыть раскрывающееся меню.

2. Откройте меню «Найти и заменить».

Выберите опцию «Найти». Обычно это вызывает всплывающее меню под названием «Найти и заменить». Вы также можете открыть это меню с помощью следующего сочетания клавиш:

Ctrl + Ф

3. Укажите цвет, который вы хотите посчитать

На вкладке «Найти» перейдите к кнопке «Формат» справа. Щелкните стрелку, чтобы открыть раскрывающееся меню, и выберите параметр «Выбрать формат из ячейки». С помощью этого параметра вы можете использовать ячейку в качестве примера, чтобы указать Excel, какой тип ячейки следует подсчитывать. Выберите одну из цветных ячеек, которые вы хотите подсчитать. В меню кнопка «Предварительный просмотр» может изменить цвет в соответствии с вашими ячейками.

4. Предложите Excel подсчитать ячейки

Как только поле «Предварительный просмотр» удовлетворит ваши потребности, вы можете нажать «Найти все» в левом нижнем углу меню. Затем Excel перечисляет все ячейки с выбранным форматированием в белом поле внизу. В левом нижнем углу под списком отображается количество найденных ячеек. Это окончательный подсчет ваших цветных ячеек.

Как подсчитать цветные ячейки в Excel с помощью функции промежуточного итога

Вот как вы можете подсчитать цветные ячейки, используя функцию промежуточного итога:

1. Добавьте фильтры к своим данным

Выберите все данные в электронной таблице, чтобы Excel мог найти цветные ячейки. Затем откройте вкладку «Данные» на панели инструментов и найдите кнопку «Фильтр». Нажмите эту кнопку, чтобы добавить вкладки фильтров в каждый из ваших столбцов, которые отображаются в виде серых интерактивных стрелок в правом верхнем углу.

2. Добавьте функцию промежуточного итога

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

=ПРОМЕЖУТОЧНЫЙ ИТОГ([NUMBER OF VISIBLE CELLS],[CELL STARTING RANGE-CELL ENDING RANGE])

3. Отфильтруйте столбец по цвету

Щелкните стрелку в правом верхнем углу столбца, содержащего цветные ячейки. Выберите «Фильтровать по цвету». Найдите цвет, который вы хотите посчитать, в списке Excel. Это побуждает Excel скрывать любые ячейки любого цвета, кроме выбранного вами. Затем значение в функции промежуточного итога корректируется для подсчета только видимых ячеек, что дает вам общее количество цветных ячеек.

Как посчитать цветные ячейки в Excel с помощью таблицы

Вот как вы можете использовать таблицу для подсчета цветных ячеек:

1. Изолируйте цветные клетки

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

2. Создайте таблицу

Выделите все соответствующие данные. Вы можете нажать «Ctrl» и «T» на клавиатуре, чтобы превратить ваши данные в таблицу. Если у вас есть заголовки в столбцах, установите флажок «В моей таблице есть заголовки», затем нажмите «ОК».

3. Добавьте строку «Итого».

Перейдите на вкладку «Конструктор таблиц» на ленте. Вы можете найти эту вкладку в правой части экрана. Справа от центра вы можете увидеть флажок «Строка итогов». Щелкните это поле, чтобы добавить эту строку в конец таблицы.

4. Попросите Excel подсчитать ячейки

Рядом со строкой «Итого» Excel включает число. Если вы нажмете на этот номер, вы можете увидеть раскрывающееся меню параметров. Выберите «Подсчет», чтобы подсчитать количество ячеек в таблице. Обычно отображается полное количество цветных ячеек. Также автоматически появляется отдельная ячейка с функцией промежуточного итога, предлагающая такой же подсчет.

Как посчитать цветные ячейки в Excel с помощью функции GET.CELLS Macro4

Вот как вы можете использовать функцию GET.CELLS Macro4 для подсчета цветных ячеек:

1. Создайте именованный диапазон

Функция GET.CELLS работает только с именованным диапазоном в Excel, поэтому очень важно добавить его в электронную таблицу. Откройте вкладку «Формулы» и нажмите «Определить имя». Это предложит Excel открыть диалоговое окно под названием «Редактировать имя», где вы можете ввести сведения о своем диапазоне. Вы можете назвать свой диапазон «GetColor» и оставить для «Scope» значение «Workbook». В поле «Относится к» вы можете ввести следующую формулу:

= ПОЛУЧИТЬ.ЯЧЕЙКА(38,[SHEET NUMBER]$[REFERENCE CELL WITH TARGETED BACKGROUND COLOR]

2. Примените функцию СЧЁТЕСЛИ

После применения формулы может появиться столбец, в котором каждому цвету присваивается постоянное значение. Например, если ваши ячейки белые или красные, во всех белых ячейках может отображаться 0, а во всех красных ячейках — 40. Выберите пустую ячейку под вашим набором данных в справочном столбце и добавьте цвет фона в столбец, который вы используется для вашей эталонной ячейки. В следующую ячейку введите следующую формулу:

=СЧЁТЕСЛИ($[COLUMN]$[ROW]:$[COLUMN]$[ROW]ПОЛУЧИТЬЦВЕТ)

Замените скобки столбца и строки начальной и конечной яростью в столбце именованного диапазона. Например, если ваш именованный диапазон находится в столбце E и проходит от строки 2 до строки 22, ваша формула будет выглядеть так:

=СЧЁТЕСЛИ($F$2:$F$22, ПОЛУЧИТЬЦВЕТ)

3. Просмотрите данные

Формула СЧЁТЕСЛИ подсчитывает количество ячеек в именованном диапазоне, соответствующем цвету фона. Просмотрите номер дает вам. Повторите этот процесс для любых других цветов, которые вы хотите посчитать.

Как подсчитать цветные ячейки в Excel с помощью VBA

Вот как вы можете подсчитать цветные ячейки в Excel, создав определяемую пользователем функцию (UDF) с помощью Visual Basic для приложений (VBA):

1. Создайте модуль

Используйте сочетание клавиш «Alt + F11», чтобы открыть окно редактора Visual Basic (VBE) в Excel. Перейдите в меню «Вставка» и выберите «Модуль». В поле введите следующий скрипт:

Функция CountColor (range_data как диапазон, критерии как диапазон) As Long

2. Протестируйте пользовательскую функцию

Выберите «Продать D3» и введите функцию для проверки только что созданной пользовательской функции. Вы можете использовать следующую функцию, добавляя свой собственный диапазон и критерии из вашего набора данных. Вот формула:

=CountCcolor(range_data,критерий)

Убедитесь, что Excel правильно считает цветные ячейки.

3. Сохраните пользовательскую функцию

Если вы хотите снова использовать эту функцию в других книгах, вы можете сохранить ее. Сохраните книгу и выберите «Надстройка Excel (.xlam)». Затем вы можете снова открыть Excel, перейти на вкладку «Разработчик» и нажать «Установить надстройки». Найдите сохраненную надстройку и нажмите «Открыть». Теперь вы можете использовать UDF в любом файле Excel.

Как посчитать цветные ячейки в Excel с помощью офисных скриптов

Вот как вы можете использовать офисные скрипты для подсчета цветных ячеек в Excel:

1. Просмотрите свой план Excel

Функция сценариев Office доступна только для владельцев плана Enterprise. Если у вас уже есть план Enterprise, вы можете продолжить, открыв Excel онлайн, где есть эта функция. Если у вас другой план Excel, вы можете рассмотреть другие методы.

2. Назовите ячейки

Выберите ячейку и введите «ColorCount» в поле имени. Затем вы можете выбрать пустую ячейку и заполнить ее целевым цветом фона. Назовите эту ячейку «Цвет». Этот шаг превращает эти ячейки в именованные диапазоны, на которые вы можете ссылаться позже в своей формуле.

3. Создайте офисный скрипт

Откройте вкладку «Автоматизация» и выберите «Новая команда». Это предложит Excel открыть окно «Редактор кода». Затем вы можете ввести следующий код:

основная функция (книга: ExcelScript.Workbook) {

пусть selectedSheet = workbook.getWorksheet(«Лист1»);

let myID = selectedSheet.getRange(«Заказы[Order ID]»);

let myIDCount = selectedSheet.getRange(«Заказы[Order ID]»).getCellCount();

пусть myColorCode = selectedSheet.getRange(«Цвет»).getFormat().getFill().getColor();

пусть счетчик = 0;

for (пусть я = 0; я < myIDCount; я ++) {

если (myID.getCell(i, 0).getFormat().getFill().getColor() == myColorCode) {

счетчик = счетчик + 1;

}

}

selectedSheet.getRange(«ColorCount»).setValue(счетчик);

}

Нажмите «Выполнить», чтобы активировать скрипт. В ответ количество окрашенных ячеек появляется в ячейке ColorCount.

Советы по подсчету цветных ячеек в Excel

Вот несколько советов, которые могут помочь вам при подсчете цветных ячеек в Excel:

Используйте последовательный метод

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

Рассмотрите возможность использования таблиц

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

Тестовые формулы

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

Обратите внимание, что ни один из продуктов, упомянутых в этой статье, не связан с компанией Indeed.

 

ios

Пользователь

Сообщений: 1
Регистрация: 10.12.2013

Добрый день, помогите найти и заменить все ячейки в столбце, выделенные одним цветом (залитые), т. е. только по одному этому признаку.

 

Z

Пользователь

Сообщений: 6111
Регистрация: 21.12.2012

Win 10, MSO 2013 SP1

Ctrl+H… Однако, см. форматы… ;)

«Ctrl+S» — достойное завершение ваших гениальных мыслей!.. ;)

 

Юрий М

Модератор

Сообщений: 60747
Регистрация: 14.09.2012

Контакты см. в профиле

Заменить ЧЕМ? Где Ваш файл-пример?

 

китин

Пользователь

Сообщений: 933
Регистрация: 16.05.2013

#4

10.12.2013 11:56:16

XL 2007 и выше -автофильтр-фильтр по цвету

Изменено: китин10.12.2013 12:01:47

Вполне такой нормальный кинжальчик. Процентов на 100
<#0>

В Excel вы можете заливать разные цвета фона, чтобы выделить важное значение, но пытались ли вы когда-нибудь найти ячейки, содержащие один и тот же цвет, и сразу заменить их другим цветом в Excel?

Найти и заменить цвет заливки с помощью функции поиска и замены

Найдите и замените цвет заливки на Kutools for Excel


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

1. Выберите ячейки диапазона, которые вы хотите найти, и замените цвет заливки.

2, нажмите Ctrl + H для открытия Найти и заменить диалоговое окно, см. снимок экрана:

документ заменить цвет заливки 1

3. Затем нажмите Опции >> кнопку, чтобы развернуть Найти и заменить диалоговое окно, в развернутом диалоговом окне щелкните Формат Кроме того, Найти то, что раздел и выберите Выбрать формат из ячейки из выпадающего списка см. снимок экрана:

документ заменить цвет заливки 2

4. Затем щелкните, чтобы выбрать одну ячейку, содержащую цвет, который вы хотите заменить, после выбора цвета ячейки, затем щелкните Формат Кроме того, Заменить , и выберите Формат из выпадающего списка, см. снимок экрана:

документ заменить цвет заливки 3

5. В выскочившем Заменить формат диалоговом окне выберите один понравившийся цвет под Заполнять вкладку, см. снимок экрана:

документ заменить цвет заливки 4

6. Затем нажмите OK вернуться к Найти и заменить диалоговое окно, нажмите Заменить все кнопку, чтобы заменить цвет сразу, и появится окно с подсказкой, чтобы напомнить вам количество замен, см. снимок экрана:

документ заменить цвет заливки 5

7. Затем нажмите OK и закрыть Найти и заменить вы увидите, что ячейки с указанным вами цветом заливки были заменены другим цветом.

документ заменить цвет заливки 6


Если вас интересуют другие решения для этой задачи, я могу представить вам удобный инструмент — Kutools for Excel, С его Выбрать ячейки с форматом Утилита, вы можете быстро выделить все ячейки с одинаковым форматированием с определенной ячейкой.

После установки Kutools for Excel, пожалуйста, сделайте так:

1. Выберите диапазон данных, который вы хотите использовать.

2. Нажмите Кутулс > Выберите > Выбрать ячейки с форматом, см. снимок экрана:

3. В Выбрать ячейки с форматом диалоговое окно, нажмите Выбрать формат из ячейки кнопку, см. снимок экрана:

документ заменить цвет заливки 8

4. Затем выберите ячейку, содержащую цвет, который вы хотите заменить в Выбрать ячейки с форматом диалог, см. снимок экрана:

документ заменить цвет заливки 9

5. Затем нажмите OK, все атрибуты выбранной ячейки были перечислены в диалоговом окне, и только отметьте Цвет фона под Заполнять вариант, см. снимок экрана:

документ заменить цвет заливки 10

6, Затем нажмите Ok, сразу же выбираются все ячейки, заполненные этим цветом, затем щелкните Главная > Цвет заливкии выберите один цвет, который вы хотите, и цвет выбранных ячеек был заменен, как показано на следующем снимке экрана:

документ заменить цвет заливки 11

Чтобы узнать больше об этой функции выбора ячеек с форматированием.

Скачать и бесплатную пробную версию Kutools for Excel Сейчас !



Лучшие инструменты для работы в офисе

Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%

  • Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
  • Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон
  • Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны
  • Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
  • Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
  • Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии
  • Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
  • Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF
  • Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.

вкладка kte 201905


Вкладка Office: интерфейс с вкладками в Office и упрощение работы

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!

офисный дно

На работе столкнулся с такой задачей — имеется таблица в Excel, в которой ведется табель выходов рабочих в цеху.

В таблице подсчитывается количество часов, фактически отработанных; часов переработки и часов сверх нормы. Так вот, необходимо сделать так, чтобы производилась автоматическая выборка ячеек таблицы по цвету заливки последних.

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

Чтобы было понятнее, приведу изображение подобной таблицы. В ней необходимо произвести подсчет ячеек с заливкой зеленого цвета:

Табель выходов с зелеными ячейками

В Excel нет встроенных (готовых) инструментов для выборки подобного рода; можно отбирать ячейки только по одному условию — по значению, находящемуся в них. Поэтому решение задачи получалось только одно — через VBA (пользовательские функции).

Прекрасное и готовое решение моей задачи я нашел на сайте http://www.excel-vba.ru/. Даже не одно, а целых два решения, под разные условия. Ниже привожу последовательность шагов, которые привели меня к успеху.

Сразу скажу, что изображения были сделаны в Excel 2007. В Excel 2010 все несколько по другому, но запутаться невозможно, если что.

Первое, что нужно сделать — заставить Excel работать с пользовательскими функциями. Фактически, мы будем писать сценарий на языке VBA в Excel, но такая возможность по умолчанию отключена в этой программе. Включить ее можно следующим образом.

Переходим в “Пуск — Параметры Excel” и находим в левом списке пункт “Надстройки”:

Excel - надстройка VBA

Выбираем в основном окне строчку “Пакет анализа — VBA” и жмем кнопочку “Перейти” в самом низу окна. Откроется еще одно окошко со списком доступных под Excel расширений (надстроек). Снова выбираем в этом списке “Пакет анализа — VBA” и соглашаемся, что хотим установить его, нажав кнопку “ОК”:

Excel - Пакет анализа VBA

Потребуется установочный диск с Microsoft Office на нем (или же подключение к Интернет) чтобы программа получила необходимые пакеты для инсталляции. Если установка прошла успешно, то в “Ленте” появиться пункт “Разработчик” (Excel 2010). Можно перейти в него через эту панель или же с помощью сочетания клавиш Alt + F11.

Появиться окно, в котором выполняется написание кода на языке VBA, то есть фактически создаются пользовательские функции. Я писать их не буду, так как языка VBA не знаю и знать особого желания нет (все знать невозможно).

Вставка готовых функций в Excel VBA

Но есть готовые решения, которые я вставлю в виде кода с помощью меню “Insert — Module”. Просто берем отсюда код функций и вставляем в свой Excel. Затем сохраняем файл Excel с поддержкой VBA (макросов) и все готово для дальнейшей работы.

Вставленные функции появятся в списке формул таблицы:

Excel - пользовательские функции

Ниже представлен готовый код двух функций на 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)

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


Понравилась статья? Поделить с друзьями:
  • Как найти высокооплачиваемую работу с обучением
  • Как найти нормативную глубину промерзания грунта
  • Как найти сохранность блюда
  • Как найти приложение на андроиде которое скрыто
  • Как по телефону найти инстаграм аккаунт