Excel суммировать ячейки по формату

MulTEx »

1 Май 2011              16413 просмотров

Данная функция является частью надстройки 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.

Ваш браузер не поддерживает видео. Установите Microsoft Silverlight, Adobe Flash Player или Internet Explorer 9.

СУММ(число1;[число2];…)

Имя аргумента

Описание

number1   

Обязательный

Первое число для сложения. Это может быть число 4, ссылка на ячейку, например B6, или диапазон ячеек, например B2:B8.

число2-255   

Необязательный

Это второе число для сложения. Можно указать до 255 чисел.

Этот раздел содержит некоторые рекомендации по работе с функцией СУММ. Многие из этих рекомендаций можно применить и к другим функциям.

Метод =1+2 или =A+B. Вы можете ввести =1+2+3 или =A1+B1+C2 и получить абсолютно точные результаты, однако этот метод ненадежен по ряду причин.

  1. Опечатки. Допустим, вы пытаетесь ввести много больших значений такого вида:

    • =14598,93+65437,90+78496,23

    А теперь попробуйте проверить правильность записей. Гораздо проще поместить эти значения в отдельные ячейки и использовать их в формуле СУММ. Кроме того, значения в ячейках можно отформатировать, чтобы привести их к более наглядному виду, чем если бы они были в формуле.

    Используйте функцию СУММ, вместо того чтобы указывать значения прямо в формулах.  Ячейка D5 содержит формулу =СУММ(D2:D4)

  2. Ошибки #ЗНАЧ!, если ячейки по ссылкам содержат текст вместо чисел

    Допустим, вы используете формулу такого вида:

    • =A1+B1+C1 или =A1+A2+A3

    Пример неудачной формулы.  Ячейка D2 содержит формулу =A2+B2+C2

    Если ячейки, на которые указывают ссылки, содержат нечисловые (текстовые) значения, формула может вернуть ошибку #ЗНАЧ!. Функция СУММ пропускает текстовые значения и выдает сумму только числовых значений.

    Правильная формула.  Вместо выражения =A2+B2+C2 ячейка D2 содержит формулу =СУММ(A2:C2)

  3. Ошибка #ССЫЛКА! при удалении строк или столбцов

    Ошибка #ССЫЛКА! возникла из-за удаления столбца.  Формула приняла вид =A2+#ССЫЛКА!+B2

    При удалении строки или столбца формулы не обновляются: из них не исключаются удаленные значения, поэтому возвращается ошибка #ССЫЛКА!. Функция СУММ, в свою очередь, обновляется автоматически.

    Функция СУММ будет автоматически корректироваться при вставке и удалении строк и столбцов.

  4. Формулы не обновляют ссылки при вставке строк или столбцов

    Формулы =A+B+C не обновляются при добавлении строк

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

    В примере показана формула СУММ, которая при добавлении столбца автоматически расширяется от =СУММ(A2:C2) до =СУММ(A2:D2)

  5. Функция СУММ — отдельные ячейки или диапазоны.

    Используя формулу такого вида:

    • =СУММ(A1;A2;A3;B1;B2;B3)

    вы изначально закладываете в нее вероятность появления ошибок при вставке или удалении строк в указанном диапазоне по тем же причинам. Гораздо лучше использовать отдельные диапазоны, например:

    • =СУММ(A1:A3;B1:B3)

    Такая формула будет обновляться при добавлении и удалении строк.

  1. Мне нужно добавить, вычесть, умножить или поделить числа. Просмотрите серию учебных видео: Основные математические операции в Excel или Использование Microsoft Excel в качестве калькулятора.

  2. Как уменьшить или увеличить число отображаемых десятичных знаков? Можно изменить числовой формат. Выберите соответствующую ячейку или соответствующий диапазон и нажмите клавиши CTRL+1, чтобы открыть диалоговое окно Формат ячеек, затем щелкните вкладку Число и выберите нужный формат, указав при этом нужное количество десятичных знаков.

  3. Как добавить или вычесть значения времени? Есть несколько способов добавить или вычесть значения времени. Например, чтобы получить разницу между 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 минут).

    Расчет времени

    Дополнительные сведения см. в статье Сложение и вычитание значений времени

  4. Как получить разницу между датами? Как и значения времени, значения дат можно добавить или вычесть. Вот распространенный пример вычисления количества дней между датами. Для этого используется простая формула =B2-A2. При работе со значениями дат и времени важно помнить, что дата или время начала вычитается из даты или времени окончания.

    Вычисление разницы между датами

    Другие способы работы с датами описаны в статье Вычисление разности двух дат.

  5. Как вычислить сумму только видимых ячеек? Иногда когда вы вручную скрываете строки или используете автофильтр, чтобы отображались только определенные данные, может понадобиться вычислить сумму только видимых ячеек. Для этого можно воспользоваться функцией ПРОМЕЖУТОЧНЫЕ.ИТОГИ. Если вы используете строку итогов в таблице Excel, любая функция, выбранная из раскрывающегося списка «Итог», автоматически вводится как промежуточный итог. Дополнительные сведения см. в статье Данные итогов в таблице Excel.

Дополнительные сведения

Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.

