Альтернатива суммеслимн в excel

Думаю многие пользователи Excel знакомы с функцией СУММЕСЛИМН(). Эта функция суммирует значения указанного столбца по определённым условиям. К примеру, можно использовать СУММЕСЛИМН() для суммирования значений столбца СуммаПродаж, но только тех строк в которых значения столбца Год равны 2012.
Так вот, в DAX существует более усовершенствованный и более мощный аналог данной функции, который называется CALCULATE().
Преимущества CALCULATE() перед СУММЕСЛИМН() заключаются в следующем:

    1. Более понятный синтаксис;
    2. Он не ограничивается лишь подсчётом суммы по условию. К примеру в Excel, СУММЕСЛИМН() используется для подсчёта суммы по условию, СЧЕТЕСЛИМН() для подсчёта количества по условию а СРЗНАЧЕСЛИМН() для подсчёта среднего значения. Однако в Excel нету функций МАКСЕСЛИМН(), МИНЕСЛИМН() или же СТДОТКЛЕСЛИМН(). В этом смысле CALCULATE() безграничен. Он позволяет использовать любую функцию агрегирования (либо комплексную формулу) и рассчитывать её по указанным условиям;
    3. Он используется для создания мер а СУММЕСЛИМН() не может быть использован в сводных таблицах.

Синтаксис функции CALCULATE() 

CALCULATE(<логическое выражение>,<фильтр 1>,<фильтр 2>,…) 
пример: CALCULATE(SUM(t_sales[Маржа]), t_sales[Год]=2001)
пример: CALCULATE([ПродажиЗаДень], t_sales[Год]=2002, t_sales[КодПродукта]=313)

Конечно же в фильтр-аргументах наряду с оператором «=» можно также использовать:

  • < (меньше чем);
  • > (больше чем);
  • <= (меньше или равно);
  • >= (больше или равно);
  • <> (не равно).

CALCULATE() в действии — несколько быстрых примеров

Начнём с простой сводной таблицы. Переместим «Год» в поле «Строки», а [ИтогоПродаж] в поле «Значения».

Теперь создадим меру, которая высчитывает сумму продаж за 2002 год:

[Продажи_2002]=CALCULATE([ИтогоПродаж], t_sales[Год]=2002)

Обратите внимание:

  1. Мы использовали имя другой меры в качестве аргумента для CALCULATE(). То есть в качестве логического выражения в CALCULATE() может быть использована как формула так и уже существующая мера;
  2. В первом фильтр-аргументе 2002 не в кавычках. Это потому, что формат столбца числовой. Если бы формат столбца был текстовым, тогда фильтр-аргумент был бы равен =»2002″;
  3. В этой мере был использован лишь один фильтр-аргумент, но при необходимости можно добавить ещё столько фильтр-аргументов, сколько захотим.

Как видите, значения [Продажи_2002] и [ИтогоПродаж] в строке 2002 совпадают. Однако уверен что Вы недоумеваете почему в строках 2001, 2003, 2004 вместо нулей также отображается сумма продаж за 2002 год. Объясню чуть позже. А пока давайте заменим в поле «Строки» сводной таблицы «Год» на «НомерМесяца».

Теперь, как и обещал объясню ситуацию с первым примером.
При использовании CALCULATE() нужно учитывать три главные особенности этой функции:

  1. Фильтр-аргументы функции CALCULATE() действуют в той фазе вычисления меры в которой применяются фильтры. Эти аргументы изменяют фильтр-контекст сводной таблицы;
  2. Если фильтр-аргументы применяются к столбцу который уже находится в сводной таблице, то они изменяют контекст сводной для этого столбца. Именно поэтому в первом приведённом примере, функция CALCULATE() отображала одинаковое значение для всех строк столбца Год;
  3. Если фильтр-аргумент применяется к столбцу, не находящемуся в сводной таблице, то он дополняет существующий фильтр-контекст сводной. Во втором примере, у нас имелась сводная таблица в которой указывалась разбивка продаж по номерам месяца. В этом примере фильтр-аргумент меры [Продажи_2002] дополнил существующий фильтр-контекст сводной и отображал продажи по каждому месяцу в 2002 году.

Чтобы закрепить наше понимание использования функции CALCULATE() используем два более полезных примера.

Два полезных примера использования функции  CALCULATE()

Пример №1: транзакции определённого типа

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

  1. обычные продажи;
  2. рекламные продажи;
  3. возвраты

С помощью функции CALCULATE() мы можем создать меры для вычисления объёма продаж по каждому типу транзакции:

