Этот пример демонстрирует, как создать формулу массива, которая суммирует наибольшие числа в диапазоне.
- Используем функцию LARGE (НАИБОЛЬШИЙ). Чтобы найти, к примеру, второе по величине число, нужно ввести следующую формулу:
=LARGE(A1:A11,2)
=НАИБОЛЬШИЙ(A1:A11;2)
- Чтобы суммировать 4 наибольших числа, добавим функцию SUM (СУММ) и заменим 2 на {1;2;3;4}.
=SUM(LARGE(A1:A11,{1,2,3,4}))
=СУММ(НАИБОЛЬШИЙ(A1:A11;{1;2;3;4}))
- Закончим нажатием Ctrl+Shift+Enter.
=SUM(LARGE(A1:A11,{1,2,3,4}))
=СУММ(НАИБОЛЬШИЙ(A1:A11;{1;2;3;4}))
Примечание: Cтрока формул показывает, что это формула массива, заключая её в фигурные скобки {}. Их не нужно вводить самостоятельно. Они исчезнут, когда вы начнете редактировать формулу.
Пояснение:
- Диапазон (массив констант), созданный с помощью функции LARGE (НАИБОЛЬШИЙ), хранится в памяти Excel, а не в ячейках листа.
- Массив констант выглядит следующим образом: {22;10;8;6}.
- Этот массив констант используется в качестве аргумента для функции SUM (СУММ), давая результат 46.
Урок подготовлен для Вас командой сайта office-guru.ru Источник: http://www.excel-easy.com/examples/sum-largest-numbers.html Перевела: Ольга Гелих Правила перепечатки Еще больше уроков по Microsoft Excel
Перейти к содержанию
На чтение 1 мин Опубликовано 05.08.2015
Этот пример демонстрирует, как создать формулу массива, которая суммирует наибольшие числа в диапазоне.
- Используем функцию LARGE (НАИБОЛЬШИЙ). Чтобы найти, к примеру, второе по величине число, нужно ввести следующую формулу:
=LARGE(A1:A11,2)
=НАИБОЛЬШИЙ(A1:A11;2)
- Чтобы суммировать 4 наибольших числа, добавим функцию SUM (СУММ) и заменим 2 на {1;2;3;4}.
=SUM(LARGE(A1:A11,{1,2,3,4}))
=СУММ(НАИБОЛЬШИЙ(A1:A11;{1;2;3;4}))
- Закончим нажатием Ctrl+Shift+Enter.
=SUM(LARGE(A1:A11,{1,2,3,4}))
=СУММ(НАИБОЛЬШИЙ(A1:A11;{1;2;3;4}))
Примечание: Cтрока формул показывает, что это формула массива, заключая её в фигурные скобки {}. Их не нужно вводить самостоятельно. Они исчезнут, когда вы начнете редактировать формулу.
Пояснение:
- Диапазон (массив констант), созданный с помощью функции LARGE (НАИБОЛЬШИЙ), хранится в памяти Excel, а не в ячейках листа.
- Массив констант выглядит следующим образом: {22;10;8;6}.
- Этот массив констант используется в качестве аргумента для функции SUM (СУММ), давая результат 46.
Оцените качество статьи. Нам важно ваше мнение:
На чтение 5 мин. Просмотров 5.9k.
Содержание
- Сумма всего столбца
- Сумма столбцов на основе смежных критериев
- Сумма каждого N-го столбца
- Сумма последних n столбцов
Сумма всего столбца
=СУММ( A:А )
Если вы хотите, просуммировать весь столбец без подачи верхней или нижней границы, вы можете использовать функцию СУММ с конкретным синтаксисом диапазона для всего столбца.
Excel поддерживает «полный столбец» и «полная строка» ссылки, как это:
=СУММ( A:А ) // сумма всего столбца A
=СУММ( 3 : 3 ) // сумма всех строк 3
Вы можете увидеть, как это работает самостоятельно, набрав «A: A», «3: 3» и т.д., в поле Имя (слева от строки формул) и ударяя возвращения — Excel будет выбирать весь столбец или строку.
Полные ссылки столбцов и строк являются простым способом ссылки на данные, которые могут изменяться в размерах, но вы должны быть уверены, что вы случайно не включаете дополнительные данные. Например, если вы используете = СУММ (A: A), чтобы просуммировать весь столбец А и столбец А также включает в себя дату где-то (в любом месте), эта дата будет включена в сумму.
Сумма столбцов на основе смежных критериев
=СУММПРОИЗВ ( — ( диапазон1 = критерии ); диапазон2 )
Суммируя столбцы на основе критериев, указанных в соседних столбцах, можно использовать формулу, основанную на функции СУММПРОИЗВ.
=СУММПРОИЗВ(—($B5:$H5=J$4); $C5:$I5)
СУММПРОИЗВ умножает, затем суммирует произведения двух массивов: массив1 и массив2. Массив1 настроен выступать в качестве «фильтра», чтобы пропустить только те значения, которые удовлетворяют критериям.
Массив1 использует диапазон, который начинается в первом столбце, который содержит значения, которые должны пройти критерии. Эти «критерии ценности» находятсят в колонке слева, и в непосредственной близости к ним «значения данных».
Критерии применяются в качестве простого теста, который создает массив истинных и ложных значений:
— ( $ B5: $ H5 = J$ 4 )
Этот кусочек формулы «тестирует» каждое значение в первом массиве с помощью поставляемых критериев, а затем использует двойное отрицание (-), превращающее получившиеся Истинные и ложные значения в единицы и нули. Результат выглядит следующим образом:
{1;0;0;0;1;0;1}
Обратите внимание, что единицы соответствуют колонкам 1,5, и 7, которые соответствуют критериям «А».
Для массив2 внутри СУММПРОИЗВ, мы используем диапазон, «сдвинутый» на один столбец вправо. Этот диапазон начинается с первого столбца содержащего значения суммы и заканчивается последней колонке, которая содержит значения суммы.
Так, в примере формулы в J5, после того, как массивы были заселены, мы имеем:
= СУММПРОИЗВ ( { 1 ; 0 ; 0 ; 0 ; 1 ; 0 ; 1 } ; { 1 ; «Б» ; 1 ; «А» ; 1 ; «А» ; 1 } )
Так как СУММПРОИЗВ запрограммирован специально, чтобы игнорировать ошибки, возникающие в результате умножения значения текста, окончательный массив выглядит следующим образом:
{1;0;0;0;1;0;1}
Единственные «выжившие» значения умножения являются теми, которые соответствуют 1 внутри массив1. Вы можете думать о логике в массив1 «фильтрации» значений в массив2.
Сумма каждого N-го столбца
=СУММПРОИЗВ ( — ( ОСТАТ(СТОЛБЕЦ(ранг) — СТОЛБЕЦ(первый.ранг) + 1 ; n) = 0 ); ранг)
Суммируя каждый N-й столбец, вы можете использовать формулу, основанную на функциях СУММПРОИЗВ, МОД и СТОЛБЕЦ.
=СУММПРОИЗВ( — (ОСТАТ( СТОЛБЕЦ( B5: J5 ) — СТОЛБЕЦ( B5 ) + 1 ; К5 ) = 0 ); B5: J5 )
По сути, использование СУММПРОИЗВ суммирует значения в строке , которые были «отфильтрованы» , используя логику , основанную на ОСТАТ. Ключ заключается в следующем:
ОСТАТ (СТОЛБЕЦ( B5: J5 ) – СТОЛБЕЦ ( B5 ) + 1 ; К5 ) = 0
Этот фрагмент формулы использует функцию СТОЛБЕЦ, чтобы получить набор чисел «относительных» столбцов для диапазона, который выглядит следующим образом :
{1;2;3;4;5;6;7;8;9}
Это идет в ОСТАТ, так:
ОСТАТ( { 1 ; 2 ; 3 ; 4 ; 5 ; 6 ; 7 ; 8 ; 9 } ; К5 ) = 0
где K5 это значение N в каждой строке. Функция ОСТАТ рассчитывает остаток для каждого номера столбца, деленное на N. Так, например, при N = 3, ОСТАТ будет рассчитывать что-то вроде этого:
{1;2;0;1;2;0;1;2;0}
Обратите внимание, что нули появляются в столбце 3, 6, 9 и т.д. Формула использует = 0, чтобы превратить значение ИСТИНА, если остаток равен нулю, и ЛОЖЬ, если нет, мы используем двойное отрицание (-), принуждающее ИСТИНА/ЛОЖЬ в единицы и нули. Это составляет массив вроде этого:
{0;0;1;0;0;1;0;0;1}
Где 1-цы в настоящее время указывают на «степени n значения». Это идет в СУММПРОИЗВ как массив1, наряду с B5: J5, как массив2. СУММПРОИЗВ затем делает свое дело, сначала умножая, затем суммируя произведения массивов.
Только «выжившие» ценности умножения являются теми, где массив1 содержит 1. Таким образом, вы можете думать о логике массив1 «фильтрации» значения в массив2.
Суммировать любой другой столбец
Если вы хотите просуммировать любой другой столбец, просто адаптируйте эту формулу по мере необходимости, имея в виду, что формула автоматически присваивает 1 к первому столбцу в диапазоне. Суммируя четные столбцы, используйте:
=СУММПРОИЗВ ( — (ОСТАТ ( СТОЛБЕЦ ( A1: Z1 ) — СТОЛБЕЦ ( A1 ) + 1 ; 2 ) = 0 ); A1: Z1 )
Суммируя нечетные столбцы, используйте:
= СУММПРОИЗВ ( — ( ОСТАТ( СТОЛБЕЦ ( A1: Z1 ) — СТОЛБЕЦ( A1 ) + 1 ; 2 ) = 1 ); A1: Z1 )
Сумма последних n столбцов
=СУММ ( ИНДЕКС( данные ; 0 ; СТОЛБЕЦ( данные ) — (n — 1 )) : ИНДЕКС( данные ; 0 ; СТОЛБЕЦ( данные )))
Подсчитывая последние n столбцы в таблице данных (т.е. последние 3 столбца, последние 4 столбца и т.д.), вы можете использовать формулу, основанную на функции ИНДЕКС.
В показанном примере формула в К5:
=СУММ(ИНДЕКС(C5:H8; 0; СТОЛБЕЦ(C5:H8)+3-(K4-1)):ИНДЕКС(C5:H8; 0; СТОЛБЕЦ(C5:H8)+3))
где «данные» является именованный диапазон С5: H8.
Ключ к пониманию этой формулы является тем, что функция ИНДЕКС может быть использована для возврата ссылки на целую строку и целый столбец.
Чтобы создать ссылку на «последние n столбцы» в таблице, мы делим ссылку на две части, соединенных оператором диапазона. Для того, чтобы получить ссылку на левый столбец, мы используем:
ИНДЕКС( данные ; 0 ; СТОЛБЕЦ( данные ) — ( К4 — 1 ))
Поскольку данные содержит 6 столбцов и К4 содержит 3, это упрощает:
ИНДЕКС( данные ; 0 ; 4 ) // все столбцы 4
Для того, чтобы получить ссылку на правый столбец в диапазоне, мы используем:
ИНДЕКС( данные ; 0 ; СТОЛБЕЦ( данные ))
Который рассчитывает ссылку на столбец 6 названного диапазона «данные», так как функция СТОЛБЕЦ рассчитывает 6:
ИНДЕКС( данные ; 0 ; 6 ) // все столбцы 6
Вместе эти две функции ИНДЕКС рассчитывают ссылку на столбцы с 4 по 6 в данных (т.е. F5: Н8), которые можно свести в массив значений внутри функции СУММ:
СУММ( { 15 ; 14 ; 10 ; 9 ; 12 ; 12 ; 7 ; 9 ; 9 ; 12 ; 13 ; 13 } )
Функция СУММ затем вычисляет сумму, 135.
Этот учебник научит вас нескольким простым способам суммирования нескольких столбцов в Excel на основе одного или нескольких критериев.
Выполнение условной суммы в Excel не составляет труда, если все значения, которые нужно суммировать, находятся в одном столбце. Суммирование нескольких столбцов представляет собой проблему, поскольку обе функции СУММЕСЛИ и СУММЕСЛИМН требуют, чтобы диапазон суммы и диапазон критериев были одинакового размера. К счастью, когда нет прямого способа что-то сделать, всегда есть обходной путь 🙂
- Суммировать несколько столбцов с одним условием
- Суммируйте несколько столбцов с двумя или более критериями
Сумма Excel Если: несколько столбцов, один критерий
Прежде всего, давайте узнаем, какую именно проблему мы пытаемся решить. Предположим, у вас есть таблица ежемесячных продаж, как показано ниже. Поскольку он был объединен из нескольких региональных отчетов, для одного и того же продукта есть несколько записей:
Вопрос в том, как получить общий объем продаж определенного товара?
Первая идея, которая приходит на ум, — использовать формулу СУММЕСЛИ в чистом виде:
=СУММЕСЛИ(A2:A10, «яблоки», C2:E10)
К сожалению, это не сработает. Причина в том, что размеры сумма_диапазон определяются Excel автоматически на основе размеров диапазон аргумент. Поскольку диапазон наших критериев включает только один столбец (A2:A10), то же самое относится и к диапазону суммы (C2:C10). сумма_диапазон параметр, определенный в формуле (C2:E10), фактически определяет только верхнюю левую ячейку диапазона, который будет суммироваться. В результате приведенная выше формула суммирует продажи яблок только в столбце C. Не то, что мы ищем, а?
Самое простое рабочее решение, которое напрашивается само собой, — создать вспомогательный столбец, суммирующий числа для каждой отдельной строки, а затем использовать этот столбец для сумма_диапазон.
Итак, продолжайте и поместите формулу СУММ в F2, затем перетащите ее вниз на столько ячеек, сколько необходимо:
=СУММ(C2:E2)
После этого можно быстро выполнить работу:
=СУММЕСЛИ(A2:A10, I1, F2:F10)
Где I1 представляет интерес.
В приведенной выше формуле сумма_диапазон имеет такой же размер, как диапазон (1 столбец и 9 строк), поэтому работает без сучка и задоринки:
Если в макете вашего рабочего листа нет места для дополнительных столбцов, примените одно из следующих решений.
SUMIF несколько столбцов
Идея состоит в том, чтобы написать отдельную формулу СУММЕСЛИ для каждого из столбцов, которые вы хотите суммировать, а затем сложить результаты:
СУММ(СУММЕСЛИ(…), СУММЕСЛИ(…), СУММЕСЛИ(…))
Или же
СУММЕСЛИ(…) + СУММЕСЛИ(…) + СУММЕСЛИ(…)
Практическая реализация выглядит следующим образом:
=СУММ(СУММЕСЛИ(A2:A10,H1,C2:C10), СУММЕСЛИ(A2:A10,H1,D2:D10), СУММЕСЛИ(A2:A10,H1,E2:E10))
Или же
=СУММЕСЛИ(A2:A10, H1, C2:C10) + СУММЕСЛИ(A2:A10, H1, D2:D10) + СУММЕСЛИ(A2:A10, H1, E2:E10)
Вы также можете «жестко закодировать» условие в формуле, если это необходимо:
=СУММЕСЛИ(A2:A10, «Яблоки», C2:C10) + СУММЕСЛИ(A2:A10, «Яблоки», D2:D10) + СУММЕСЛИСЛИ(A2:A10, «Яблоки», E2:E10)
Это прекрасно работает для разумного количества столбцов, но для большого набора данных формула становится слишком длинной и трудной для чтения. В этом случае нижеприведенные решения являются более подходящими.
СУММ как формула массива
Другой способ сделать сумму, если в нескольких столбцах на основе одного критерия, состоит в том, чтобы построить формулу массива:
СУММА((сумма_диапазон) * (—(критерии_диапазонзнак равнокритерии)))
Для нашего примера набора данных формула принимает следующий вид:
=СУММ((C2:E10)*(—(A2:A10=H1)))
Или же
=СУММ((C2:E10)*(—(A2:A10=»Яблоки»)))
В Excel 2019 и более ранних версиях вы должны нажать Ctrl + Shift + Enter, чтобы правильно завершить формулу. В Excel 365 и Excel 2021 это работает как обычная формула благодаря встроенной поддержке динамических массивов.
Как работает эта формула:
Основная концепция состоит в том, чтобы умножить элементы этих двух массивов:
- (C2:E10) — все значения в диапазоне суммы. В нашем случае массив содержит 27 элементов (3 столбца и 9 строк: {250,120,210;155,180,210;130,175,125; …}
- (—(A2:A10=H1)) — сравнивает каждое значение в A2:A10 с целевым элементом в H1. Результатом является массив значений TRUE (условие выполнено) и FALSE (условие не выполнено), который затем преобразуется в массив из 1 и 0 с помощью двойного унарного оператора: {0;1;0 ;0;1;0;0;1;1}
Обратите внимание, что первый массив двумерный (каждый столбец данных разделен запятой, а каждая строка — точкой с запятой), а второй — одномерный вертикальный массив (1 столбец данных, строки разделены точкой с запятой). ). Когда два массива умножаются, все элементы двумерного массива в данной строке умножаются на соответствующий элемент одномерного массива:
Поскольку умножение на ноль дает ноль, выживают только числа, для которых критерий ИСТИНА, и функция СУММ складывает их:
=СУММ({0,0,0;155,180,210;0,0,0;0,0,0;160,140,170;0,0,0;0,0,0;…})
Чтобы упростить понимание логики формулы, вы можете написать первый множитель следующим образом:
=СУММ((C2:C10 + D2:D10 + E2:E10) * (—(A2:A10=H1)))
Это создаст массив сумм по строкам (как вспомогательный столбец в самом первом примере), который затем умножается на массив из 1 и 0:
{580;545;430;615;470;750;550;620;570}*{0;1;0;0;1;0;0;1;1}
Результат умножения подается в SUM:
=СУММ({0;545;0;0;470;0;0;620;570})
Не нравится использовать формулы массивов на листе? Я тоже. Что ж, давайте проверим следующее решение 🙂
формула СУММПРОИЗВ
Стратегию, описанную в приведенном выше примере, также можно реализовать с помощью функции СУММПРОИЗВ.
СУММПРОИЗВ((сумма_диапазон) * (критерии_диапазонзнак равнокритерии))
Реальная формула выглядит следующим образом:
=СУММПРОИЗВ((C2:E10) * (A2:A10=H1))
Логика формулы такая же, как и в предыдущем примере. Прелесть функции СУММПРОИЗВ заключается в том, что она изначально поддерживает массивы, поэтому она прекрасно работает как обычная формула во всех версиях Excel.
Сумма Excel, если: несколько столбцов, несколько критериев
Три подхода, которые мы использовали для сложения нескольких столбцов с одним критерием, также будут работать для условной суммы с несколькими критериями. Формулы просто станут немного сложнее.
СУММЕСЛИМН + СУММЕСЛИМН для суммирования нескольких столбцов
Для суммирования ячеек, соответствующих нескольким критериям, обычно используется функция СУММЕСЛИМН. Проблема в том, что, как и его аналог с одним критерием, СУММЕСЛИМН не поддерживает диапазон суммы из нескольких столбцов. Чтобы преодолеть это, мы пишем несколько СУММЕСЛИМН, по одному на каждый столбец в диапазоне сумм:
СУММ(СУММЕСЛИМН(…), СУММИММН(…), СУММИММН(…))
Или же
СУММЕСЛИМН(…) + СУММЕСЛИМН(…) + СУММЕСЛИМН(…)
Например, для суммирования продаж винограда (H1) в Северном регионе (H2) используется следующая формула:
=СУММЕСЛИМН(C2:C10, A2:A10, H1, B2:B10, H2) + СУММЕСЛИМН(D2:D10, A2:A10, H1, B2:B10, H2) + СУММЕСЛИМН(E2:E10, A2:A10, H1) , В2:В10, Н2)
Формула массива для условного суммирования нескольких столбцов
Формула СУММ для нескольких критериев очень похожа на формулу для одного критерия — вы просто включаете дополнительные пары критерии_диапазон=критерий:
СУММА((сумма_диапазон) * (—(критерии_диапазон1знак равнокритерии1)) * (—(критерии_диапазон2знак равнокритерии2)))
Например, чтобы суммировать продажи товара в H1 и региона в H2, формула выглядит следующим образом:
=СУММ((C2:E10) * (—(A2:A10=H1)) * (—(B2:B10=H2)))
В Excel 2019 и более ранних версиях не забудьте нажать Ctrl + Shift + Enter, чтобы сделать формулу массива CSE. В динамических массивах Excel 365 и 2021 обычная формула будет работать нормально, как показано на снимке экрана:
Формула СУММПРОИЗВ с несколькими критериями
Самый простой способ суммировать несколько столбцов на основе нескольких критериев — это формула СУММПРОИЗВ:
СУММПРОИЗВ((сумма_диапазон) * (критерии_диапазон1знак равнокритерии1) * (критерии_диапазон2знак равнокритерии2))
Как видите, она очень похожа на формулу СУММ, но не требует дополнительных манипуляций с массивами.
Для суммирования нескольких столбцов с двумя критериями используется следующая формула:
=СУММПРОИЗВ((C2:E10) * (A2:A10=H1) * (B2:B10=H2))
Это 3 способа суммирования нескольких столбцов на основе одного или нескольких условий в Excel. Я благодарю вас за чтение и надеюсь увидеть вас в нашем блоге на следующей неделе!
Практическая рабочая тетрадь для скачивания
Сумма, если несколько столбцов — примеры (файл .xlsx)
Вас также могут заинтересовать:
Формула, позволяющая найти наибольшее число является базовой возможностью, выполняющей поиск ячейки с максимальным значением без ручного перебора и сравнения каждой ячейки.
- Способ №1;
- Способ №2;
- С условиями.
Видеоинструкция
Формула найти наибольшее в Excel
Выполнить данную задачу можно при помощи формулы:
=НАИБОЛЬШИЙ(Диапазон;аргумент)
Где
- Диапазон – это диапазон данных в котором будет производиться поиск и сравнение;
- Аргумент – указывает на позицию в рейтинге. Например, 1 показывает самое большое число, а 3 покажет цифру, занимающую третье место.
Способ №2
Следует указать нужную ячейку и кликнуть на знак функция (аналогично можно выполнить поиск наименьшего).
В появившемся окне выбираем в категории «Полный алфавитный перечень» и выбираем «НАИБОЛЬШИЙ».
Далее, как и в первом случае, выбираем массив и аргумент.
Готово, нажав на «Ок» данные появятся в ячейке.
Найти сумму двух наибольших чисел в Эксель
Решить задачу можно при помощи простой формулы:
=СУММ(НАИБОЛЬШИЙ(B2:B5;{1;2}))
В этом случае аргумент указан через {} и разделитель ; (точка с запятой).
Готово система самостоятельно посчитала результат.