Подключитесь к эксперту. Учитесь у живых инструкторов.

См. также

Дополнительные сведения о функции СУММ

Функция СУММЕСЛИ суммирует только те значения, которые соответствуют одному условию

Функция СУММЕСЛИМН суммирует только те значения, которые соответствуют нескольким условиям

Функция СЧЁТЕСЛИ подсчитывает только те значения, которые соответствуют одному условию

Функция СЧЁТЕСЛИМН подсчитывает только те значения, которые соответствуют нескольким условиям

Полные сведения о формулах в Excel

Рекомендации, позволяющие избежать появления неработающих формул

Поиск ошибок в формулах

Математические и тригонометрические функции

Функции Excel (по алфавиту)

Функции Excel (по категориям)

Нужна дополнительная помощь?

Суммирование ячеек по формату ячейки

Gold_Barsik

Дата: Среда, 11.04.2018, 23:59 |
Сообщение № 1

Группа: Проверенные

Ранг: Обитатель

Сообщений: 451


Репутация:

6

±

Замечаний:
0% ±


2003

Как сложить значения по формату ячеек, если формат: Основной «м³»

 

Ответить

Che79

Дата: Четверг, 12.04.2018, 00:27 |
Сообщение № 2

Группа: Друзья

Ранг: Старожил

Сообщений: 1649


Репутация:

306

±

Замечаний:
0% ±


2013 Win, 365 Mac

Вариант хулиганский. Привязка не к формату, а к строкам с форматом. Ничего более умного с ходу не придумалось. B B1

Код

=СУММПРОИЗВ(A1:A18*(ОСТАТ(СТРОКА(A1:A18);4)))

К сообщению приложен файл:

5160060.xls
(27.0 Kb)


Делай нормально и будет нормально!

 

Ответить

Gold_Barsik

Дата: Четверг, 12.04.2018, 01:07 |
Сообщение № 3

Группа: Проверенные

Ранг: Обитатель

Сообщений: 451


Репутация:

6

±

Замечаний:
0% ±


2003

Спасибо! Отчасти помогло.

 

Ответить

sboy

Дата: Четверг, 12.04.2018, 09:29 |
Сообщение № 4

Группа: Друзья

Ранг: Участник клуба

Сообщений: 2566


Репутация:

724

±

Замечаний:
0% ±


Excel 2010

Код

=СУММЕСЛИ(A4:A18;»>1″)


Яндекс: 410016850021169

 

Ответить

Karataev

Дата: Четверг, 12.04.2018, 09:37 |
Сообщение № 5

Группа: Проверенные

Ранг: Старожил

Сообщений: 1330


Репутация:

528

±

Замечаний:
0% ±


Excel

Вариант макросом в виде пользовательской функции. Формула вставлена в «A1».
Макрос находится внутри файла. После открытия файла разрешите макросы.
В формулу выбирайте целый столбец. Макрос берет формат из первой ячейки столбца.


Киви-кошелек: 9166309108

 

Ответить

Gold_Barsik

Дата: Четверг, 18.07.2019, 00:02 |
Сообщение № 6

Группа: Проверенные

Ранг: Обитатель

Сообщений: 451


Репутация:

6

±

Замечаний:
0% ±


2003

sboy, Karataev, Большое спасибо!

 

Ответить

Влияние формата ячеек на работу функции СУММ

При работе с функцией СУММ() в Excel следует учитывать особенности форматов данных, которые могут влиять на итоговые суммы при вычислениях.

Стоит обратить внимание на поведение самих форматов при работе с разными типами значений. При определенных условиях они могут автоматически изменяться и по-разному.

Ошибки суммирования при точке вместо запятой

Заполните ячейки значениями как показано на рисунке (в ячейке B2 точка вместо запятой):

Исходные данные с ошибкой.

Выделите диапазон A1:B3. Потом нажмите на закладке «Главная» инструмент «Сумма» (или нажмите ALT+=), чтобы автоматически просуммировать столбцы по отдельности.

Точка вместо запятой для Excel является текстом по умолчанию. Функция СУММ() пропускает текстовые значения при суммировании ячеек. В результате мы видим разные суммы.

Результат суммирования чисел и текста.

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



Как найти текст в числовых значениях?

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

  1. Выберите инструмент «Главная»-«Найти и выделить»-«Перейти» (или нажмите комбинацию горячих клавиш CTRL+G).
  2. Окно переход.

  3. В появившимся окне нажмите на кнопку «Выделить».
  4. В окне «Выделение группы ячеек» нужно выбрать опцию «Константы» и отметить галочкой только «Текст». После чего нажать ОК.

Выделение групп ячеек.

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

Результат поиска текстовых значений.

Если точек слишком много, можно использовать инструмент «Главная»-«Найти и выделить»-«Заменить» (или комбинация клавиш CTRL+H). Он позволит в Excel заменить точку, на запятую – автоматически.

Инструмент найти и заменить.

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

