MulTEx »
1 Май 2011 16411 просмотров
Данная функция является частью надстройки MulTEx
Суммирование ячеек по формату ячейки
Функция суммирует ячейки по их формату(правая кнопка мыши на ячейке —Формат ячеек(Format cells)-вкладка Число(Number)). К примеру: имеются данные по каким-либо финансовым операциям(продажи, суммы заключенных договоров, прибыль и т.д. и т.п.). И данные эти записаны по разному: где-то это формат долларов, где-то формат рублей, где-то гривны. А надо просуммировать отдельно гривны, отдельно доллары и отдельно рубли:
В Excel нет функции, которая бы суммировала данные, различая формат ячейки. Вот тогда-то и может пригодится эта функция.
Вызов команды через стандартный диалог:
Мастер функций—Категория «MulTEx»— СуммаЯчеек_Формат
Вызов с панели MulTEx:
Сумма/Поиск/Функции — Математические — СуммаЯчеек_Формат
Синтаксис:
=СуммаЯчеек_Формат($E$2:$E$20;J8;I8;$A$2:$A$20)
=СуммаЯчеек_Формат($E$2:$E$20;J8)
=СуммаЯчеек_Формат($E$2:$E$20;J8;I8)
ДиапазонСуммирования(
$E$2:$E$20
) — диапазон значений для суммирования. Можно указать несколько столбцов. Столбец с критерием(если планируется суммировать еще и по критерию) не обязательно должен входит в диапазон. Именно в этом диапазоне ищутся совпадения формата ячейки с указанным.
ЯчейкаОбразец(J8) — ячейка-образец формата. Ссылка на ячейку с форматом (ячейки именно с таким же форматом будут просуммированы).
Критерий(I8) — необязательный аргумент. Если указан, то суммируются ячейки с указанным критерием и форматом ячейки. Допускается применение в критерии символов подстановки — «*» и «?«. Если не указан, то суммируются все ячейки, к которым применен указанный формат. Если в диапазоне суммирования находятся ячейки с текстом, то они будут игнорироваться.
Так же данный аргумент может принимать в качестве критерия символы сравнения (<, >, =, <>, <=, =>):
- «>0» — будут просуммированы все ячейки в ДиапазонеСуммирования, значения ячеек критериев для которых больше нуля;
- «>=2» — будут просуммированы все ячейки в ДиапазонеСуммирования, значения ячеек критериев для которых больше или равно двум;
- «<0» — будут просуммированы все ячейки в ДиапазонеСуммирования, значения ячеек критериев для которых меньше нуля;
- «<=60» — будут просуммированы все ячейки в ДиапазонеСуммирования, значения ячеек критериев для которых меньше или равно 60;
- «<>0» — будут просуммированы все ячейки в ДиапазонеСуммирования, значения ячеек критериев для которых не равно нулю;
- «<>» — будут просуммированы все ячейки в ДиапазонеСуммирования, значения ячеек критериев для которых не пустые;
- «*отчет*» — будут просуммированы все ячейки в ДиапазонеСуммирования, значения ячеек критериев для которых содержит слово «отчет»;
Вместо нуля может быть любое число или текст. Так же можно добавить ссылку на ячейку со значением: «<>»&D$1
ДиапазонКритерия($A$2:$A$20) — Необязательный аргумент. Указывается диапазон, в котором следует искать критерий(если критерий указан). ДиапазонКритерия должен быть равен по количеству ячеек ДиапазонуСуммирования. Если ДиапазонКритерия не указан, то критерий просматривается в ДиапазонеСуммирования.
Важно: Функция не вычисляется при изменении формата. Для пересчета функции после изменения параметров необходимо выделить ячейку и нажать F2-Enter. Либо нажать сочетания клавиш Shift+F9(пересчет функций активного листа) или клавишу F9(пересчет функций всей книги).
Примечание: данная функция не учитывает ячейки, к котjрым применено Условное Форматирование. Будет определен тот формат, который установлен через Формат ячеек стандартными средствами.
Расскажи друзьям, если статья оказалась полезной:
Видеоинструкции по использованию надстройки MulTEx
СУММ (функция СУММ)
Функция СУММ добавляет значения. Вы можете складывать отдельные значения, диапазоны ячеек, ссылки на ячейки или данные всех этих трех видов.
Пример
-
=СУММ(A2:A10) Добавляет значения в ячейки A2:10.
-
=СУММ(A2:A10;C2:C10) Добавляет значения в ячейки A2:10, а также ячейки C2:C10.
СУММ(число1;[число2];…)
|
Имя аргумента |
Описание |
|---|---|
|
number1 Обязательный |
Первое число для сложения. Это может быть число 4, ссылка на ячейку, например B6, или диапазон ячеек, например B2:B8. |
|
число2-255 Необязательный |
Это второе число для сложения. Можно указать до 255 чисел. |
Этот раздел содержит некоторые рекомендации по работе с функцией СУММ. Многие из этих рекомендаций можно применить и к другим функциям.
Метод =1+2 или =A+B. Вы можете ввести =1+2+3 или =A1+B1+C2 и получить абсолютно точные результаты, однако этот метод ненадежен по ряду причин.
-
Опечатки. Допустим, вы пытаетесь ввести много больших значений такого вида:
-
=14598,93+65437,90+78496,23
А теперь попробуйте проверить правильность записей. Гораздо проще поместить эти значения в отдельные ячейки и использовать их в формуле СУММ. Кроме того, значения в ячейках можно отформатировать, чтобы привести их к более наглядному виду, чем если бы они были в формуле.
-
-
Ошибки #ЗНАЧ!, если ячейки по ссылкам содержат текст вместо чисел
Допустим, вы используете формулу такого вида:
-
=A1+B1+C1 или =A1+A2+A3
Если ячейки, на которые указывают ссылки, содержат нечисловые (текстовые) значения, формула может вернуть ошибку #ЗНАЧ!. Функция СУММ пропускает текстовые значения и выдает сумму только числовых значений.
-
-
Ошибка #ССЫЛКА! при удалении строк или столбцов
При удалении строки или столбца формулы не обновляются: из них не исключаются удаленные значения, поэтому возвращается ошибка #ССЫЛКА!. Функция СУММ, в свою очередь, обновляется автоматически.
-
Формулы не обновляют ссылки при вставке строк или столбцов
При вставке строки или столбца формула не обновляется — в нее не включается добавленная строка, тогда как функция СУММ будет автоматически обновляться (пока вы не вышли за пределы диапазона, на который ссылается формула). Это особенно важно, когда вы рассчитываете, что формула обновится, но этого не происходит. В итоге ваши результаты остаются неполными, и этого можно не заметить.
-
Функция СУММ — отдельные ячейки или диапазоны.
Используя формулу такого вида:
-
=СУММ(A1;A2;A3;B1;B2;B3)
вы изначально закладываете в нее вероятность появления ошибок при вставке или удалении строк в указанном диапазоне по тем же причинам. Гораздо лучше использовать отдельные диапазоны, например:
-
=СУММ(A1:A3;B1:B3)
Такая формула будет обновляться при добавлении и удалении строк.
-
-
Мне нужно добавить, вычесть, умножить или поделить числа. Просмотрите серию учебных видео: Основные математические операции в Excel или Использование Microsoft Excel в качестве калькулятора.
-
Как уменьшить или увеличить число отображаемых десятичных знаков? Можно изменить числовой формат. Выберите соответствующую ячейку или соответствующий диапазон и нажмите клавиши CTRL+1, чтобы открыть диалоговое окно Формат ячеек, затем щелкните вкладку Число и выберите нужный формат, указав при этом нужное количество десятичных знаков.
-
Как добавить или вычесть значения времени? Есть несколько способов добавить или вычесть значения времени. Например, чтобы получить разницу между 8:00 и 12:00 для вычисления заработной платы, можно воспользоваться формулой =(«12:00»-«8:00»)*24, т. е. отнять время начала от времени окончания. Обратите внимание, что Excel вычисляет значения времени как часть дня, поэтому чтобы получить суммарное количество часов, необходимо умножить результат на 24. В первом примере используется формула =((B2-A2)+(D2-C2))*24 для вычисления количества часов от начала до окончания работы с учетом обеденного перерыва (всего 8,5 часов).
Если вам нужно просто добавить часы и минуты, вы можете просто вычислить сумму, не умножая ее на 24. Во втором примере используется формула =СУММ(A6:C6), так как здесь нужно просто посчитать общее количество часов и минут, затраченных на задания (5:36, т. е. 5 часов 36 минут).
Дополнительные сведения см. в статье Сложение и вычитание значений времени
-
Как получить разницу между датами? Как и значения времени, значения дат можно добавить или вычесть. Вот распространенный пример вычисления количества дней между датами. Для этого используется простая формула =B2-A2. При работе со значениями дат и времени важно помнить, что дата или время начала вычитается из даты или времени окончания.
Другие способы работы с датами описаны в статье Вычисление разности двух дат.
-
Как вычислить сумму только видимых ячеек? Иногда когда вы вручную скрываете строки или используете автофильтр, чтобы отображались только определенные данные, может понадобиться вычислить сумму только видимых ячеек. Для этого можно воспользоваться функцией ПРОМЕЖУТОЧНЫЕ.ИТОГИ. Если вы используете строку итогов в таблице Excel, любая функция, выбранная из раскрывающегося списка «Итог», автоматически вводится как промежуточный итог. Дополнительные сведения см. в статье Данные итогов в таблице Excel.
Дополнительные сведения
Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.