[ОбычныеПродажи]=CALCULATE([ИтогоПродаж],t_sales[ТипТранзакции]=1)
[РекламныеПродажи]=CALCULATE([ИтогоПродаж],t_sales[ТипТранзакции]=3)
[Возвраты]=CALCULATE([ИтогоПродаж],t_sales[ТипТранзакции]=2)*-1

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

И с помощью этих мер мы можем вычислить сумму чистых продаж:

[ЧистыеПродажи]=[ОбычныеПродажи]+[РекламныеПродажи]+[Возвраты]

Или же узнать какой процент общих продаж составляют РекламныеПродажи:

[ПроцРекламныхПродаж]=[РекламныеПродажи]/([ОбычныеПродажи]+[РекламныеПродажи]) 

Пример №2: рост с начала деятельности

Создадим базовую меру (мера не ссылающаяся на другие меры) рассчитывающую количество активных клиентов:

[АктивныеКлиенты]=DISTINCTCOUNT(t_sales[КодКлиента])

А теперь создадим меру рассчитывающую количество активных клиентов в самый первый год начала продаж, т.е.  в 2001:

[Клиенты2001]=CALCULATE([АктивныеКлиенты],t_sales[Год]=2001)

Теперь, на основе этих двух мер мы можем рассчитать процент прироста клиентов по отношению к первому году начала продаж:

[ПриростКлиентовС2001]=DIVIDE([АктивныеКлиенты]-[Клиенты2001],[Клиенты2001])

Комбинирование фильтр-аргументов

Как Вы уже наверное поняли, функция CALCULATE() может принимать неограниченное количество фильтр-аргументов. Однако, по умолчанию все они применяются по принципу «И тот фильтр-аргумент И этот». Если же нужно, чтобы фильтр-аргументы применялись по принципу «ИЛИ» нужно использовать оператор «||».

  = CALCULATE([ИтогоПродаж],
 t_sales[ТипТранзакции]=1||t_sales[ТипТранзакции]=3)) 

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

 

Здравствуйте, уважаемые форумчане!
Поиск не помог, поэтому прошу вашей помощи.
Существует ли более лаконичная альтернатива суммированию функций суммеслимн или суммесли.
Имею
=SUMIFS(‘N-20 Contract Review’!R:R;’N-20 Contract Review’!AC:AC;»Fixed»)+SUMIFS(‘N-20 Contract Review’!S:S;’N-20 Contract Review’!AC:AC;»Fixed»)+SUMIFS(‘N-20 Contract Review’!T:T;’N-20 Contract Review’!AC:AC;»Fixed»)+SUMIFS(‘N-20 Contract Review’!U:U;’N-20 Contract Review’!AC:AC;»Fixed»)+SUMIFS(‘N-20 Contract Review’!V:V;’N-20 Contract Review’!AC:AC;»Fixed»)

Можно ли заменить на что-то более красивое?

Пс. Привыкла использовать суммеслимн даже при одном критерии) поэтому в формуле суммеслимн.  

 

Alex K

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

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

Формулы массивов покороче выглядят (см. вложение).

Вообще, на тему лаконичности, всегда нужно искать баланс между двумя подходами, в зависимости от вашего восприятия:

1) разбивать сложные вычисления на простые и более понятные для восприятия формулы в разных ячейках, минус — приходится создавать дополнительные вспомогательные поля;
2) запихивать максимум вычислений в одну ячейку, тем самым избавившись от дополнительных полей, но тогда формулы будут длинными и для людей неопытных вообще непонятные.

Прикрепленные файлы

  • Книга1.xlsx (13.58 КБ)

 

Mershik

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

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

Не бойтесь совершенства. Вам его не достичь.

 

Jack Famous

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

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

OS: Win 8.1 Корп. x64 | Excel 2016 x64: | Browser: Chrome

Екатерина Баранова, здравствуйте!
Насколько я понял, вы ищете в столбце «AC» слово «Fixed» и (при нахождении) хотите сложить столбцы R, S, T, U и V — по соответствующим найденным строкам
В таком случае, макрофункция позволит упростить запись до вида =SumMany(colOneFind,what,colManyGet)

Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄

 

БМВ

Модератор

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

Excel 2013, 2016

Екатерина Баранова, лаконичнее — не означает эффективное. Так например то что вы написали — будет быстро, в отличии от массивных вариантов, особенно если на весь столбец. В вашем случае самое правильно еще на листе источника данных просуммировать в отдельном столбце построчно от R,S …. и одним махом получит одной SUMIF.
Конечно можно поименовать ваши диапазоны и тогда формула будет просто короче, но…

Изменено: БМВ16.11.2020 13:11:53

По вопросам из тем форума, личку не читаю.

 

Екатерина Баранова

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

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

#6

16.11.2020 13:22:47

Цитата
Alex K написал: SumMany(colOneFind,what,colManyGet)

Спасибо большое! Так как у вас мне гораздо больше нравится  :)

Всем спасибо большое за помощь! Ребята, вы крутые ^_^

 

Jack Famous

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

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

OS: Win 8.1 Корп. x64 | Excel 2016 x64: | Browser: Chrome

Екатерина Баранова, боюсь, что вы меня неправильно поняли  :D
Ну ладно …

Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄

 

vikttur

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

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

#8

16.11.2020 14:05:42

Alex K, зачем двойной минус, если условия перемножаются?
А вот так скорость на 20-30% выше, чем у СУММ:
=СУММПРОИЗВ(—(F2=$A$3:$A$12);—(F3=$B$3:$B$12);—(F4=$C$3:$C$12);$D$3:$D$12)

Если добавит сцепление параметров (например, в столбец Е):
=A3&B3&C3
то достаточно
=СУММЕСЛИ(E:E;F2&F3&F4;D:D)
Текстовое сцепление работает один раз при изменении в таблице, поэтому скорость работы варианта должна быть приличная

На чтение 8 мин. Просмотров 36.4k.

Содержание

  1. Сумма, если ячейки содержат звездочку
  2. Сумма, если ячейки содержат X и Y
  3. Сумма, если ячейки содержат либо x, либо Y
  4. Сумма, если ячейки содержат определенный текст
  5. Сумма, если ячейка заканчивается определенным текстом
  6. Сумма, если равен х или у
  7. Сумма, если ячейки не пустые

Сумма, если ячейки содержат звездочку

=СУММЕСЛИ(диапазон;»*~**»;ранг_суммы)

Чтобы посчитать сумму, если ячейки содержат звездочку, можно использовать функцию СУММЕСЛИ со специальным символом «тильда» — «~».

Сумма, если ячейки содержат звездочку

В примере показано, ячейка G6 содержит эту формулу:

=СУММЕСЛИ(С5:С11;»*~**»;D5:D11)

Эта формула суммирует суммы в столбце D, когда значение в столбце C содержит «*».

Функция СУММЕСЛИ поддерживает подстановочные знаки. Звездочка (*) означает «один или более символов», а вопросительный знак (?) означает «любой один символ».

Эти шаблоны позволяют создавать такие критерии, как «начинается с», «кончается на», «содержит 3 символов» и так далее.

Потому как звездочки и вопросительные знаки, сами по себе являются подстановочными знаками, если вы хотите искать эти символы в частности, вы должны защитить их с тильдой (~). Тильда причины Excel следует рассматривать следующий символ буквально.

В этом случае мы используем «~*», чтобы соответствовать символу звездочки, но он окружен звездочками по бокам, для того чтобы соответствовать звездочкам в любом месте ячейки. Если вы просто хотите, чтобы соответствовало звездочкам на конце ячейки, используйте: «*~**» по критериям.

Альтернатива с СУММЕСЛИМН

Вы также можете использовать функцию СУММЕСЛИМН. СУММЕСЛИМН может обрабатывать несколько критериев, и порядок аргументов отличается от СУММЕСЛИ. С СУММЕСЛИМН, диапазон сумма всегда стоит на первом месте в списке аргументов, затем пара/диапазон критериев:

=СУММЕСЛИМН(D5:D11;С5:С11;»*~**»)

Сумма, если ячейки содержат X и Y

=СУММЕСЛИМН(диап1;диап2;»*кошка*»;диап2;»*крыса*»)

Чтобы посчитать сумму, если ячейки содержат X и Y (т. е. содержат «кошка» и «крыса», в одной ячейке) можно использовать функцию СУММЕСЛИМН.

Сумма, если ячейки содержат X и Y

В показанном примере, формула в F5:

=СУММЕСЛИМН(С5:С9;В5:В9;»*кошка*»;В5:В9;»*крыса*»)

Функция СУММЕСЛИМН основана на логике и такое поведение является автоматическим. Нам просто нужно поставить два диапазона/критерии пары, работающие на одном диапазоне (В5:В9).

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

Когда оба критерия рассчитывает Истина в том же ряду, СУММЕСЛИМН суммирует значения в столбец C.

