Excel
Перед началом разговора о сортировке и фильтрации данных по цвету, давайте посмотрим на таблицу, служащую нам примером. Сконцентрируем своё внимание на ячейках с заголовками, но в большей степени на кнопках автофильтра в этих самых ячейках.
Смотрим мы на кнопки, смотрим, и понимаем, что кнопка автофильтра ячейки с заголовком столбца «С» значительно отличается от кнопок в ячейках-заголовках столбцов «А» и «В»:
Глядя на кнопки в ячейках, мы можем даже зрительно определить, какие команды нами были даны автофильтру.
Наличие маленькой тонкой стрелочки «вверх» или же «вниз», говорит нам о том, что была дана команда «Сортировать». Присутствие на кнопке значка «Воронка», сообщает нам о фильтрации (об отборе) данных по каким-то признакам.
Здесь возникает вопрос: А нам действительно нужно было отсортировать и ещё к тому же отфильтровать данные, или всё же что-то одно сделать?
Такое наше внимание к значкам на кнопке является дополнительным контролем процессов фильтрации и сортировки данных, ну и самих себя тоже.
А давайте, возьмём и скажем самим себе, что под сортировкой мы понимаем внутреннюю перестановку данных в таблице (списке). А под фильтрацией, — выборку определённых данных из всего их массива.
Ну, а теперь перейдём к сортировке и фильтрации данных по цвету.
Заливать цветом мы можем как шрифт, так и сами ячейки. Если нам очень нужно, то и шрифт и ячейки одновременно. Использовать цветовую гамму мы можем и для дела, то есть для сортировки и фильтрации данных, ну и просто для красоты. Всё зависит от того какие задачи мы должны решить и с какой целью мы то или другое делаем.
- Давайте на примере всё той же таблички рассмотрим два подхода к окрасу ячеек и их содержимого.
- Сначала мы выясним для себя местонахождения палитр цветов и те пути, которые нас к ним приведут.
- Во-первых, для того, чтобы что-то происходило нам нужно ячейки выделять. Делаем мы это выделение, наводя курсор на нужную ячейку и щелкая единожды левой кнопкой мыши, ну а затем начинаем свой путь к палитрам:
На самом деле, мы рассмотрим два основных пути не только конкретно к палитрам цветов, а форматированию ячеек в целом. Вообще, форматирование ячеек предполагает не только какое-то изменение ячейки в ширину и высоту с выделением её границ как прямоугольничка, но и всяческое воздействие (редактирование, форматирование) на содержащиеся в ней данные.
Основной «пульт управления» форматированием ячеек находится во вкладке «Главная»:
Щёлкнув по стрелочке рядом со значком «Ведёрко» мы раскроем операционное окошко заливки цветом ячеек, а щёлкнув по стрелочке рядом со значком в виде буквы «А», раскроем операционное окошко окрашивания данных, которые находятся внутри выделенной (жирная чёрная рамка) ячейки.
Заливать цветом мы можем сразу несколько ячеек, нужно только их выделить заранее. Если мы хотим залить цветом несколько ячеек идущих подряд (не важно, в строке или столбце), то мы должны помогать себе во время выделения удержанием клавиши Shift. Если выделяемые ячейки идут не подряд, то помогаем удержанием клавиши Ctrl.
На страницах сайта о таких выделениях мы говорили много.
Давайте зальём каким-нибудь цветом выделенную ячейку «С9»:
Щёлкнем по стрелочке значка «Ведёрко» и перед нами откроется окошко с палитрой:
В этом операционном окошке с палитрой цветов, перемещая курсор-стрелку мыши по цветным квадратикам, мы и выбираем цвет заливки ячейки. В это же самое время мы смотрим на отображение цветов в выделенной ячейке:
Как только, мы определились с выбором, то щёлкнем по квадратику-цвету, и выделенная ячейка окрасится:
Так же мы действуем в случае, когда собираемся окрасить содержимое выделенной ячейки (данные). Только в этот раз щёлкаем по стрелочке рядом со значком «А»:
Всё то, о чём сейчас шла речь, мы можем сделать в операционном окошке поименованном «Формат ячеек». Для того чтобы это окошко распахнулось, предоставив нам содержащиеся в нём опции, мы должны щёлкнуть по маленькой стрелочке в нижнем правом углу раздела «Шрифт» вкладки верхнего меню «Главная»:
Вот и открылось перед нами это самое операционное (диалоговое) окошко, в котором, нажав кнопку «Шрифт» верхнего меню:
мы можем выбрать цвет для окраса содержимого ячейки и дополнительно, много чего ещё с этим содержимым (данными) поделать. Завершающим действием будет нажатие кнопки «Ок» в нижней части операционного окошка.
- Для получения доступа к палитре для заливки самой ячейки, в верхнем меню окошка мы нажмём кнопку «Заливка»:
- Это поле окошка несколько отличается от поля с палитрой для окраса шрифта (данных). Скольжение курсором мыши по цветным квадратикам палитры, в этом случае, не повлечёт одновременного отображение цвета в строке «Образец»:
- Цвет, которым будет залита выделенная ячейка, в строке «Образец» отобразится только после щелчка мышью по цветному квадратику палитры цветов:
- Подтверждением программе выбора именно этого цвета для заливки ячейки, будет нажатие кнопки «Ок»:
Итак, мы прошли одним из двух путей к палитрам цветов. И прошли мы его ради того, чтобы в скором времени осуществлять сортировку или фильтрацию, а может и то и другое вместе, с помощью автофильтра по цвету.
Может быть, нам придётся по душе второй путь к палитрам цветов, ну и другому форматированию ячеек. Рассмотрим его.
После того как мы выделили одну или несколько ячеек, давайте сразу же нажмём правую кнопку мыши. Не обязательно, но желательно, чтобы в момент нажатия курсор находился на выделенной ячейке. Такое нажатие правой кнопки мыши раскроет перед нами перечень опций и команд:
В перечне присутствуют наши «старые знакомые»: значок «Ведёрко» и значок буквы «А». Щелчок по опции «Формат ячеек» откроет для нас уже знакомое операционное окошко, о котором мы только что говорили. Ну а опции «Фильтр» и «Сортировка» в особом представлении не нуждаются. Один щелчок по одной из этих опций и мы уже даём команды фильтру по сортировке или же по фильтрации.
Какой из двух путей нам больше нравится, тем и пойдём. А если мы будем свои действия как-то комбинировать, то это вообще замечательно. Я по моему уже как-то говорил о том, что каким бы путём мы не пошли, на этом самом пути привлекательнее всего будут выглядеть наши собственные следы.
Теперь перейдём непосредственно к фильтрации и сортировки по цвету. Перед тем как мы рассмотрим эти процессы, а точнее подготовку к запуску фильтра, хочется сказать о подходах к окрасу ячеек и их содержимого (данных). Это, в сущности, и есть те мероприятия, которые в дальнейшем позволят нам воспользоваться фильтрацией по цвету и сортировкой по цвету.
Мы можем окрашивать данные в момент их ввода. В момент ввода данных можем окрашивать ячейки. Можем окрасить (залить цветом) и ячейки и только что введённые данные.
Вспомним, что заливка определённым цветом ячеек ли, данных ли, в большей степени должна иметь смысл, а не просто, потому что так красивее.
Так, мы можем выделить цветом некоторые данные или ячейки с целью обратить внимание пользователей этими данными. Окрас в этом случае не лишён смысла.
Давайте рассмотрим на простейшем примере работу автофильтра по цвету. Произведём сначала сортировку фруктов по названиям и сортам.
Предположим, что в конце торгового дня мы вносим в табличку остатки фруктов на складе и каждое наименование фруктов окрашиваем определённым цветом:
Формируем мы табличку себе и формируем, но вдруг раздаётся звонок товароведа, который просит нас незамедлительно прислать ему данные об остатках красных яблок. Мы отвечаем ему, что через пять минут вышлем (электронной почтой) эти данные.
- Открываем вкладку «Данные» верхнего меню и, не забыв завести курсор-рамку в поле таблицы, жмём кнопку фильтр. В ячейках с заголовками появились кнопки-стрелки автофильтра:
- В данном случае нам нужна кнопка-стрелка фильтра в ячейки заголовка столбца «А». Нажмём её, а затем в открывшемся окошке команд, выберем команду «Фильтр по цвету»:
Наведение курсора мыши на команду «Фильтр по цвету» открывает перед нами окошко конкретизации, в котором содержатся цветные прямоугольнички. Эти прямоугольники отображают те цвета, которыми мы окрасили названия фруктов. Яблоки красные в нашей табличке окрашены красным цветом, поэтому мы щёлкнем мышкой по красному прямоугольнику, а затем нажмём кнопку «Ок» в нижней части окошка команд:
- И вот какой стала наша таблица:
- Остальные данные таблички (зелёные яблоки, груши, вишня) никуда не исчезли, они просто скрыты. Отключив режим фильтрации и сортировки, нажав на активную кнопку «Воронка» (горит жёлтым цветом), все скрытые данные таблицы вновь станут видимыми:
- При сортировке по цвету мы проделываем все те же действия. Отличие лишь в том, что мы выбираем команду «Сортировка по цвету»:
- После такой сортировки, в таблице будут стоять первыми данные, цвет шрифта которых соответствует, выбранному нами цвету в фильтре:
- Теперь рассмотрим сортировку и фильтрацию по цвету ячеек.
- Сначала сбросим окрас цветом названий фруктов, для того чтобы он нас не отвлекал и не путал. С этой целью щёлкнем по квадратику верхнем левом углу рабочего поля листа на пересечении нумерации строк и заголовков столбцов:
- Этим действием мы сделали выделение всего листа. Теперь обратимся к опции заливки шрифта цветом во вкладке «Главная», где одним щелчком по стрелочке раскроем окошко выбора цвета:
- В этом окошке щёлкнем по варианту «Авто» и окрас шрифта будет аннулирован:
Давайте не будем «мучить» ячейки с названиями фруктов, а задействуем ячейки с числовыми показателями. В нашей таблице числа отражают количество фруктов в килограммах.
Предположим, что запас фруктов любого наименования на складе на начало нового торгового дня не должен быть меньше 10 кг. Если остатки каких-то фруктов меньше 10 кг, то ситуация считается критической. Остатки свыше 30 кг считаются в пределах нормы, а остатки более 10 кг, но менее 30 кг относятся к пограничной зоне запасов.
Пусть ячейки с критическими запасами будут красными. Ячейки пограничной зоны жёлтыми, а ячейки с показателями в пределах нормы зелёными. Зальём ячейки соответствующими цветами. Как залить ячейки цветом мы уже знаем.
- Вот так выглядит наша таблица после заливки ячеек цветом:
- Ну что же, активизируем фильтр, а затем нажмём кнопку в ячейке заголовка столбца «С», раскрыв окошко команд для фильтрации и сортировки, в котором выберем сортировку по красному цвету, то есть ячейки, отражающие критический запас фруктов, по результатам сортировки разместятся на первом месте:
- Сделав выбор цвета, жмём кнопку «Ок», а затем смотрим на изменения в таблице:
- Предположим, что нам нужно сообщить в отдел закупок о фруктах, запасы которых относятся к пограничной зоне и требуют пополнения в ближайшие два дня. Нажатием кнопки-стрелки в ячейке с заголовком столбца «С» мы вызываем окошко команд, в котором выбираем команду «Фильтр по цвету», а в появившемся окошке с перечнем цветов, которыми окрашены ячейки, жёлтый:
- И вот такой стала наша таблица после фильтрации:
- Нам и кнопки «Ок» нажимать не пришлось, потому что фильтр сразу же представил нам таблицу с отфильтрованными данными.
- Мы можем использовать фильтр для окраса тех данных или ячеек, которые хотим выделить цветом.
Допустим нам нужно получить информацию о зелёных яблоках, их сортах и количеству (в кг) на складе. Позовём на помощь фильтр. Активизируем его. Нажмём кнопку в ячейке с заголовками фруктов и в открывшемся окошке команд поставим галочку в нужном месте, а затем нажмём кнопку «Ок»:
- И вот перед нами таблица с зелёными яблоками. Ячейки с данными мы можем выделить для окраса так:
- А можем и целой строкой:
- Для выделения всей строки листа нам нужно щёлкнуть мышью по квадратику №2 нумерации строк листа:
- А затем, удерживая левую кнопку мыши нажатой, спуститься на строку ниже (№6), и спустившись, щелчком уже правой кнопки мыши, вызвать операционное окошко, содержащее нужные опции:
- После выбора нужного нам цвета, таблица будет выглядеть так:
- Сделаем щелчок вне поля выделения для его же отмены, а затем отключим фильтр щелчком по значку «Воронка» во вкладке «Данные». И вот что у нас получилось:
Источник: http://pmweb.ru/sortirovka-i-filtratsiya-dannykh-po-tsvetu-v-excel-2010
Используем цвет ячеек в Excel
Почему возникает необходимость раскрасить таблицы в Excel? У всех разные потребности. Кто-то создает расписание занятий для ребенка и хочет сделать его красочным. У кого-то сугубо деловой подход: разный цвет ячеек позволяет быстро анализировать данные. Для тех, и для других предназначена эта статья.
Начнем с простейшего случая, то есть с раскрашивания просто потому, что хочется:
- выделите ячейки, которые должны быть закрашены одинаково (если ячейки расположены не рядом, то держите нажатой клавишу CTRL);
- в контекстном меню или на вкладке Главная (меню кнопки Формат) выберите Формат ячеек;
- на вкладке Заливка выберите основной цвет, и, если это вам нужно, цвет узора и узор (в примере цвет узора белый, основной цвет салатовый, узор — точки).
Теперь о деловом применении цвета на листе Excel. Здесь существует несколько подходов. Для выделения ячеек цветом можно использовать Условное форматирование (соответствующая кнопка имеется на вкладке Главная).
Меню этой команды включает различные варианты определения ячеек, которые должны быть оформлены цветом: значения ячеек больше, меньше заданного, равны заданному и другие (названия команд говорят за себя). При выборе одной из этих команд можно задать значение для сравнения и оформление ячейки при выполнении условия.
Если варианты оформления не подходят, то можете выбрать Пользовательский формат и выбрать цвет заливки из большего набора вариантов.
Интересную возможность выделения ячеек цветом обеспечивают Цветовые шкалы. Градиентным способом окрашиваются наибольшие, наименьшие и средние значения.
Можно воспользоваться способом выделения с помощью формул. В этом случае:
- выделите ту часть таблицы, в которой нужно закрасить ячейки;
- с помощью условного форматирования создайте правило;
- выберите тип правила с использованием формулы;
- введите формулу (в примере это превышение среднего значения);
- выберите оформление с помощью перехода по кнопке Формат.
Если вы использовали заливку ячеек, то сможете легко найти такие ячейки с помощью команды Найти и выделить (для поиска по цвету нужно щелкнуть по кнопке Формат, а чтобы ее увидеть — по кнопке Параметры).
С помощью той же команды, но опций на вкладке Заменить, можно найти нужные ячейки (в примере шестизначные числа, начинающиеся на 1) и заменить на ячейки с цветом, выбранным по команде Формат.
К ячейкам, оформленным цветом можно применять фильтр по цвету (фильтр можно включить на вкладке Данные).
Даже неполный обзор возможностей использования цвета для оформления ячеек убеждает в том, что цвет использовать стоит, и не только для красоты. Тем более что возможности эти доступны в различных версиях программы.
Источник: https://microsoft-help.ru/51-ispolzuem-cvet-yacheek-v-excel.html
Фильтр и сортировка в Excel
Инструменты фильтр и сортировка необходимы при работе с громоздкими таблицами, включающими большие объемы данных в Excel. Часто приходится иметь дело с таблицами, не умещающимися на экране монитора, а уменьшение масштаба изображения приводит к тому, что содержимое ячеек таблицы становится плохо видимым.
- 1 Фильтр в Excel
- 2 Подключение фильтра
- 3 Сортировка в Excel
Фильтр в Excel
В этом случае на помощь приходит такой инструмент как фильтр. При помощи которого можно отобразить на экране только те строки, которые в данный момент нас интересуют.
Для удобства работы с такими большими таблицами иногда ячейки и/или шрифты выделяют различными цветами. При помощи фильтра можно отобразить и определенные строки и по этим признакам.
Кроме подключения фильтра этот инструмент дает возможность отсортировать данные таблицы, то есть расположить строки таблицы в определенном порядке, например по алфавиту или по числовому значению или даже по цвету ячеек или шрифта. Такой инструмент удобен, когда составляется список в течение длительного времени без определенного порядка.
Подключение фильтра
Для подключения фильтра нужно выделить одну ячейку из диапазона таблицы и нажать на кнопку фильтр во вкладке «Главная» инструмент «Сортировка и фильтр».
При этом над каждым столбцом таблицы появятся треугольные стрелочки с выпадающим списком данных каждого столбца. Ставя и убирая, галочки возле данных, можно задать какие строки отображать в таблице.
Если галочка установлена, значит, данные этой строки будут отображаться, если нет – данные будут скрыты.
Здесь же в выпадающем списке есть и «Фильтр по цвету» при помощи которого можно отобразить только те строки таблицы, ячейки которых имеют определенный цвет. То же самое можно сделать и по «цвету шрифта».
Также здесь есть текстовые и числовые фильтры, которые позволяют отобразить не только ячейки с одинаковыми данными, но и совпадающие по какому-то признаку, например начинающиеся со слова «математика» или начинающиеся со знака «!».Числовые фильтры позволяют показать на экране, например, все строки со значениями больше 10, но меньше 100.
При этом слова в первой строке воспринимаются программой как заголовки столбцов и не могут быть скрытыми. Это зависит от того стоит галочка возле текста «Мои данные содержат заголовки». Если эту галочку убрать, то данные первой строки также могут быть отфильтрованы.
Сортировка в Excel
Сортировку также можно произвести из указанного выше выпадающего списка, а можно и из меню инструментов. При этом нужно указать, в каком порядке должны располагаться данные – в порядке возрастания или убывания. Для сортировки необязательно выделять всю таблицу, достаточно выделить одну ячейку в диапазоне таблицы, тогда по умолчанию сортировка будет произведена по первому столбцу.
Кнопка «Настраиваемая сортировка» дает возможность выбрать, по каким данным (данным какого столбца) требуется сортировка. Также здесь возможна сортировка по цвету ячеек и шрифта, это тоже можно увидеть здесь.
Таким образом, инструмент «Сортировка и фильтр» позволяет обрабатывать большие громоздкие таблицы, порой не умещающиеся на экране монитора. Также он дает возможность расположить данные таблицы в определенном порядке, который задаст пользователь.
Источник: https://compone.ru/filtr-i-sortirovka-v-excel/
Archie Goodwin
Уже, кажется, так давно работаю с Excel 2007 и выше, что иногда возвращаясь по необходимости к древнему Excel 2003, удивляешься почему там так многого нет… Одной из таких вещей является фильтр по цвету ячейки.
Те, кто имеют дело с анализом массивов данных в Excel, очень часто для удобства подкрашивают необходимые ячейки в разные цвета, чтобы структурно выделить какие-то моменты или просто выделить лишь то, что важно.
Логичным завершением таких манипуляций является сортировка или фильтрация по выделенным цветам.
К несчастью в Excel 2003 этот момент не реализован, в отличии от Excel 2007 и выше, где возможна и сортировка, и фильтр по цвету в пару кликов через инструментарий Автофильтра.
Идея
Чтобы все-таки воспользоваться возможностями ПК в анализе с помощью фильтрации цветов даже в Excel 2003 можно применить совсем маленькую пользовательскую функцию — ColorIndex.
Public Function ColorIndex(Cell As Range)
ColorIndex = Cell.Interior.ColorIndex
End Function
Суть работы функции сводится к тому, что она определяет цифровое обозначение цвета выделенной ячейки:
А уже по цифровому обозначению цвета ячейки мы можем фильтровать практически как угодно:
Как это заставить работать?)
Для этого откройте редактор Visual Basic в Excel через меню Сервис — Макрос — Редактор Visual Basic (Tools — Macro — Visual Basic Editor), вставьте новый пустой модуль (меню Insert — Module) и скопируйте туда код выше представленной функции.
После этого можно закрыть редактор Visual Basic, вернуться в табличку Excel и, выделив любую пустую ячейку, вызвать созданную функцию ColorIndex через меню Вставка — Функция — категория Определенные пользователем (Insert — Function — User defined) и в качестве аргумента укажите ячейку, цвет заливки которой хотите получить в виде цифрового кода. Или просто пропишите в строке формулы: «=ColorIndex()», а между скобками укажите ссылку на нужную ячейку с цветом.
Применительно к спискам, такая функция позволит легко сортировать и фильтровать ячейки по цвету заливки.
На всякий случай, напомню, что добавленная нами пользовательская функция будет доступна только в этом файле, чтобы воспользоваться ее услугами в других старых файлах или любых новых, вышеописанные действия по добавлению кода нужно будет проделывать каждый раз.
А что если?.. хочется фильтр по цвету текста
Это вполне реализуемо аналогичным способом, только код будет чуточку другой:
Public Function ColorIndexF(Cell As Range)
ColorIndexF = Cell.Font.ColorIndex
End Function
А функция соответственно будет называться ColorIndexF.
PS К минусам этих функций можно отнести только:
1. Они не могут определить цвета используемые в условном форматировании, только те цвета, которые «проставленны» вручную.
2. Если надумаете использовать эту функцию как вставку в макросе, имейте ввиду, что она не пересчитывается автоматически, придется заставить эксель пересчитать значение ячеек.
Источник: http://archie-goodwin.net/load/specializirovannye_blogi/ms_office/filtr_po_cvetu_v_excel_2003/28-1-0-383
Excel — выборка ячеек по цвету заливки
На работе столкнулся с такой задачей — имеется таблица в Excel, в которой ведется табель выходов рабочих в цеху.
В таблице подсчитывается количество часов, фактически отработанных; часов переработки и часов сверх нормы. Так вот, необходимо сделать так, чтобы производилась автоматическая выборка ячеек таблицы по цвету заливки последних.
То есть, нужно отобрать все ячейки с заливкой определенного цвета, подсчитать их количество; а затем применить к полученному значению определенные формулы.
Чтобы было понятнее, приведу изображение подобной таблицы. В ней необходимо произвести подсчет ячеек с заливкой зеленого цвета:
В Excel нет встроенных (готовых) инструментов для выборки подобного рода; можно отбирать ячейки только по одному условию — по значению, находящемуся в них. Поэтому решение задачи получалось только одно — через VBA (пользовательские функции).
Прекрасное и готовое решение моей задачи я нашел на сайте http://www.excel-vba.ru/. Даже не одно, а целых два решения, под разные условия. Ниже привожу последовательность шагов, которые привели меня к успеху.
Сразу скажу, что изображения были сделаны в Excel 2007. В Excel 2010 все несколько по другому, но запутаться невозможно, если что.
Режим “Разработчик” в Excel
Первое, что нужно сделать — заставить 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” выполняет выборку ячеек по цвету заливки и суммирует все значения в этих ячейках.
Обе функции имеют одинаковый синтаксис и принимают три входных аргумента, первые два из которых обязательные, а третий — необязательный:
- — диапазон с ячейками для подсчета
- — ячейка-образец с цветом заливки
- — или учитывает скрытые ячейки; , или опущен(по умолчанию) — скрытые ячейки не подсчитываются.
Функция подсчета количества ячеек
'—————————————————————————————
' 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)
Думаю, что больше сказать по поводу создания (точнее — вставки готового решения) пользовательских функций и способа выборки ячеек в таблице по цвету их заливки мне нечего.
Первый «серьезный» метод в моей RxJs-копилке знаний. На самом деле все просто — этот метод получает на вход поток, обрабатывает каждый ev…… Continue reading
Published on September 02, 2019 Published on August 30, 2019
Источник: http://gearmobile.github.io/excel/excel-select-cell-by-color/
Сортировка диапазона по цвету
42551 10.11.2012 Скачать пример
Способ 1. Если у вас Excel 2007 или новее..
Тут все просто. Начиная с 2007-й версии в Excel добавили сортировку и фильтрацию по цвету заливки и по цвету шрифта как штатную функцию. Проще всего до них добраться через стандартный автофильтр:
Из минусов только невозможность фильтровать сразу по нескольким цветам.
Способ 2. Если у вас Excel 2003 или старше..
Версии Microsoft Excel до 2007 года в своем исходном состоянии не умели сортировать ячейки по формату, что, безусловно, является серьезным недостатком, если Вы используете цветовые кодировки в своих таблицах (а это бывает удобно). Поэтому давайте исправим досадное упущение — напишем на VBA простую пользовательскую функцию ColorIndex, которая будет выводить числовой код цвета заливки любой заданной ячейки. По этому коду мы и будем далее сортировать.
Для этого откройте редактор Visual Basic через меню Сервис — Макрос — Редактор Visual Basic (Tools — Macro — Visual Basic Editor), вставьте новый пустой модуль (меню Insert — Module) и скопируйте туда текст простой функции:
Public Function ColorIndex(Cell As Range)
ColorIndex = Cell.Interior.ColorIndex
End Function
Теперь можно закрыть редактор Visual Basic, вернуться в Excel и, выделив любую пустую ячейку, вызвать созданную функцию ColorIndex через меню Вставка — Функция — категория Определенные пользователем (Insert — Function — User defined). В качестве аргумента укажите ячейку, цвет заливки которой хотите получить в виде цифрового кода.
Применительно к спискам, такая функция позволит легко сортировать ячейки по цвету заливки:
Если вам нужно вытаскивать не код цвета заливки, а код цвета шрифта, то функция слегка изменится:
Public Function ColorIndex(Cell As Range)
ColorIndex = Cell.Font.ColorIndex
End Function
P.S
Наша функция ColorIndex, к сожалению, имеет пару недостатков:
- С ее помощью нельзя получить цвет, который ячейка имеет при использовании условного форматирования
- Она не пересчитывается автоматически при изменении цвета одной из ячеек, поскольку Excel не считает изменение цвета редактированием содержимого ячейки и не запускает автоматического пересчета листа. Это нужно сделать самому, нажав Ctrl+Alt+F9, либо дописав к нашей функции в каждой ячейке вот такую добавку: =ColorIndex(A2)+СЕГОДНЯ()*0 чтобы содержимое ячейка пересчитывалась автоматически при каждом пересчете листа.
Ссылки по теме
Источник: https://www.planetaexcel.ru/techniques/2/102/
Как в экселе отфильтровать по цвету?
Главная » Прочее »
Загрузка…
Вопрос знатокам: Как пользоваться Excel. Как в Excel 2003 в списке отфильтровать строки залитые цветом?
С уважением, Виктор Назаров
Лучшие ответы
написать на VBA простую пользовательскую функцию ColorIndex, которая будет выводить числовой код цвета заливки любой заданной ячейки. По этому коду и сортировать. Для этого откройте редактор Visual Basic через меню Сервис — Макрос — Редактор Visual Basic вставьте новый пустой модуль (меню Insert — Module) и скопируйте туда текст простой функции:
Public Function ColorIndex(Cell As Range) ColorIndex = Cell.Interior.ColorIndex
End Function
Теперь можно закрыть редактор Visual Basic, вернуться в Excel и, выделив любую пустую ячейку, вызвать созданную функцию ColorIndex через меню Вставка — Функция — категория Определенные пользователем.
В качестве аргумента указать ячейку, цвет заливки которой хотите получить в виде цифрового кода.
Если нужно вытаскивать не код цвета заливки, а код цвета шрифта, то функция слегка изменится:Public Function ColorIndex(Cell As Range) ColorIndex = Cell.Font.ColorIndex
End Function
P.S.
функция ColorIndex, к сожалению, имеет пару недостатков: С ее помощью нельзя получить цвет, который ячейка имеет при использовании условного форматирования Она не пересчитывается автоматически при изменении цвета одной из ячеек, поскольку Excel не считает изменение цвета редактированием содержимого ячейки и не запускает автоматического пересчета листа. Это нужно сделать самому, нажав Ctrl+Alt+F9, либо дописав к функции в каждой ячейке вот такую добавку: =ColorIndex(A2)+СЕГОДНЯ ()*0
чтобы содержимое ячейка пересчитывалась автоматически при каждом пересчете листа.
в фильтре есть сортировка по цвету. смотри
Видео-ответ
Это видео поможет разобраться
Ответы знатоков
Для Саня Семенов цитата: если чайник то никак а если сображаешь то пиши скрипт или супер мега формулу (хотя формулой наверное не получиться ) Утверждение и отрицание — одновременно! Это мнение не чайника. Оригинально !!!(знаки препинания и правописание глаголов — не в счет. Все таки это технический форум)
специально просмотрела 100 последних ответов. по Excel — ни одного !
Для Алёна Алёнина Если надо закрасить цветом ячейки, значение которых больше/меньше/равно какому-то «n» , тогда выделяешь то что надо . Потом меню => Формат => условное форматирование Машина предложит выбрать условия и там же выбирай цвет текста или заливки.
если не получится — высылай файлик на почту
если чайник то никак а если сображаешь то пиши скрипт или супер мега формулу (хотя формулой наверное не получиться )
все правильно, ничего необычного
«… у коллеги при тех же действиях …»эксель глючный ( возможно 2007)быль:использую формулу РАЗНДАТ (A1;A2;»md»)ответ 130 (!)
Специально не удаляю! использую как «наглядное пособие»
Источник: https://dom-voprosov.ru/prochee/kak-v-eksele-otfiltrovat-po-tsvetu