См. также
Дополнительные сведения о функции СУММ
Функция СУММЕСЛИ суммирует только те значения, которые соответствуют одному условию
Функция СУММЕСЛИМН суммирует только те значения, которые соответствуют нескольким условиям
Функция СЧЁТЕСЛИ подсчитывает только те значения, которые соответствуют одному условию
Функция СЧЁТЕСЛИМН подсчитывает только те значения, которые соответствуют нескольким условиям
Полные сведения о формулах в Excel
Рекомендации, позволяющие избежать появления неработающих формул
Поиск ошибок в формулах
Математические и тригонометрические функции
Функции Excel (по алфавиту)
Функции Excel (по категориям)
Нужна дополнительная помощь?
Влияние формата ячеек на работу функции СУММ
При работе с функцией СУММ() в Excel следует учитывать особенности форматов данных, которые могут влиять на итоговые суммы при вычислениях.
Стоит обратить внимание на поведение самих форматов при работе с разными типами значений. При определенных условиях они могут автоматически изменяться и по-разному.
Ошибки суммирования при точке вместо запятой
Заполните ячейки значениями как показано на рисунке (в ячейке B2 точка вместо запятой):
Выделите диапазон A1:B3. Потом нажмите на закладке «Главная» инструмент «Сумма» (или нажмите ALT+=), чтобы автоматически просуммировать столбцы по отдельности.
Точка вместо запятой для Excel является текстом по умолчанию. Функция СУММ() пропускает текстовые значения при суммировании ячеек. В результате мы видим разные суммы.
Данная ошибка является опасной, особенно когда в таблице много данных. Во-первых, ее легко допустить, а во-вторых трудно заметить. Поэтому Excel в формате по умолчанию «Общий» выравнивает текст по левой стороне, а числа по правой. Если суммы не сходятся, стоит всем ячейкам задать формат «Общий», чтобы найти, где вместо запятой стоит точка. Но есть еще лучший способ.
Как найти текст в числовых значениях?
Чтобы быстро найти все ячейки, где точка вместо запятой нужно сделать следующее:
- Выберите инструмент «Главная»-«Найти и выделить»-«Перейти» (или нажмите комбинацию горячих клавиш CTRL+G).
- В появившимся окне нажмите на кнопку «Выделить».
- В окне «Выделение группы ячеек» нужно выбрать опцию «Константы» и отметить галочкой только «Текст». После чего нажать ОК.
Так программа автоматически выделить все ячейки, которые содержат текстовые значения. Их не нужно искать в больших таблицах и прайсах, чтобы исправить ошибку.
Если точек слишком много, можно использовать инструмент «Главная»-«Найти и выделить»-«Заменить» (или комбинация клавиш CTRL+H). Он позволит в Excel заменить точку, на запятую – автоматически.
Внимание. Если перед поиском текстовых значений выше описанным методом был выделен диапазон, то поиск будет ограничен этим же диапазоном. Поэтому перед поиском точек лучше снять все выделения.
|
Суммирование ячеек по формату ячейки |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
Количество и сумма ячеек по цвету в Excel
Разберем простые способы как посчитать количество, и как суммировать ячейки по цвету в Excel.
Мы часто при работе в Excel окрашиваем ячейки различными цветами для лучшей визуализации данных.
Однако, когда возникает необходимость произвести какие-либо расчеты с обработанными данными мы сталкиваемся с трудностями в связи с малыми возможностями стандартных средств Excel.
Рассмотрим две простые функции, которые дают возможность суммировать ячейки, и посчитать количество выделенных цветом ячеек.
Суммирование ячеек по цвету
Перейдем в редактор VBA, для этого в панели вкладок выбираем Разработчик -> Visual Basic (или нажимаем комбинацию клавиш Alt + F11).
Создаем новый модуль и добавляем в него следующий код (напротив каждой строчки дается пояснение к коду):
Функция СУММЦВЕТ содержит два аргумента:
- MyRange(обязательный аргумент) — диапазон ячеек для суммирования;
- MyCell(обязательный аргумент) — ячейка, по цвету заливки которой рассчитывается сумма.
Функция СУММЦВЕТ теперь будет определяться при вводе формулы в ячейку, переходим из редактора на лист Excel и воспользуемся новой функцией:

При этом, если выбранная ячейка не имеет заливки, то функция суммы ячеек по выбранному цвету также будет работать.
Подсчет количества ячеек по цвету
Чтобы посчитать ячейки одного цвета достаточно немного видоизменить функцию для подсчета суммы — вместо прибавления значения текущей ячейки (Sum = Sum + cell.Value) мы добавляем 1 (Sum = Sum + 1).
При работе с данными функциями обратите внимание на два важных момента:
- Если цвет выбранной ячейки определяется с помощью условного форматирования (т.е. цвет ячейки определяется не за счет заливки), то рассмотренные функции не сработают.
- В случае изменения раскраски ячейки в Excel формулы автоматически не пересчитываются, так как не изменяется содержимое ячейки, поэтому для корректного расчета необходимо произвести пересчет формул. Комбинация клавиш Shift + F9 пересчитает формулы на активном листе (F9 — для всей книги).
Сложение значений в зависимости от цвета ячеек в MS EXCEL
Просуммируем значения ячеек в зависимости от цвета их заливки. Здесь же покажем, как подсчитать такие ячейки.
Функции для суммирования значений по цвету ячеек в EXCEL не существует (по крайней мере, в EXCEL 2016 и в более ранних версиях). Вероятно, подавляющему большинству пользователей это не требуется.
Пусть дан диапазон ячеек в столбце А. Пользователь выделил цветом ячейки, чтобы разбить значения по группам.
Необходимо сложить значения ячеек в зависимости от цвета фона. Основная задача: Как нам «объяснить» функции сложения, что нужно складывать значения, например, только зеленых ячеек?
Это можно сделать разными способами, приведем 3 из них: с помощью Автофильтра, Макрофункции ПОЛУЧИТЬ.ЯЧЕЙКУ() и VBA.
С помощью Автофильтра (ручной метод)
- Добавьте справа еще один столбец с заголовком Код цвета.
- Выделите заголовки и нажмите CTRL+SHIFT+L, т.е. вызовите Автофильтр (подробнее здесь)
- Вызовите меню Автофильтра, выберите зеленый цвет
- Будут отображены только строки с зелеными ячейками
- Введите напротив каждого «зеленого» значения число 1
- Сделайте тоже для всех цветов
Введите формулу =СУММЕСЛИ(B7:B17;E7;A7:A17) как показано в файле примера (лист Фильтр) .
Для подсчета значений используйте функцию СЧЕТЕСЛИ() .
С помощью Макрофункции ПОЛУЧИТЬ.ЯЧЕЙКУ()
Сразу предупрежу, что начинающему пользователю EXCEL будет сложно разобраться с этим и следующим разделом.
Идея заключается в том, чтобы автоматически вывести в соседнем столбце числовой код фона ячейки (в MS EXCEL все цвета имеют соответствующий числовой код). Для этого нам потребуется функция, которая может вернуть этот код. Ни одна обычная функция этого не умеет. Используем макрофункцию ПОЛУЧИТЬ.ЯЧЕЙКУ(), которая возвращает код цвета заливки ячейки (она может много, но нам потребуется только это ее свойство).
Примечание: Макрофункции — это набор функций к EXCEL 4-й версии, которые нельзя напрямую использовать на листе EXCEL современных версий, а можно использовать только в качестве Именованной формулы. Макрофункции — промежуточный вариант между обычными функциями и функциями VBA. Для работы с этими функциями требуется сохранить файл в формате с макросами *.xlsm
- Сделайте активной ячейку В7(это важно, т.к. мы будем использовать относительную адресацию в формуле)
- В Диспетчере имен введите формулу =ПОЛУЧИТЬ.ЯЧЕЙКУ(63;Макрофункция!A7)
- Назовите ее Цвет
- Закройте Диспетчер имен
- Введите в ячейку В7формулу =Цвет и скопируйте ее вниз.
Сложение значений организовано так же как и в предыдущем разделе.
Макрофункция работает кривовато:
- если вы измените цвет ячейки, то макрофункция не обновит значения кода (для этого нужно опять скопировать формулу из В7вниз или выделить ячейку, нажать клавишу F2 и затем ENTER)
- функция возвращает только 56 цветов (так называемая палитра EXCEL), т.е. если цвета близки, например, зеленый и светло зеленый, то коды этих цветов могут совпасть. Подробнее об этом см. лист файла примера Colors . Как следствие, будут сложены значения из ячеек с разными цветами.
С помощью VBA
В файле примера на листе VBA приведено решение с помощью VBA. Решений может быть множество:
- можно создать кнопку, после нажатия она будет вводить код цвета в соседний столбец (реализован этот вариант).
- можно написать пользовательскую функцию, которая будет автоматически обновлять код цвета при изменении цвета ячейки (реализовать несколько сложнее);
- можно написать программу, которая будет анализировать диапазон цветных ячеек, определять количество различных цветов, вычислять в отдельном диапазоне суммы для каждого цвета (реализовать не сложно, но у каждого пользователя свои требования: ячейки с суммами должны быть в определенном месте, необходимо учесть возможность дополнения диапазона новыми значениями и пр.).
СуммаЯчеек_Заливка
Данная функция является частью надстройки MulTEx
- Описание, установка, удаление и обновление
- Полный список команд и функций MulTEx
- Часто задаваемые вопросы по MulTEx
Скачать MulTEx
Суммирование ячеек по цвету заливки
Как часто Вы при работе с таблицами окрашиваете ячейки в тот или иной цвет? Желтый — расходы Транспортного отдела, Красный — Экономического, Зеленый — Администрация и т.п. А потом хочется все эти расходы просуммировать, и не просто просуммировать ВСЕ расходы, а только расходы в ячейках с определенным цветом заливки. Это еще одна нерешенная проблема Excel. Разработчики категорически не хотят встраивать в него хоть какую-то функцию для суммирования данных в ячейках с определенным цветом заливки. Именно это делает данная функция — СуммаЯчеек_Заливка.
Вызов команды через стандартный диалог:
Мастер функций—Категория «MulTEx»— СуммаЯчеек_Заливка
Вызов с панели MulTEx:
Сумма/Поиск/Функции — Математические — СуммаЯчеек_Заливка
Синтаксис:
=СуммаЯчеек_Заливка( $E$2:$E$20 ; $E$7 ; I3 ; $A$2:$A$20 )
В принципе, данная функция аналогична по сути стандартной СУММЕСЛИ, только в качестве основного критерия здесь ячейка с заливкой. Но можно указать и привычный критерий — значение ячейки, в таком случае суммироваться будут ячейки с указанным цветом и критерием.
ДиапазонСуммирования( $E$2:$E$20 )- диапазон значений для суммирования. Можно указать несколько столбцов. Столбец с критерием(если планируется суммировать еще и по критерию) не обязательно должен входит в диапазон.
ЯчейкаОбразец( $E$7 ) — ячейка-образец заливки. Ссылка на ячейку с цветом заливки.
Критерий( I3 ) — необязательный аргумент. Если указан, то суммируются ячейки с указанным критерием и цветом заливки. Допускается применение в критерии символов подстановки — «*» и «?» . Если не указан, то суммируются все ячейки с указанным цветом заливки. Если в диапазоне суммирования находятся ячейки с текстом, то они будут игнорироваться.
Так же данный аргумент может принимать в качестве критерия символы сравнения ( , =, <>, ):
- «>0» — будут просуммированы все ячейки в столбце суммирования, значения ячеек критериев для которых больше нуля;
- «>=2» — будут просуммированы все ячейки в столбце суммирования, значения ячеек критериев для которых больше или равно двум;
- » — будут просуммированы все ячейки в столбце суммирования, значения ячеек критериев для которых меньше нуля;
- » — будут просуммированы все ячейки в столбце суммирования, значения ячеек критериев для которых меньше или равно 60;
- «<>0″ — будут просуммированы все ячейки в столбце суммирования, значения ячеек критериев для которых не равно нулю;
- «<>» — будут просуммированы все ячейки в столбце суммирования, значения ячеек критериев для которых не пустые;
Вместо нуля может быть любое число или текст. Так же можно добавить ссылку на ячейку со значением: «<>«&D$1
ДиапазонКритерия( $A$2:$A$20 ) — Необязательный аргумент. Указывается диапазон, в котором следует искать критерий(если критерий указан). ДиапазонКритерия должен быть равен по количеству ячеек ДиапазонуСуммирования. Если ДиапазонКритерия не указан, то критерий просматривается в ДиапазонеСуммирования.
ИспУФ() — Необязательный аргумент. Допускается указание логических значений ИСТИНА(TRUE) или ЛОЖЬ(FALSE). По умолчанию принимает значение ИСТИНА. Если указан как ИСТИНА, то функция будет суммировать ячейки с учетом примененного к ним условного форматирования. Если указан как ЛОЖЬ, то функция будет суммировать ячейки без учета примененного условного форматирования, т.е. даже если условное форматирование применено и ячейка окрашена с его помощью, а реальный цвет заливки не соответствует цвету ЯчейкиОбразца — то её значение не будет суммироваться.
Важно: Функция не вычисляется при изменении цвета заливки. Для пересчета функции после изменения параметров необходимо выделить ячейку и нажать F2—Enter. Либо нажать сочетания клавиш Shift+F9(пересчет функций активного листа) или клавишу F9(пересчет функций всей книги)
Примечание: данная функция будет корректно работать даже при примененном к ячейке Условном форматировании. Однако если в ячейке/диапазоне присутствуют условия, формат для которых задан при помощи шкал, градиентов, гистограмм и значков — функция может вернуть некорректный результат. Связано это с тем, что Excel не предоставляет доступ к данным типам УФ извне.
Сумма ячеек по цвету
Помечать ячейки цветом, используя заливку или цвет шрифта, очень удобно и наглядно. Если вы не дальтоник, конечно 🙂 Трудности возникают тогда, когда по такой раскрашенной таблице возникает необходимость сделать отчет. И если фильтровать и сортировать по цвету Excel в последних версиях научился, то суммировать по цвету до сих пор не умеет.
Чтобы исправить этот существенный недостаток можно использовать несложную пользовательскую функцию на Visual Basic, которая позволит нам суммировать ячейки с определенным цветом.
Откройте редактор Visual Basic:
- В Excel 2003 и старше для этого нужно выбрать в меню Сервис — Макрос — Редактор Visual Basic (Tools — Macro — Visual Basic Editor)
- В новых версиях Excel 2007-2013 перейти на вкладку Разработчик (Developer) и нажать кнопку Visual Basic. Если такой вкладки у вас не видно, то включите ее в настройках Файл — Параметры — Настройка ленты (File — Options — Customize Ribbon)
В окне редактора вставьте новый модуль через меню Insert — Module и скопируйте туда текст вот такой функции:
Если теперь вернуться в Excel, то в Мастере функций (Вставка — Функция) в появившейся там категории Определенные пользователем (User Defined) можно найти нашу функцию и вставить ее на лист:
У нее два аргумента:
- DataRange — диапазон раскрашенных ячеек с числами
- ColorSample — ячейка, цвет которой принимается как образец для суммирования
Цвет шрифта
Легко изменить нашу функцию, чтобы она учитывала не цвет заливки фона, а цвет шрифта ячейки. Для этого в строке 6 просто замените свойство Interior на Font в обеих частях выражения.
Количество вместо суммы
Если вам нужно подсчитывать не сумму покрашенных определенным цветом ячеек, а всего лишь их количество, то наша функция будет еще проще. Замените в ней 7-ю строку на:
Нюансы пересчета
К сожалению изменение цвета заливки или цвета шрифта ячейки Excel не считает изменением ее содержимого, поэтому не запускает пересчет формул. То есть при перекрашивании исходных ячеек с числами в другие цвета итоговая сумма по нашей функции пересчитываться не будет.
Полностью решить эту проблему невозможно, но можно ее существенно облегчить. Для этого в третьей строке нашей функции используется команда Application.Volatile True. Она заставляет Excel пересчитывать результаты нашей функции при изменении любой ячейки на листе (или по нажатию F9).
И помните о том, что наша функция перебирает все (и пустые тоже) ячейки в диапазоне DataRange и не задавайте в качестве первого аргумента целый столбец — «думать» будет долго 🙂
Как в Microsoft Excel суммировать ячейки по цвету
Написал admin. Опубликовано в рубрике Офисные приложения

Для этого в Excel версии 2007-2013 переходим на вкладку Разработчик и нажимаем Visual Basic.
Если такой вкладки нет, то включаем ее следующим образом: Файл/Параметры/Настройка ленты и ставим галочку напротив слова Разработчик.
В открывшемся окне редактора нажимаем Insert/Module и копируем туда следующий текст:
Public Function SumByColor(DataRange As Range, ColorSample As Range) As Double Dim Sum As Double Application.Volatile True For Each cell In DataRange If cell.Interior.Color = ColorSample.Interior.Color Then Sum = Sum + cell.Value End If Next cell SumByColor = Sum End Function
Сохраняем изменения. Далее в Excel на вкладке Формулы выбираем пункт Вставить функцию. Необходимо выбрать категорию Определенные пользователем – тогда отобразится наша функция – SumByColor.
У этой функции 2 аргументы:
DataRange – диапазон ячеек с числами;
ColorSample – ячейка, цвет которой является образцом для суммирования.
Вот и все. Данная функция корректно работает на последних версиях Excel. Надеюсь, она пригодится Вам при составлении отчетов.


























Скачать MulTEx