Обратите внимание, что СУММЕСЛИМН не чувствителен к регистру.

Сумма, если ячейки содержат либо x, либо Y

=СУММПРОИЗВ(—((ЕЧИСЛО(ПОИСК(«кошка»;диап1)) + ЕЧИСЛО(ПОИСК(«крыса»;диап1)))>0);диап2)

Сумма, если ячейки содержат либо x, либо Y

Чтобы посчитать сумму, если ячейки содержат либо одну текстовую строку или другую (т. е. содержащие «кошка» или «крыса») вы можете использовать функция СУММПРОИЗВ.

Когда вы суммируете ячейки с критерием «или», вы должны быть осторожны, чтобы не произошел двойной счет, когда существует вероятность того, что оба критерия будет рассчитывать Истина. В показанном примере, мы хотим просуммировать значения в столбце C, когда ячейки в столбце B содержат слово «кошка» или «крыса». Мы не можем использовать СУММЕСЛИМН по двум критериям, т. к. СУММЕСЛИМН основан на логике. И если мы попытаемся использовать две функции СУММЕСЛИМН (т.е. СУММЕСЛИМН + СУММЕСЛИМН) у нас будет двойной счет, потому что есть клетки, которые содержат как «кошка», так и «крыса»

Одно из решений-использовать функцию СУММПРОИЗВ с ЕЧИСЛО + ПОИСК или НАЙТИ.

=СУММПРОИЗВ(—((ЕЧИСЛО(ПОИСК(«кошка»;В5:В9)) + ЕЧИСЛО(ПОИСК(«крыса»;В5:В9)))>0);С5:С9)

Эта формула основана на формуле, что находит текст внутри ячейки:

ЕЧИСЛО(ПОИСК(«Азбука»;В4:В10)

При заданном диапазоне ячеек, этот фрагмент будет рассчитывать массив значений Истина или Ложь, одно значение для каждой ячейки диапазона. Поскольку мы делаем это дважды (один раз для «кошки» и один раз для «крысы»), мы получим два массива.

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

{2;0;2;1;0}

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

{ИСТИНА;ЛОЖЬ;ИСТИНА;ИСТИНА;ЛОЖЬ}

Которые мы затем преобразовываем в 1/0 с помощью двойного отрицания (—):

{1;0;1;1;0}

Параметр чувствителен к регистру

Функция поиска не учитывает регистр. Если вам нужен чувствительный вариант, замените поиск на найти.

Сумма, если ячейки содержат определенный текст

=СУММЕСЛИ(диапазон;»*текст*»;ранг_суммы)

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

Сумма, если ячейки содержат определенный текст

В примере показано, ячейка G4 содержит эту формулу:

=СУММЕСЛИ(С5:С11;»*футболка*»; D5:D11)

Эта формула суммирует суммы в столбце D, когда значение в столбце C содержит «футболка». Обратите внимание, что СУММЕСЛИ-это не регистр.

Функция СУММЕСЛИ поддерживает подстановочные знаки. Звездочка (*) означает «один или более символов», а вопросительный знак (?) означает «любой один символ».

Эти шаблоны позволяют создавать такие критерии, как «начинается с», «кончается на», «содержит 3 символа» и так далее.

Нужно, чтобы соответствовали все элементы, которые содержат слово «футболка», критериям»*футболка*». Обратите внимание, что вы должны заключить текст и подстановочные знаки в двойные кавычки («»).

Альтернатива с СУММЕСЛИМН

Вы также можете использовать функцию СУММЕСЛИМН. СУММЕСЛИМН может обрабатывать несколько критериев, и порядок аргументов отличается от СУММЕСЛИ. Эквивалентная формула СУММЕСЛИМН:

=СУММЕСЛИМН(D5:D11;С5:С11;»*футболка*»)

Обратите внимание, что диапазон суммирования всегда стоит первым в функции СУММЕСЛИМН.

Сумма, если ячейка заканчивается определенным текстом

=СУММЕСЛИ(диапазон;»текст»;ранг_суммы)

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

Сумма, если ячейка заканчивается определенным текстом

В примере показано, ячейка G5 содержит эту формулу:

=СУММЕСЛИ(C5:C11; «*шапка»; D5:D11)

Эта формула суммирует ячейки именованного диапазона сумма (D5:D11), только если ячейки именованного диапазона (С5:С11) оканчиваются на «шапка».

Обратите внимание, что СУММЕСЛИ не поддерживает регистр. Критерию «*шапка» соответствует любой текст, который заканчивается «Шапка» или «шапка».

Функция СУММЕСЛИ поддерживает подстановочные знаки. Звездочка (*) означает «один или более символов», а вопросительный знак (?) означает «любой один символ».

Эти шаблоны позволяют создавать такие критерии, как «начинается с», «кончается на», «содержит 3 символа» и так далее.

Чтобы соответствовали все элементы, которые оканчиваются на «шапка» перед текстом нужно поставить звездочку (*):

пункт;»*шапка»

Обратите внимание, что вы должны заключить текст и подстановочные знаки в двойные кавычки («»).

Альтернатива с СУММЕСЛИМН

Вы также можете использовать функцию СУММЕСЛИМН в сумме, если клетки начинаются с. СУММЕСЛИМН может обрабатывать несколько критериев, и порядок аргументов отличается от СУММЕСЛИ. Эквивалентная формула СУММЕСЛИМН:

=СУММЕСЛИМН(объем; номенклатура;»*шапка»)

Обратите внимание, что диапазон суммирования всегда стоит первым в функции СУММЕСЛИМН.

Сумма, если равен х или у

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

Сумма, если равен х или у

В примере, мы подсчитываем все продажи либо от Западного или Северного региона. Формула в ячейке G6 является:

=СУММЕСЛИ(C5:C14; «Западный»; E5:E14)+СУММЕСЛИ(C5:C14; «Северный»; E5:E14)

Каждый экземпляр СУММЕСЛИ обеспечивает промежуточный итог, один для продаж на Западе, один для продаж на Севере. Формула просто добавляет эти два результата вместе.

СУММЕСЛИ с аргументом массива

Более элегантное решение, чтобы дать функции СУММЕСЛИ более одного значения для критериев, использовать константу массива. Чтобы сделать это, постройте нормальный СУММЕСЛИ, но пакет критериев в синтаксисе массива — фигурные скобки, с отдельными элементами, разделенные запятыми. И, наконец, обернуть всю функцию СУММЕСЛИ в функцию СУММ. Это необходимо, потому что СУММЕСЛИ будет рассчитывать один результат для каждого элемента массива критериев. Они должны быть добавлены вместе, чтобы получить один результат.

Формула:

= СУММ(СУММЕСЛИ( область ; { «Западный» ; «Северный» } ; сумма ))

СУММПРОИЗВ альтернатива

Вы можете также использовать СУММПРОИЗВ для подсчета ячеек с логикой ИЛИ. Формула:

=СУММПРОИЗВ( количество * (( регион = «Западный» ) + ( регион = «Северный» )))

Это также может быть записано в виде:

=СУММПРОИЗВ( количество * ( регион = { «Западный» ; «Северный» } ))

СУММПРОИЗВ не так быстра, как СУММЕСЛИ, но разница в скорости не заметна с меньшими наборами данных.

Сумма, если ячейки не пустые

=СУММЕСЛИ( диапазон ; «<>» ; суммарный_диапазон )

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

Сумма, если ячейки не пустые

В показанном примере, ячейка G4 содержит следующую формулу:

=СУММЕСЛИ( C5: C11 ; «<>» ; D5: D11 )

Эта формула суммирует суммы в колонке D только тогда, когда значение в столбце С не пусто

Функция СУММЕСЛИ поддерживает все стандартные операторы Excel, в том числе не равно к, который вводится в <>.

При использовании оператора в критериях функции как СУММЕСЛИ, необходимо заключить его в двойные кавычки ( «»). При использовании только «<>» в качестве критерия, вы можете думать о значении как «не равно пустой», или «не пусто».

Альтернатива с СУММЕСЛИМН

Вы можете также использовать функцию суммы СУММЕСЛИМН, если ячейки не являются пустыми. СУММЕСЛИМН может обрабатывать несколько критериев, и порядок аргументов отличается от СУММЕСЛИ. Эта формула СУММЕСЛИМН эквивалентна формуле СУММЕСЛИ выше:

=СУММЕСЛИМН( D5: D11 ; C5: C11 ; «<>» )

С СУММЕСЛИМН диапазон сумма всегда стоит первым.

Ссылка на это место страницы:
#title

  1. Ячейка начинается с определенного значения
  2. Сумма значений между определенными числами
  3. Сумма, если за год
  4. Сумма, если ячейка содержит текст в другой ячейке
  5. Сумма, если ячейки равны
  6. Сумма, если ячейки не равны
  7. Скачать файл

Ссылка на это место страницы:
#punk01

=СУММЕСЛИ(диапазон;»текст*»;ранг-сумм)

=SUMIF(диапазон;»текст*»;ранг-сумм)

Для суммирования ячеек, если другие ячейки начинаются с определенного значения, можно использовать функцию СУММЕСЛИ. 

В примере показано, что ячейка G5 содержит эту формулу: 

=СУММЕСЛИ(C5:C11; «футболка*»; D5:D11)

=SUMIF(C5:C11; «футболка*»; D5:D11)

Эта формула суммирует суммы в столбце D, когда значение в столбце C начинается с «футболка». Обратите внимание, что СУММЕСЛИ нечувствительна к регистру.

Функция СУММЕСЛИ поддерживает подстановочные знаки. Звездочка (*) означает «один или более символов», а вопросительный знак (?) означает «любой один символ».

Эти шаблоны позволяют создавать такие критерии, как «начинается с», «кончается на», «содержит 3 символа» и так далее.

Чтобы соответствовали все предметы, которые начинаются на «футболка», нужны критерии «футболка*». Обратите внимание, что вы должны заключить текст и подстановочные знаки в двойные кавычки («»).

Вы также можете использовать функцию СУММЕСЛИМН для суммирования, если ячейки начинают с. СУММЕСЛИМН может обрабатывать несколько критериев, и порядок аргументов отличается от СУММЕСЛИ. Эквивалентная формула СУММЕСЛИМН:

=СУММЕСЛИМН(Д5:Д11;С5:С11;»футболка*»)

=SUMIFS(Д5:Д11;С5:С11;»футболка*»)

Обратите внимание, что диапазон суммирования всегда стоит первым в функции СУММЕСЛИМН. 

Ссылка на это место страницы:
#punk02

=СУММЕСЛИМН(ранг-сумм;ранг_критериев;»>500″;ранг_критериев;»<1000″) 

=SUMIFS(ранг-сумм;ранг_критериев;»>500″;ранг_критериев;»<1000″)

В сумме, если между можно использовать СУММЕСЛИМН по двум критериям. 

В показанном примере, ячейка F7 содержит эту формулу: 

=СУММЕСЛИМН(D5:D11;D5:D11; «>500″;D5:D11;»<1000»)

=SUMIFS(D5:D11;D5:D11; «>500″;D5:D11;»<1000»)

Эта формула суммирует суммы в столбце D, когда они больше 500 и меньше 1000.

Функция СУММЕСЛИМН поддерживает логические операторы Excel (т. е. «=»,»>»,»>=», и т. д.), так что вы можете использовать их, как вам нравится в ваших критериях.

В этом случае, мы хотим просуммировать значения в столбце D, которые соответствуют двум критериям. Поэтому диапазон суммы — «сумма» (Д4:Д11), а затем два ряда/пары критериев:

сумма;»>500″ // критерии 1
сумма;»<1000″ // критерии 2 

С этими критериями, функция СУММЕСЛИМН суммирует все суммы больше 500 и меньше 1000.

Отметим, что оба оператора (>, <) и пороговых значения заключены в двойные кавычки («»).

Если вы хотите включить пороговое значение чисел в сумме (включая суммы, которые равны 500 и 1000), больше или равно (>=) и меньше или равно (<=), вот так:

=СУММЕСЛИМН(сумма;сумма;»>=500″;количество;»<=1000″)

=SUMIFS(сумма;сумма;»>=500″;количество;»<=1000″)

Если вы хотите выставить порог суммы на листе, так что они могут быть легко изменены, используйте эту формулу: 

=СУММЕСЛИМН(сумма;сумма;»>=»&А1;сумма;»<«&В1)

=SUMIFS(сумма;сумма;»>=»&А1;сумма;»<«&В1)

где A1-это ссылка на нижний порог и B1-это ссылка на верхний порог 

Ссылка на это место страницы:
#punk03

=СУММЕСЛИМН(ранг-суммы;Дата;»>=»&Дата(Год);Дата;»<=»&Дата(год;12;31))

=SUMIFS(ранг-суммы;Дата;»>=»&DATE(Год);Дата;»<=»&DATE(год;12;31))

Если Вам необходимо суммировать, если за год, можно использовать функцию СУММЕСЛИМН по двум критериям.

В показанном примере, формула в Н6 является: 

=СУММЕСЛИМН(сумма;Дата;»>=»&Дата(G6;1;1);даты;»<=»&Дата(G6;12;31))

=SUMIFS(сумма;Дата;»>=»&DATE(G6;1;1);даты;»<=»&DATE(G6;12;31))

В результате получается общая сумма за 2011 год. При копировании вниз формулы создается общая сумма для 2012 и 2013 годов.

Первый аргумент для функции СУММЕСЛИМН всегда суммируемый диапазон («ранг_суммы»), и критерии поставляются в виде одного или нескольких диапазона/пары критериев.

Диапазон суммы в этом примере — это именованный диапазон, называемый «сумма» (Е3:E2931), и критерии поставляются в виде двух пар, как с помощью именованного диапазона под названием «Дата» (Б3:B2931).

Каждый раз функция ДАТА используется в критериях для построения двух допустимых дат, как с помощью того же года:

1. В первый день 2011 года
2. В последний день 2011 года

Эти даты появляются в виде формулы:

Дата; «>=»&Дата(G6;1;1) // Дата >= к 1/1/2011
Дата; «<=»&Дата(G6;12;31) // Дата <= 12/31/2011

В результате, формула рассчитывает общую сумму всех сумм только в 2011 году.

Поскольку мы используем ссылку на ячейку, чтобы поставить год, формула может быть скопирована вниз, чтобы также создать итог на 2012 и 2013 годы.

Ссылка на это место страницы:
#punk04

=СУММЕСЛИ(диапазон;»*»&А1&»*»;ранг_суммы) 

=SUMIF(диапазон;»*»&А1&»*»;ранг_суммы)

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

В примере показано, ячейка G7 содержит эту формулу: 

=СУММЕСЛИ(C5:C11; «*»&F7&»*»;D5:D11)

=SUMIF(C5:C11; «*»&F7&»*»;D5:D11)

Эта формула суммирует суммы в столбце D, когда значение в столбце C содержит текст из ячейки F7.

Функция СУММЕСЛИ поддерживает подстановочные знаки. Звездочка (*) означает «один или более символов», а вопросительный знак (?) означает «любой один символ».

Эти шаблоны позволяют создавать такие критерии, как «начинается с», «кончается на», «содержит 3 символов» и так далее.

Так, например, можно использовать такие критерии, как «*шляпа*» для поиска текста в любом месте ячейки.

Когда Excel вычисляет этот аргумент внутри функции СУММЕСЛИ, он будет «видеть» это: «*кофта*».

Обратите внимание, что СУММЕСЛИ нечувствительна к регистру.

Альтернатива с СУММЕСЛИМН

Вы также можете использовать функцию СУММЕСЛИМН. СУММЕСЛИМН может обрабатывать несколько критериев, и порядок аргументов отличается от СУММЕСЛИ. Эквивалентная формула СУММЕСЛИМН: 

=СУММЕСЛИМН(D5:D11;С5:С11;»*кофта*»)

=SUMIFS(D5:D11;С5:С11;»*кофта*»)

Обратите внимание, что диапазон суммы всегда стоит на первом месте в функции СУММЕСЛИМН. 

Ссылка на это место страницы:
#punk05

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

В показанном примере, мы подсчитываем все продажи в Западном регионе. Формула в ячейке H4 является: 

=СУММЕСЛИ(C5:C14; «Западный»;E5:E14)

=SUMIF(C5:C14; «Западный»;E5:E14)

Формула в ячейке Н5 является: 

=СУММЕСЛИМН(E5:E14;C5:C14;»Западный»)

=SUMIFS(E5:E14;C5:C14;»Западный»)

Обе формулы относятся к названной области диапазонов (С5:C14) и сумм (Е5:Е14).

Обе формулы используют встроенные функции для расчета промежуточных итогов, но синтаксис функции СУММЕСЛИ и СУММЕСЛИМН немного отличается:

СУММЕСЛИ(диапазон;критерий;ранг_суммы)

SUMIF(диапазон;критерий;ранг_суммы)

СУММЕСЛИМН(ранг_сцммы;диапазон;критерий) 

= SUMIFS(ранг_сцммы;диапазон;критерий)

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

Используете ли вы СУММЕСЛИ или СУММЕСЛИМН (которая может работать более чем по одному критерию) — это вопрос личных предпочтений. СУММЕСЛИМН была введена в Excel 2007, поэтому она будет теперь здесь в течение долгого времени.

Ссылка на это место страницы:
#punk06

=СУММЕСЛИ(диапазон;»<>значение»;ранг_суммы) 

=SUMIF(диапазон;»<>значение»;ранг_суммы)

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

В примере показано, ячейка Н5 содержит эту формулу: 

=СУММЕСЛИ(C5:C14; «<>Западный»;E5:E14)

=SUMIF(C5:C14; «<>Западный»;E5:E14)

Эта формула суммирует суммы в колонке » Е » только тогда, когда регион в столбце C — не «Западный».

Функция СУММЕСЛИ поддерживает все стандартные операторы Excel, включая «не равно», который вводится в качестве <>.

Когда вы используете оператор в критериях для такой функции, как СУММЕСЛИ, необходимо заключить его в двойные кавычки («»). В данном случае, критерий входа, как «<>Западный», который можно прочитать как «не равняется Западный», или просто «не Западный».

Альтернатива с СУММЕСЛИМН

Вы также можете использовать функцию СУММЕСЛИМН, для суммы, если ячейки не пустые. СУММЕСЛИМН может обрабатывать несколько критериев, и порядок аргументов отличается от СУММЕСЛИ. Эквивалентная формула СУММЕСЛИМН: 

=СУММЕСЛИМН(объем; регион;»<>Западный»)

=SUMIFS(объем; регион;»<>Западный»)

Обратите внимание, что диапазон суммы всегда стоит на первом месте в функции СУММЕСЛИМН.

СУММЕСЛИМН позволяет легко расширить критерии, обрабатывать более чем одно условие, если это необходимо.

Ссылка на это место страницы:
#punk07

Файлы статей доступны только зарегистрированным пользователям.

1. Введите свою почту

2. Нажмите Зарегистрироваться

3. Обновите страницу
Вместо этого блока появится ссылка для скачивания материалов.

Привет! Меня зовут Дмитрий. С 2014 года Microsoft Cretified Trainer. Вместе с командой управляем этим сайтом. Наша цель — помочь вам эффективнее работать в Excel. 

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

Подписывайтесь на нас в соц.сетях:

Аналог функции СУММЕСЛИМН() но для текста.

whitedeath

Дата: Вторник, 24.02.2015, 16:34 |
Сообщение № 1

Группа: Пользователи

Ранг: Прохожий

Сообщений: 1


Репутация:

0

±

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


Excel 2013

На самом деле нужен аналог функции СУММЕСЛИМН() но для текста.
Задача стоит такая в таблицу забиваются данные о приходных накладных.
В столбцах содержится информация о дате накладной, номере накладной и т.п.
Так вот хотелось бы выбирая того или иного поставщика собрать в одну ячейку со следующим текстом.
Если поставщик совпал, то «По накладным N » (берем номер из таблицы) » от » (берем дату из таблицы) «, N » (берем номер из таблицы) » от » (берем дату из таблицы) и т.п.
условие даже написал

Код

=»По накладным N»&ЕСЛИ(F2=F2004;ТЕКСТ(J2;»#»)&» от «&ТЕКСТ(C2;»дд.ММ.гггг»))

Где ячейки F2- содержат наименование поставщика, F2004 — фильтр через который выбирают поставщика, J2 — информация о номере накладной, С2 -дата накладной.
Это все замечательно работает.
Но только для ячеек с номером строки 2.
А как сделать, чтобы работало по всему диапазону, скажем от 2 до 1999 строки.
а может вообще, все это проще делается и я изобретаю лисапед. )
Прикрепил файл. Сейчас он в ячейку J2004 пишет назначение платежа на основании данных из 2-й строки, но как сделать это для всей таблице, чтобы перечислил все накладные от поставщика?
[moder]правила форума читайте
Вроде исправился.

Сообщение отредактировал whitedeathВторник, 24.02.2015, 21:42

 

Ответить

Nic70y

Дата: Вторник, 24.02.2015, 16:39 |
Сообщение № 2

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

Ранг: Экселист

Сообщений: 8134


Репутация:

1999

±

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


Excel 2010

а может и нет, а может и так далее.
без Вашего примера не получится (наверное)


ЮMoney 41001841029809

 

Ответить

Richman

Дата: Вторник, 24.02.2015, 22:43 |
Сообщение № 3

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

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

Сообщений: 346


Репутация:

54

±

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


Excel 2007

whitedeath, Здравствуйте.

Как понял, Вам нужна сводная таблица


С Уважением, Richman

 

Ответить

Понравилась статья? Поделить с друзьями:
  • Альтернатива поиску решения в excel
  • Альтернатива для microsoft excel
  • Альтернатива word для андроид
  • Альтернатива word для mac
  • Альтернатива word для iphone