Ранее я описал, как с помощью пользовательской функции найти сумму значений в ячейках, выделенных цветом. К сожалению, эта функция не работает, если ячейки раскрашены с помощью условного форматирования. Я обещал «доработать» функцию. Но за два года, прошедшие с публикации той заметки, я не смог ни самостоятельно, ни с помощью информации из Интернета написать удобоваримый код… (Дополнение от 29 марта 2017 г. Спустя еще пять лет, код мне всё же удалось написать; см. заключительную часть заметки). И вот недавно я наткнулся на идею, содержащуюся в книге Д.Холи, Р. Холи «Excel 2007. Трюки», которая позволяет обойтись вовсе без кода.

Пусть есть список чисел от 1 до 100, размещенных в диапазоне А1:А100 (рис. 1; см. также лист «СУММЕСЛИ» Excel-файла) [1]. На диапазон наложено условное форматирование, помечающее ячейки, содержащие числа больше 10 и меньше или равно 20.

Рис. 1. Диапазон чисел; условным форматированием выделены ячейки, содержащие значения от 10 до 20

Скачать заметку в формате Word, примеры в формате Excel

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

Чтобы сложить диапазон ячеек, отвечающих одному критерию, можно использовать функцию СУММЕСЛИ (рис. 2).

Рис. 2. Суммирование ячеек, отвечающих одному условию

Если у вас несколько условий, можно использовать функцию СУММЕСЛИМН (рис. 3).

Рис. 3. Суммирование ячеек, отвечающих нескольким условиям

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

Для подсчета числа ячеек, отвечающих нескольким критериям, можно использовать функцию СЧЁТЕСЛИМН.

В Excel предусмотрена еще одна функция, которая позволяет указать несколько условий. Эта функция входит в набор функций баз данных Excel и называется БДСУММ. Чтобы проверить ее, используйте тот же набор чисел в диапазоне А2:А100 (рис. 4; см. также лист «БДСУММ» Excel-файла).

Рис. 4. Использование функций баз данных

Выделите ячейки C1:D2 и присвойте этому диапазону имя Критерий, введя его в поле имени слева от строки формул. Теперь выделите ячейку С1 и введите =$А$1, то есть ссылку на первую ячейку на листе, содержащую имя базы данных. Введите =$А$1 в ячейку D1 и вы получите две копии заголовка столбца А. Эти копии будут использоваться как заголовки для условий БДСУММ (C1:D2), который вы назвали Критерий. В ячейке С2 введите >10. В ячейке D2 введите <=20. В ячейке, где должен быть результат, введите следующую формулу:

=БДСУММ($А$1:$А$101,1,Критерий)

Для подсчета числа ячеек, отвечающих нескольким критериям, можно использовать функцию БСЧЁТ.

Дополнение от 29 марта 2017 г.

Читая книгу Джона Уокенбаха Excel 2010. Профессиональное программирование на VBA я узнал, что, начиная с версии Excel 2010 в VBA появилось новое свойство DisplayFormat (см., например, Range.DisplayFormat Property). Т.е., VBA может считывать формат, отображаемый на экране. При этом не важно, как он был получен, прямыми настройками пользователя, или с помощью условного форматирования. К сожалению, разработчики MS сделали так, что свойство DisplayFormat работает только в процедурах, вызываемых из VBA, а пользовательские функции на основе этого свойства выдают ошибку #ЗНАЧ! Тем не менее, получить сумму значений в диапазоне по ячейкам определенного цвета, можно с помощью процедуры (макроса, но не функции). Откройте Excel-файл с примером (содержит код VBA). Пройдите по меню Вид -> Макросы -> Макросы; в окне Макрос, выделите строку СумЦветУсл, и нажмите Выполнить. Запустится макрос, выберите диапазон суммирования и критерий. Ответ появится в окне.

Код процедуры

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

Sub СумЦветУсл()

    Application.Volatile True

    Dim SumColor As Double

    Dim i As Range

    Dim UserRange As Range

    Dim CriterionRange As Range

    SumColor = 0

‘   Запрос диапазона

    Set UserRange = Application.InputBox( _

        Prompt:=»Выберите диапазон суммирования», _

        Title:=»Выбор диапазона», _

        Default:=ActiveCell.Address, _

        Type:=8)

   Запрос критерия

    Set CriterionRange = Application.InputBox( _

        Prompt:=«Выберите критерий суммирования», _

        Title:=«Выбор критерия», _

        Default:=ActiveCell.Address, _

        Type:=8)

   Суммирование «правильных» ячеек

    For Each i In UserRange

        If i.DisplayFormat.Interior.Color = _

               CriterionRange.DisplayFormat.Interior.Color Then

           SumColor = SumColor + i

        End If

    Next

    MsgBox SumColor

End Sub

Хотя пользовательская функция и дает ошибку, но в процессе ее вызова можно «подсмотреть» ответ. В ячейке начните набирать формулу =su…

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

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


[1] Массив я создал с помощью функции =СЛУЧМЕЖДУ(1;100)

Понравилась статья? Поделить с друзьями:

А вот еще интересные статьи:

  • Excel суммировать только числовые значения
  • Excel суммировать только числа в диапазоне
  • Excel суммировать совпадающие строки
  • Excel суммировать повторяющиеся ячейки
  • Excel суммировать повторяющиеся позиции

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии