Массив сумма по строкам в excel

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

Начиная с обновления для Microsoft 365 за сентябрь 2018 г., любая формула, которая может возвращать несколько результатов, автоматически переносит их вниз или в соседние ячейки. Это изменение поведения также сопровождается несколькими новыми функциями динамического массива. Формулы динамического массива, независимо от того, используют ли они существующие функции или функции динамического массива, необходимо вводить только в одну ячейку, а затем подтверждать, нажав ВВОД. Ранее в устаревших формулах массива сначала требовалось выбрать весь выходной диапазон, а затем подтвердить формулу с помощью CTRL+SHIFT+ВВОД. Их часто называют формулами CSE.

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

  • Быстро создавать образцы наборов данных.

  • Подсчитывать числа знаков в диапазоне ячеек.

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

  • Суммировать всех n-х значения в диапазоне значений.

Следующие примеры иллюстрируют создание формул массива с одной или несколькими ячейками. По возможности мы включили примеры с некоторыми функциями динамического массива, а также с существующими формулами массивов, которые введены как динамические, так и устаревшие массивы.

Скачивание примеров

Скачать образец книги со всеми примерами формул массива из этой статьи.

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

  • Формула массива с несколькими ячейками

    Функция массива с несколькими ячейками в ячейке H10 =F10:F19*G10:G19 для вычисления количества машин, проданных по цене за единицу

  • Здесь мы вычисляем совокупный объем продаж купе и седанов для каждого продавца, вводя =F10:F19*G10:G19 в ячейку H10.

    При нажатии клавиши ВВОД вы увидите, как результаты распределяются по ячейкам H10:H19. Обратите внимание, что диапазон переноса выделяется границей при выделении любой ячейки в пределах диапазона. Вы также можете заметить, что формулы в ячейках H10:H19 неактивны. Они нужны только для справки, поэтому, если вы хотите изменить формулу, вам нужно выбрать ячейку H10, в которой находится основная формула.

  • Формула массива с одной ячейкой

    Формула массива с одной ячейкой для вычисления общего итога с помощью =СУММ(F10:F19*G10:G19)

    В ячейке H20 образца книги введите или скопируйте и вставьте =СУММ(F10:F19*G10:G19), а затем нажмите ВВОД.

    В этом случае будет выполнено перемножение значений массива (диапазон ячеек F10–G19), а затем — при помощи функции СУММ — сложение полученных результатов. Общий итог продаж составит 1 590 000 рублей.

    В данном примере демонстрируется, какие широкие возможности предоставляет данный тип формул. Например, предположим, что у вас есть 1000 строк с данными. Вы можете частично или полностью сложить их значения, создав формулу массива в отдельной ячейке, а не перетаскивать формулу на 1000 строк ниже. Кроме того, обратите внимание на то, что формула с одной ячейкой в ячейке H20 полностью независима от формулы с несколькими ячейками (формула в ячейках H10–H19). Это указывает на еще одно преимущество использования формул массива — их гибкость. Можно изменить формулы в столбце H, и это не повлияет на формулу в ячейке H20. Также может быть полезно иметь независимые итоги, как это, так как это помогает проверить точность результатов.

  • Ниже перечислены дополнительные преимущества, которые обеспечивает использование формул динамического массива.

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

    • Безопасность    Компонент формулы массива с несколькими ячейками нельзя переписать. Например, щелкните ячейку H11 и нажмите клавишу DELETE. Excel не будет изменять выходные данные массива. Чтобы их изменить, необходимо выбрать левую верхнюю ячейку массива или ячейку H10.

    • Меньший размер файлов    Зачастую вместо нескольких промежуточных формул можно использовать одну формулу массива. Например, в примере с продажей автомобилей для вычисления результатов в столбце E используется одна формула массива. Если бы вы прибегли к обычным формулам (таким как =F10*G10, F11*G11, F12*G12 и т. д.), вам понадобилось бы 11 разных формул для получения таких же результатов. Это не очень важно, но что, если вам необходимо суммировать тысячи строк? Тогда это может иметь большое значение.

    • Эффективность    Функции массива могут быть эффективным способом создания сложных формул. Формула массива =СУММ(F10:F19*G10:G19) та же: =СУММ(F10*G10,F11*G11,F12*G12,F13*G13,F14*G14,F15*G15,F16*G16,F17*G17,F18*G18,F19*G19).

    • Перенос    Динамические формулы массива будут автоматически перенесены в диапазон вывода. Если исходные данные хранятся в таблице Excel, тогда формулы динамического массива будут автоматически изменять размер при добавлении и удалении данных.

    • Ошибка #ПЕРЕНОС!    Динамические массивы ввели Ошибка #ПЕРЕНОС!, что означает, что предполагаемый диапазон переноса по какой-либо причине заблокирован. При устранении блока формула будет автоматически перенесены.

Константы массива являются компонентами формул массива. Константы массива создаются путем ввода списка элементов с последующей вставкой фигурных скобок ({ }) вокруг списка, следующим образом:

={1;2;3;4;5} или ={«Январь»;»Февраль»;»Март»}

Если элементы списка разделяются точками с запятой, будет создан горизонтальный массив (строка). Если элементы разделяются двоеточиями, будет создан вертикальный массив (столбец). Чтобы создать двумерный массив, следует разделить элементы строк точками с запятой, а строки — двоеточиями.

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

  • Создание горизонтальной константы

    Воспользуйтесь книгой из предыдущих примеров или создайте новую книгу. Выберете любую пустую ячейку и введите =ПОСЛЕД(1,5). Функция ПОСЛЕД создает массив из 1 строки на 5 столбцов, как ={1;2;3;4;5}. Будет отображен следующий результат:

    Создание горизонтальной константы массива с помощью =ПОСЛЕД(1,5) или ={1,2,3,4,5}

  • Создание вертикальной константы

    Выберите любую пустую ячейку с помещением под ней и введите =ПОСЛЕД(5), или ={1;2;3;4;5}. Будет отображен следующий результат:

    Создание вертикальной константы массива с помощью =ПОСЛЕД(5) или ={1;2;3;4;5}

  • Создание двумерной константы

    Выберите любую пустую ячейку с помещением справа и введите =ПОСЛЕД(3,4). Вы получите следующий результат:

    Создание константы массива из 3 строк и 4 столбцов с помощью =ПОСЛЕД(3,4)

    Вы также можете ввести: или={1;2;3;4:5;6;7;8:9;10;11;12}, но обратите внимание, где вы ставите точки с запятой вместо запятых.

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

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

В ячейке D9 мы ввели =ПОСЛЕД(1,5,3,1), но вы также можете ввести 3, 4, 5, 6 и 7 в ячейки A9:H9. В этом конкретном выборе числа нет ничего особенного, мы просто выбрали что-то другое, кроме 1-5.

В ячейке E11 введите =СУММ(D9:H9*ПОСЛЕДОВАТЕЛЬНОСТЬ(1,5)) или =СУММ(D9:H9*{1;2;3;4;5}). Формулы возвращают 85.

Использование констант массива в формулах. В этом примере мы использовали =СУММ(D9:H(*ПОСЛЕД(1,5))

Функция ПОСЛЕД создает эквивалент константы массива {1;2;3;4;5}. Поскольку Excel в первую очередь выполняется операции с элементами, заключенными в скобки, далее будут использоваться значения ячеек в D9: H9 и оператор умножения (*). На этом этапе формула выполнит умножение значений в сохраненном массиве на соответствующие значения в константе. Это эквивалент следующей формулы:

=СУММ(D9*1;E9*2,F9*3,G9*4;H9*5) или =СУММ(3*1,4*2,5*3,6*4,7*5)

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

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

=СУММ(ПО(1;5;3;1)*ПОСЛЕД(1,5)) или =СУММ({3;4;5;6;7}*{1;2;3;4;5})

Элементы, которые можно использовать в константах массива

  • Константы массива могут содержать числа, текст, логические значения (например, ИСТИНА и ЛОЖЬ) и значения ошибок, такие как #N/A. Можно использовать числа в целочисленном, десятичном или экспоненциальном формате. При добавлении текста требуется заключить его в кавычки («текст»).

  • Константы массива не могут содержать дополнительные массивы, формулы или функции. Другими словами, они могут содержать только текст или числа, разделенные запятыми или точками с запятой. При вводе такой формулы, как {1;2;A1:D4} или {1;2;СУММ(Q2:Z8)}, выводится предупреждение. Кроме того, числовые значения не могут содержать знаки процента, знаки валюты, запятые или кавычки.

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

Выберите Формулы > Присвоить имена > Определить имена. В поле Имя введите Квартал 1. В поле Диапазон введите следующую константу (не забудьте ввести скобки вручную):

={«Январь»;»Февраль»;»Март»}

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

Добавление именованной константы массива из "Формулы > Определенные имена > Диспетчер имен > Новое"

Нажмите кнопку ОК, выберите любую строку с тремя пустыми ячейками и введите =Квартал1.

Будет отображен следующий результат:

Использование именованной константы в формуле как =Квартал1, где Квартал1 был определен как ={"Январь","Февраль","Март"}

Если вы хотите, чтобы результаты переносились по вертикали, а не по горизонтали, можно использовать =ТРАНСП(Квартал1).

Если вы хотите отобразить список из 12 месяцев, например, который вы можете использовать при создании финансового отчета, вы можете использовать функцию ПОСЛЕД в качестве основы для текущего года. Отличительной особенностью этой функции является то, что, несмотря на то, что отображается только месяц, за ним стоит допустимая дата, которую можно использовать в других вычислениях. Эти примеры можно найти на листах Константа именованного массива и Быстрый образец набора данных в книге примера.

=ТЕКСТ(ДАТА(ГОД(СЕГОДНЯ()),ПОСЛЕД(1,12),1),»ммм»)

Использование комбинаций функций ТЕКСТ, ДАТА, ГОД, СЕГОДНЯ и ПОСЛЕД для создания динамического списка из 12 месяцев

При этом функция ДАТА используется для создания даты на основе текущего года, функция ПОСЛЕД создает константу массива от 1 до 12 с января по декабрь, затем функция ТЕКСТ преобразует формат отображения в «ммм» (январь, февраль, март и т..д.). Если вы хотите отобразить полное название месяца, например «Январь», используйте «мммм».

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

В следующих ниже примерах демонстрируется несколько способов, при помощи которых можно применять константы массива в формулах массива. В некоторых из примеров используется функция ТРАНСП, которая выполняет преобразование строк в столбцы и наоборот.

  • Умножение каждого из элементов массива

    Введите =ПОСЛЕД(1,12)*2 или ={1;2;3;4:5;6;7;8:9;10;11;12}*2

    Вы также можете выполнить деление с помощью (/), сложить с помощью (+) и вычесть с помощью ().

  • Возведение в квадрат элементов массива

    Введите =ПОСЛЕД(1,12)^2 или ={1;2;3;4:5;6;7;8:9;10;11;12}^2

  • Поиск квадратного корня из квадрата элементов массива

    Введите =КОРЕНЬ(ПОСЛЕД(1,12)^2) или =КОРЕНЬ({1;2;3;4:5;6;7;8:9;10;11;12}^2)

  • Транспонирование одномерной строки

    Введите =ТРАНСП(ПОСЛЕД(1,5)) или =ТРАНСП({1;2;3;4;5})

    Даже если была введена горизонтальная константа массива, функция ТРАНСП преобразует константу массива в столбец.

  • Транспонирование одномерного столбца

    Введите =ТРАНСП(ПОСЛЕД(5,1)) или =ТРАНСП({1:2:3:4:5})

    Даже если была введена вертикальная константа массива, функция ТРАНСП преобразует константу массива в строку.

  • Транспонирование двумерного массива

    Введите =ТРАНСП(ПОСЛЕД(3,4)) или =ТРАНСП({1;2;3;4:5;6;7;8:9;10;11;12})

    Функция ТРАНСП преобразует каждую из строк в последовательность столбцов.

В данном разделе приводятся примеры использования основных формул массива.

  • Создание массива на основе существующих значений

    В следующем примере объясняется, как использовать формулы массива для создания нового массива из существующего массива.

    Введите =ПОСЛЕД(3,6,10,10) или ={10;20;30;40;50;60:70;80;90;100;110;120:130;140;150;160;170;180}

    Не забудьте ввести { (открывающую фигурную скобку) перед числом 10 и} (закрывающую фигурную скобку) после числа 180, так как вы создаете массив чисел.

    Затем введите =D9# или =D9:I11 в пустую ячейку. Появится массив ячеек 3 x 6 с одинаковыми значениями, которые отображаются в D9:D11. Знак # называется оператором диапазона переноса, и это способ ссылки Excel на весь диапазон массива вместо того, чтобы вводить его.

    Используйте оператор рассеянного диапазона (#) для ссылки на существующий массив

  • Создание константы массива на основе существующих значений

    Вы можете получить результаты формулы перенесенного массива и преобразовать его в компоненты. Выберите ячейку D9 и нажмите клавишу F2, чтобы переключиться в режим правки. Затем нажмите клавишу F9, чтобы преобразовать ссылки на ячейки в значения, которые Excel преобразует в константу массива. При нажатии клавиши ВВОД формула =D9# теперь должна быть ={10;20;30:40;50;60:70;80;90}.

  • Подсчет знаков в диапазоне ячеек

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

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

    =СУММ(LEN(C9:C13))

    В данном случае функция ДЛСТР возвращает длину каждой текстовой строки в каждой из ячеек диапазона. Затем функция СУММ складывает эти значения и выводит полученный результат (66). Если вы хотите получить среднее количество символов, можно использовать:

    =СРЗНАЧ(ДЛСТР(C9:C13))

  • Содержимое самой длинной ячейки в диапазоне C9:C13

    =ИНДЕКС(C9:C13;ПОИСКПОЗ(МАКС(ДЛСТР(C9:C13)),ДЛСТР(C9:C13);0);1)

    Эта формула работает только в том случае, если диапазон данных содержит один столбец ячеек.

    Рассмотрим эту формулу подробнее, начиная с элементов в скобках. Функция ДЛСТР возвращает длину каждого элемента в диапазон ячеек D2:D6. Функция МАКС вычисляет наибольшее значение среди этих элементов, соответствующее самой длинной текстовой строке, которая находится в ячейке D3.

    Следующие функции немного сложнее. Функция ПОИСКПОЗ вычисляет смещение (относительную позицию) ячейки, которая содержит строку текста максимальной длины. Для этого требуется три аргумента: искомое значение, массив для поиска и тип соответствия. Функция ПОИСКПОЗ выполняет поиск указанного искомого значения в массиве поиска. В данном случае искомое значение представляет собой строку максимальной длины:

    МАКС(ДЛСТР(C9:C13)

    из следующего массива:

    ДЛСТР(C9:C13)

    Аргумент типа соответствия в этом случае равен 0. Тип соответствия может иметь значение 1, 0 или -1.

    • Значение 1 возвращает наибольшее значение, которое не превышает искомое значение.

    • Значение 0 возвращает первое значение, равное искомому.

    • Значение -1 возвращает наименьшее из значений, которые превышают искомое значение или равно ему

    • Если тип соответствия не указан, предполагается, что он равен 1.

    Наконец, функция ИНДЕКС имеет следующие аргументы: массив, номер строки и номер столбца в этом массиве. Массив образуется диапазоном ячеек C9:C13, функция ПОИСКПОЗ задает адрес ячейки, а последний аргумент (1) указывает, что значение должно быть найдено в первом столбце массива.

    Если вы хотите получить содержимое из наименьшей текстовой строки, замените значение МАКС в примере выше на МИН.

  • Поиск n наименьших значений в диапазоне

    В этом примере показано, как найти три наименьших значения в диапазоне ячеек, где массив образцов данных в ячейках B9:B18 был создан с помощью: =ЦЕЛОЕ(СЛМАССИВ(10,1)*100). Обратите внимание, что ФУНКЦИЯ СЛМАСИМВ — это переменная функция, поэтому вы будете получать новый набор случайных чисел при каждом вычислении в Excel.

    Формула массива Excel для поиска n-го наименьшего значения: =НАИМЕНЬШИЙ(B9#,ПОСЛЕД(D9))

    Введите =НАИМЕНЬШИЙ(B9#,ПОСЛЕД(D9), =НАИМЕНЬШИЙ(B9:B18,{1:2:3})

    В этой формуле константа массива используется для трехкратной оценки функции НАИМЕНЬШИЙ и возврата 3 наименьших членов массива, содержащихся в ячейках B9:B18, где 3 — это переменное значение в ячейке D9. Чтобы найти дополнительные значения, можно увеличить значение в функции ПОСЛЕД или добавить дополнительные аргументы в константу. С этой формулой также используются дополнительные функции, например СУММ или СРЗНАЧ. Например:

    =СУММ(НАИМЕНЬШИЙ(B9#;ПОСЛЕД(D9))

    =СРЕДНИЙ(НАИМЕНЬШИЙ(B9#;ПОСЛЕД(D9))

  • Поиск n наибольших значений в диапазоне

    Чтобы найти наибольшие значения в диапазоне, следует заменить функцию НАИМЕНЬШИЙ функцией НАИБОЛЬШИЙ. Кроме того, в следующем примере используются функции СТРОКА и ДВССЫЛ.

    Введите =НАИБОЛЬШИЙ(B9#,СТРОКА(ДВССЫЛ(«1:3»))) или =НАИБОЛЬШИЙ(B9:B18,СТРОКА(ДВССЫЛ(«1:3»)))

    На этом этапе может быть полезно ознакомиться с функциями СТРОКА и ДВССЫЛ. При помощи функции СТРОКА можно создать массив последовательных целых чисел. Например, выберите пустое и введите:

    =СТРОКА(1:10)

    В результате выполнения этой формулы будет создан столбец, содержащий 10 последовательных целочисленных значений. Чтобы понять, где может возникнуть проблема, вставьте строку над диапазоном, содержащим формулу массива (то есть над строкой 1). Ссылки на строки будут изменены и в результате выполнения формулы теперь вы получите числа от 2 до 11. Чтобы избежать возникновения этой проблемы, следует добавить в формулу функцию ДВССЫЛ.

    =СТРОКА(ДВССЫЛ(«1:10»))

    В функции ДВССЫЛ в качестве аргументов используются текстовые строки (именно поэтому диапазон 1:10 заключен в кавычки). Текстовые значения не изменяются при вставке строк или перемещении формулы массива. В результате при выполнении функции СТРОКА всегда будет создаваться нужный массив целочисленных значений. Вы можете так же легко использовать функцию ПОСЛЕД:

    =ПОСЛЕД(10)

    Рассмотрим формулу, которую вы использовали ранее — =НАИБОЛЬШИЙ(B9#,СТРОКА(ДВССЫЛ(«1:3»))), начиная с внутренних скобок и работая наружу: функция ДВССЫЛ возвращает набор текстовых значений, в данном случае значения от 1 до 3. Функция СТРОКА, в свою очередь, создает массив столбцов из трех ячеек. Функция НАИБОЛЬШИЙ использует значения в диапазоне ячеей B9:B18 и вычисляется три раза для каждой ссылки, возвращаемой функцией СТРОКА. Если вы хотите найти дополнительные значения, добавьте к функции ДВССЫЛ более широкий диапазон ячеек. Как и в примерах с функцией НАИМЕНЬШИЙ, эту формулу можно использовать и с другими функциями, такими как СУММ и СРЗНАЧ.

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

    При попытке просуммировать диапазон, содержащий значения ошибки (например, #ЗНАЧЕН), функция СУММ в Excel не работает. или #Н/Д. В приведенном ниже примере демонстрируется, как просуммировать значения в диапазоне «Данные», который содержит ошибки:

    Использование массивов для работы с ошибками. Например, =СУММ(ЕСЛИ(ЕОШИБКА(Данные),"",Данные) суммирует диапазон с именем "Данные" даже в случае, если он содержит ошибки как #ЗНАЧЕН! или #НД!.

  • =СУММ(ЕСЛИ(ЕОШИБКА(Данные);»»;Данные))

    Формула создает новый массив, содержащий исходные значения за вычетом любых значений ошибок. Начиная с внутренних функций и работы наружу, функция ЕОШИБКА выполняет поиск ошибок в диапазоне ячеей (Данные). Функция ЕСЛИ возвращает определенное значение, если указанное условие дает в результате значение ИСТИНА, и другое значение, если условие дает в результате значение ЛОЖЬ. В этом случае он возвращает пустые строки («») для всех значений ошибок, так как они оцениваются как ИСТИНА, и возвращает оставшиеся значения из диапазона (Данные), так как они оцениваются как ЛОЖЬ, то есть они не содержат значений ошибок. Функция СУММ затем вычисляет итог для отфильтрованного массива.

  • Подсчет количества значений ошибки в диапазоне

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

    =СУММ(ЕСЛИ(ЕОШИБКА(Данные);1;0))

    В результате выполнения этой формулы создается массив, в котором для ячеек со значениями ошибки указывается значение 1, а для других ячеек — значение 0. Для получения аналогичного результата указанную формулу можно упростить, удалив третий аргумент функции ЕСЛИ следующим образом.

    =СУММ(ЕСЛИ(ЕОШИБКА(Данные);1))

    Если этот аргумент не задан и ячейка не содержит значения ошибки, функция ЕСЛИ возвращает значение ЛОЖЬ. Формулу можно упростить еще больше:

    =СУММ(ЕСЛИ(ЕОШИБКА(Данные)*1))

    Такой вариант формулы допустим, поскольку ИСТИНА*1=1 и ЛОЖЬ*1=0.

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

Можно использовать массивы для вычислений на основе конкретных условий. =СУММ(ЕСЛИ(Продажи>0,Продажи)) будет суммировать все значения больше 0 в диапазоне с именем "Продажи".

Например, в указанной ниже формуле массива суммируются только положительные целые числа в диапазоне с именем «Продажи», который представляет ячейки E9:E24 в приведенном выше примере:

=СУММ(ЕСЛИ(Продажи>0;Продажи))

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

Можно также выполнить суммирование значений с учетом нескольких условий. Например, эта формула массива вычисляет значения больше 0 И меньше 2500:

=СУММ((Продажи>0)*(Продажи<2500)*(Продажи))

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

Доступно создание формул массива с использованием условия типа ИЛИ. Например, можно суммировать значения, которые больше 0 ИЛИ меньше 2500:

=СУММ(ЕСЛИ((Продажи>0)+(Продажи<2500);Продажи))

В формулах массива нельзя использовать непосредственно функции И или ИЛИ, поскольку эти функции возвращают отдельный результат, ИСТИНА или ЛОЖЬ, а для функций массива требуется массив результатов. Чтобы разрешить эту проблему, воспользуйтесь логикой, показанной в предыдущей формуле. Другими словами, математические операции, такие как сложение и умножение, выполняются в отношении значений, которые отвечают условию ИЛИ или И.

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

=СРЗНАЧ(ЕСЛИ(Продажи<>0,Продажи))

В результате выполнения функции ЕСЛИ создается массив значений, не равных 0, которые затем передаются в функцию СРЗНАЧ.

В данной формуле массива сравниваются значения в двух диапазонах ячеек с именами МоиДанные и ДругиеДанные, в результате чего возвращается количество различающихся ячеек между этими двумя диапазонами. Если содержимое двух диапазонов идентично, формула возвращает 0. Эту формулу можно использовать только для диапазонов ячеек с одинаковым размером и одинаковой размерностью. Например, если МоиДанные — это диапазон из 3 строк и 5 столбцов, то диапазон ДругиеДанные тоже должен состоять из 3 строк и 5 столбцов:

=СУММ(ЕСЛИ(МоиДанные=ДругиеДанные;0;1))

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

Эту формулу можно упростить следующим образом:

=СУММ(1*(МоиДанные<>ДругиеДанные))

Подобно формуле, подсчитывающей количество значений ошибки в диапазоне, эта формула работает благодаря тому, что ИСТИНА*1=1, а ЛОЖЬ*1=0.

Следующая формула массива возвращает номер строки максимального значения в диапазоне с именем «Данные», состоящем из одного столбца:

=МИН(ЕСЛИ(Данные=МАКС(Данные);СТРОКА(Данные);»»))

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

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

=АДРЕС(МИН(ЕСЛИ(Данные=МАКС(Данные);СТРОКА(Данные);»»));СТОЛБЕЦ(Данные))

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

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

  • Формула массива с несколькими ячейками

Скопируйте всю таблицу, приведенную ниже, и вставьте ее на пустой лист книги, начиная с ячейки A1.

Продавец

Тип 
автомобиля

Число
проданных единиц

Цена
за единицу

Итоги
продаж

Зуева

Седан

5

33000

Купе

4

37000

Егоров

Седан

6

24000

Купе

8

21000

Еременко

Седан

3

29000

Купе

1

31000

Климов

Седан

9

24000

Купе

5

37000

Шашков

Седан

6

33000

Купе

8

31000

Формула (общий итог)

Общий итог

‘=СУММ(C2:C11*D2:D11)

=СУММ(C2:C11*D2:D11)

  1. Чтобы просмотреть итоги продаж автомобилей типа «купе» и «седан» для каждого продавца, выберите ячейки E2:E11, введите формулу =C2:C11*D2:D11, а затем нажмите клавиши CTRL+SHIFT+ВВОД.

  2. Чтобы просмотреть итоги всех продаж, выберите ячейку F11, введите формулу =СУММ(C2:C11*D2:D11), а затем нажмите клавиши CTRL+SHIFT+ВВОД.

При нажатии CTRL+SHIFT+ВВОД Excel заключает формулу в скобки ({ }) и вставляет экземпляр формулы в каждую ячейку выбранного диапазона. Это происходит очень быстро, поэтому в столбце E отображается сумма продаж каждого типа автомобиля для каждого продавца. Если вы выберете E2, а затем выберите E3, E4 и так далее, вы увидите, что отображается та же формула: {=C2:C11*D2:D11}

Итоговые суммы в столбце E, вычисленные с помощью формулы массива

  • Создание формулы массива с одной ячейкой

В ячейке D13 книги введите указанную ниже формулу, а затем нажмите сочетание клавиш CTRL+SHIFT+ВВОД:


=СУММ(C2:C11*D2:D11)

В этом случае будет выполнено перемножение значений массива (диапазон ячеек C2–D11), а затем — при помощи функции СУММ — сложение полученных результатов. Общий итог продаж составит 1 590 000 рублей. В данном примере демонстрируется, какие широкие возможности предоставляет данный тип формул. Например, предположим, что у вас есть 1000 строк с данными. Вы можете частично или полностью сложить их значения, создав формулу массива в отдельной ячейке, а не перетаскивать формулу на 1000 строк ниже.

Кроме того, обратите внимание на то, что формула с одной ячейкой в ячейке D13 полностью независима от формулы с несколькими ячейками (формула в ячейках E2–E11). Это указывает на еще одно преимущество использования формул массива — их гибкость. Можно изменить формулы в столбце E или вообще удалить этот столбец, и это не повлияет на формулу в ячейке D13.

Ниже перечислены дополнительные преимущества, которые обеспечивает использование формул массива.

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

  • Безопасность    Компонент формулы массива с несколькими ячейками нельзя переписать. Например, щелкните ячейку E3 и нажмите клавишу DELETE. Вам придется выделить весь диапазон ячеек (E2–E11) и изменить формулу для всех ячеек либо оставить массив без изменений. В качестве меры безопасности необходимо нажать CTRL+SHIFT+ВВОД чтобы подтвердить изменение формулы.

  • Меньший размер файлов    Зачастую вместо нескольких промежуточных формул можно использовать одну формулу массива. Например, в книге для вычисления результатов в столбце E применяется всего лишь одна формула массива. Если бы вы прибегли к обычным формулам (таким как =C2*D2, C3*D3, C4*D4 и т. д.), вам понадобилось бы 11 разных формул для получения таких же результатов.

Как правило, в формулах массива используется стандартный синтаксис формулы. Они все начинаются со знака равенства (=) и могут содержать многие встроенные функции Excel. Ключевое отличие заключается в том, что при использовании формулы массива, чтобы ввести формулу необходимо ввести клавиши CTRL+SHIFT+ВВОД. В этом случае Excel заключит формулу массива в фигурные скобки — если вы введете фигурные скобки вручную, ваша формула будет преобразована в текстовую строку и не будет работать.

Функции массива могут быть эффективным способом создания сложных формул. Формула массива =СУММ(C2:C11*D2:D11) эквивалентна формуле =СУММ(C2*D2;C3*D3;C4*D4;C5*D5;C6*D6;C7*D7;C8*D8;C9*D9;C10*D10;C11*D11).

Важно: Нажимайте клавиши CTRL+SHIFT+ВВОД, когда хотите ввести формулу массива. Это правило действует для формул как с одной, так и с несколькими ячейками.

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

  • Выделите диапазон ячеек, который будет содержать результаты, прежде чем вводить формулу. Вы делали это при создании формулы массива с несколькими ячейками, выбирая ячейки E2–E11.

  • Содержимое отдельной ячейки в формуле массива изменить нельзя. Чтобы проверить это правило, выделите ячейку E3 в книге и нажмите клавишу DELETE. В приложении Excel отобразится сообщение о том, что нельзя изменить часть формулы массива.

  • Формулу массива можно переместить или удалить только целиком. Другими словами, чтобы уменьшить формулу массива, сначала нужно удалить существующую формулу, а затем создать новую формулу с самого начала.

  • Чтобы удалить формулу массива, выберите весь диапазон формул (например, E2:E11), а затем нажмите Удалить.

  • В формулу массива с несколькими ячейками нельзя вставить пустые строки (или удалить строки из нее).

Иногда возникает необходимость увеличить диапазон формулы массива. Выберите первую ячейку в существующем диапазоне массива и продолжайте, пока не выберете весь диапазон, на который вы хотите расширить формулу. Нажмите F2, чтобы изменить формулу, а затем нажмите CTRL+SHIFT+ВВОД, чтобы подтвердить формулу после изменения диапазона формул. Ключом является выбор всего диапазона, начиная с верхней левой ячейки массива. Верхняя левая ячейка — это ячейка, которая редактируется.

Несмотря на все преимущества формул массива, у них имеются свои недостатки.

  • Вы можете случайно забыть нажать сочетание клавиш CTRL+SHIFT+ВВОД. Это может случиться даже с самыми опытными пользователями Excel. Не забывайте нажимать это сочетание клавиш каждый раз при вводе или изменении формулы массива.

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

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

Константы массива являются компонентами формул массива. Константы массива создаются путем ввода списка элементов с последующей вставкой фигурных скобок ({ }) вокруг списка, следующим образом:

={1;2;3;4;5}

Теперь вы знаете о необходимости нажимать клавиши CTRL+SHIFT+ВВОД при создании формул массива. Константы массива являются составляющей формул массива, поэтому скобки вокруг них необходимо ввести вручную. Затем нажмите клавиши CTRL+SHIFT+ВВОД, чтобы завершить ввод формулы.

Если элементы списка разделяются точками с запятой, будет создан горизонтальный массив (строка). Если элементы разделяются двоеточиями, будет создан вертикальный массив (столбец). Чтобы создать двумерный массив, следует разделить элементы строк точками с запятой, а строки — двоеточиями.

Так выглядит массив из одной строки: {1;2;3;4}. Массив из одного столбца: {1:2:3:4}. А вот массив из двух строк и четырех столбцов: {1;2;3;4:5;6;7;8}. В двухстрочном массиве первая строка представлена 1, 2, 3 и 5, 6, 7, а вторая строка — 8 и 4. Строки разделены двоеточием между записями 4 и 5.

Как и формулы массива, константы массива можно использовать с большинством встроенных функций Excel. В следующих ниже разделах объясняется, как создавать те или иные типы констант и использовать эти константы с функциями Excel.

В описанных ниже процедурах вы потренируетесь создавать горизонтальные, вертикальные и двумерные константы.

Создание горизонтальной константы

  1. На пустом листе выделите ячейки от A1 до E1 включительно.

  2. В строке формул введите указанную ниже формулу, а затем нажмите клавиши CTRL+SHIFT+ВВОД:


    ={1;2;3;4;5}

    В этом случае нужно ввести открывающую и закрывающую фигурные скобки ({ }), и Excel добавит второй набор.

    Будет отображен следующий результат:

    Горизонтальная константа массива в формуле

Создание вертикальной константы

  1. Выделите в книге столбец из пяти ячеек.

  2. В строке формул введите указанную ниже формулу, а затем нажмите клавиши CTRL+SHIFT+ВВОД:


    ={1:2:3:4:5}

    Будет отображен следующий результат:

    Вертикальная константа массива в формуле массива

Создание двумерной константы

  1. Выделите в книге блок ячеек из четырех столбцов и трех строк.

  2. В строке формул введите указанную ниже формулу, а затем нажмите клавиши CTRL+SHIFT+ВВОД:


    ={1;2;3;4:5;6;7;8:9;10;11;12}

    Вы получите следующий результат:

    Двумерная константа массива в формуле массива

Использование констант в формулах

Рассмотрим простой пример с константами.

  1. Создайте новый лист в образце книги.

  2. В ячейку A1 введите значение 3, затем введите 4 в ячейку B1, 5 — в C1, 6 — в D1 и 7 — в E1.

  3. В ячейке A3 введите следующую формулу, а затем нажмите клавиши CTRL+SHIFT+ВВОД:


    =СУММ(A1:E1*{1;2;3;4;5})

    Обратите внимание, что константа будет автоматически заключена в дополнительный набор скобок, поскольку она введена как формула массива.

    Формула массива с константой массива

    В ячейке A3 появится значение 85.

В следующем разделе поясняется работа этой формулы.

Использованная формула состоит из нескольких частей.

Синтаксис формулы массива с константой массива

1. Функция

2. Сохраненный массив

3. Оператор

4. Константа массива

Последний элемент внутри скобок — это константа массива: {1;2;3;4;5}. Помните, что Excel не заключает константы массива в фигурные скобки, их нужно вводить вручную. Также помните о том, что после ввода константы в формулу массива необходимо нажать сочетание клавиш CTRL+SHIFT+ВВОД, чтобы завершить ввод формулы.

Поскольку в первую очередь выполняются операции с элементами, заключенными в скобки, далее будут использоваться значения, хранящиеся в книге (диапазон A1:E1), и соответствующий оператор. На этом этапе формула выполнит умножение значений в сохраненном массиве на соответствующие значения в константе. Это эквивалент следующей формулы:

=СУММ(A1*1;B1*2;C1*3;D1*4;E1*5)

В последнюю очередь выполняется сложение значений при помощи функции СУММ, итоговое значение 85 отображается в ячейке A3.

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

=СУММ({3;4;5;6;7}*{1;2;3;4;5})

Для этого скопируйте функцию, выделите пустую ячейку в книге, вставьте формулу в строку формул, а затем нажмите клавиши CTRL+SHIFT+ВВОД. Получится тот же результат, что и в предыдущем упражнении, где использовалась формула массива:

=СУММ(A1:E1*{1;2;3;4;5})

Константы массива могут содержать числа, текст, логические значения (такие как ИСТИНА и ЛОЖЬ), а также значения ошибок (например, #Н/Д). Можно использовать числа в целочисленном, десятичном или экспоненциальном формате. При добавлении текста требуется заключить его в кавычки («).

Константы массива не могут содержать дополнительные массивы, формулы или функции. Другими словами, они могут содержать только текст или числа, разделенные запятыми или точками с запятой. При вводе такой формулы, как {1;2;A1:D4} или {1;2;СУММ(Q2:Z8)}, выводится предупреждение. Кроме того, числовые значения не могут содержать знаки процента, знаки валюты, запятые или кавычки.

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

  1. На вкладке Формулы в группе Определенные имена выберите команду Присвоить имя.
    Откроется диалоговое окно Задать имя.

  2. В поле Имя введите Квартал1.

  3. В поле Диапазон введите следующую константу (не забудьте ввести скобки вручную):


    ={«Январь»;»Февраль»;»Март»}

    Содержимое этого диалогового окна должно иметь следующий вид:

    Диалоговое окно "Изменение имени" с формулой

  4. Нажмите кнопку ОК, а затем выделите строку из трех пустых ячеек.

  5. Введите указанную ниже формулу, а затем нажмите сочетание клавиш CTRL+SHIFT+ВВОД.


    =Квартал1

    Будет отображен следующий результат:

    Именованный массив, введенный в виде формулы

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

Если константы массива не действуют, проверьте наличие перечисленных ниже причин.

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

  • Возможно, выделен диапазон ячеек, не соответствующий числу элементов в константе. Например, если выделен столбец из шести ячеек для использования в константе с пятью ячейками, в пустой ячейке будет выведено значение ошибки #Н/Д. Наоборот, если выделено слишком мало ячеек, значения, не имеющие соответствующей ячейки, будут пропущены.

В следующих ниже примерах демонстрируется несколько способов, при помощи которых можно применять константы массива в формулах массива. В некоторых из примеров используется функция ТРАНСП, которая выполняет преобразование строк в столбцы и наоборот.

Умножение каждого из элементов массива

  1. Создайте новый лист и выделите блок пустых ячеек из четырех столбцов и трех строк.

  2. Введите указанную ниже формулу, а затем нажмите сочетание клавиш CTRL+SHIFT+ВВОД:


    ={1;2;3;4:5;6;7;8:9;10;11;12}*2

Возведение в квадрат элементов массива

  1. Выделите блок пустых ячеек из четырех столбцов и трех строк.

  2. Введите указанную ниже формулу массива, а затем нажмите клавиши CTRL+SHIFT+ВВОД:


    ={1;2;3;4:5;6;7;8:9;10;11;12}*{1;2;3;4:5;6;7;8:9;10;11;12}

    Можно также ввести следующую формулу массива, где используется оператор возведения в степень (^):


    ={1;2;3;4:5;6;7;8:9;10;11;12}^2

Транспонирование одномерной строки

  1. Выделите столбец из пяти пустых ячеек.

  2. Введите указанную ниже формулу, а затем нажмите сочетание клавиш CTRL+SHIFT+ВВОД:


    =ТРАНСП({1;2;3;4;5})

    Даже если была введена горизонтальная константа массива, функция ТРАНСП преобразует константу массива в столбец.

Транспонирование одномерного столбца

  1. Выделите строку из пяти пустых ячеек.

  2. Введите указанную ниже формулу, а затем нажмите сочетание клавиш CTRL+SHIFT+ВВОД:


    =ТРАНСП({1:2:3:4:5})

Даже если была введена вертикальная константа массива, функция ТРАНСП преобразует константу массива в строку.

Транспонирование двумерного массива

  1. Выделите блок ячеек из трех столбцов и четырех строк.

  2. Введите указанную ниже константу, а затем нажмите клавиши CTRL+SHIFT+ВВОД.


    =ТРАНСП({1;2;3;4:5;6;7;8:9;10;11;12})

    Функция ТРАНСП преобразует каждую из строк в последовательность столбцов.

В данном разделе приводятся примеры использования основных формул массива.

Создание массивов и констант массива на основе существующих значений

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

Создание массива на основе существующих значений

  1. На листе Excel выберите диапазон ячеек C8:E10, а затем введите такую формулу:


    ={10;20;30:40;50;60:70;80;90}

    Не забудьте ввести { (открывающую фигурную скобку) перед числом 10 и} (закрывающую фигурную скобку) после числа 90, так как вы создаете массив чисел.

  2. Нажмите клавиши CTRL+SHIFT+ВВОД, чтобы поместить этот массив чисел в диапазон ячеек C8:E10 с помощью формулы массива. На листе ячейки с C8 по E10 должны выглядеть следующим образом:

    10

    20

    30

    40

    50

    60

    70

    80

    90

  3. Выделите диапазон ячеек C1–E3.

  4. Введите указанную ниже формулу, а затем нажмите сочетание клавиш CTRL+SHIFT+ВВОД.


    =C8:E10

    В ячейках C1–E3 отобразится массив ячеек 3×3 с теми же значениями, что и в ячейках C8–E10.

Создание константы массива на основе существующих значений

  1. Выделите диапазон ячеек C1:C3 и нажмите клавишу F2, чтобы перейти в режим правки. 

  2. Нажмите клавишу F9, чтобы преобразовать ссылки на ячейки в значения. Значения будут преобразованы в константы массива. Теперь формула должна быть ={10;20;30:40;50;60:70;80;90}.

  3. Нажмите сочетание клавиш CTRL+SHIFT+ВВОД, чтобы ввести константу массива в качестве формулы массива.

Подсчет знаков в диапазоне ячеек

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

  1. Скопируйте всю таблицу и вставьте ее на лист, начиная с ячейки A1.

    Данные

    Это

    группа ячеек,

    собранных вместе,

    чтобы составить

    единое предложение.

    Общее количество символов в диапазоне ячеек A2:A6

    =СУММ(ДЛСТР(A2:A6))

    Содержимое ячейки с наибольшим количеством символов (A6)

    =ИНДЕКС(A2:A6;ПОИСКПОЗ(МАКС(ДЛСТР(A2:A6));ДЛСТР(A2:A6);0);1)

  2. Выберите ячейку A8 и нажмите клавиши CTRL+SHIFT+ВВОД, чтобы увидеть общее количество символов в диапазоне ячеек A2:A6 (66).

  3. Выберите ячейку A10 и нажмите клавиши CTRL+SHIFT+ВВОД, чтобы увидеть содержимое ячейки с наибольшим количеством символов в диапазоне A2:A6 (ячейка A3).

Приведенная ниже формула используется в ячейке A8 для подсчета общего количества символов (66) в ячейках A2–A6.


=СУММ(ДЛСТР(A2:A6))

В данном случае функция ДЛСТР возвращает длину каждой текстовой строки в каждой из ячеек диапазона. Затем функция СУММ складывает эти значения и выводит полученный результат (66).

Поиск n наименьших значений в диапазоне

В данном примере демонстрируется, как найти три наименьших значения в диапазоне ячеек.

  1. Введите случайные числа в ячейки A1:A11.

  2. Выделите ячейки от C1 до C3. Этот набор ячеек будет содержать результаты, возвращенные формулой массива.

  3. Введите указанную ниже формулу, а затем нажмите сочетание клавиш CTRL+SHIFT+ВВОД:


    =НАИМЕНЬШИЙ(A1:A11,{1:2:3})

В этой формуле используется константа массива, при помощи которой три раза выполняется функция НАИМЕНЬШИЙ, в результате чего возвращаются три элемента массива, находящегося в ячейках A1:A10, которые имеют наименьшие значения (1, 2 и 3 по возрастанию). Чтобы найти дополнительные значения, следует добавить аргументы в константу. С этой формулой также используются дополнительные функции, например СУММ или СРЗНАЧ. Например:

=СУММ(НАИМЕНЬШИЙ(A1:A10,{1;2;3})

=СРЗНАЧ(НАИМЕНЬШИЙ(A1:A10,{1;2;3})

Поиск n наибольших значений в диапазоне

Чтобы найти наибольшие значения в диапазоне, следует заменить функцию НАИМЕНЬШИЙ функцией НАИБОЛЬШИЙ. Кроме того, в следующем примере используются функции СТРОКА и ДВССЫЛ.

  1. Выделите ячейки от D1 до D3.

  2. В строке формул введите указанную ниже формулу, а затем нажмите клавиши CTRL+SHIFT+ВВОД.


    =НАИБОЛЬШИЙ(A1:A10;СТРОКА(ДВССЫЛ(«1:3»)))

На этом этапе может быть полезно ознакомиться с функциями СТРОКА и ДВССЫЛ. При помощи функции СТРОКА можно создать массив последовательных целых чисел. Например, выберите пустой столбец из 10 ячеек в книге практики, введите эту формулу массива и нажмите CTRL+SHIFT+ВВОД:


=СТРОКА(1:10)

В результате выполнения этой формулы будет создан столбец, содержащий 10 последовательных целочисленных значений. Чтобы понять, где может возникнуть проблема, вставьте строку над диапазоном, содержащим формулу массива (то есть над строкой 1). Ссылки на строки будут изменены и в результате выполнения формулы вы получите числа от 2 до 11. Чтобы избежать возникновения этой проблемы, следует добавить в формулу функцию ДВССЫЛ.

=СТРОКА(ДВССЫЛ(«1:10»))

В функции ДВССЫЛ в качестве аргументов используются текстовые строки (именно поэтому диапазон 1:10 заключен в двойные кавычки). Текстовые значения не изменяются при вставке строк или перемещении формулы массива. В результате при выполнении функции СТРОКА всегда будет создаваться нужный массив целочисленных значений.

Рассмотрим формулу, которую вы использовали ранее — =НАИБОЛЬШИЙ(A5:A14,СТРОКА(ДВССЫЛ(«1:3»))), начиная с внутренних скобок и работая наружу: функция ДВССЫЛ возвращает набор текстовых значений, в данном случае значения от 1 до 3. Функция СТРОКА, в свою очередь, создает массив столбцов из трех ячеек. Функция НАИБОЛЬШИЙ использует значения в диапазоне ячеей A5:A14 и вычисляется три раза для каждой ссылки, возвращаемой функцией СТРОКА. Значения 3200, 2700 и 2000 возвращаются в массив столбцов с тремя ячейками. Если вы хотите найти дополнительные значения, добавьте к функции ДВССЫЛ более широкий диапазон ячеек.

Как и в предыдущих примерах, эту формулу можно использовать и с другими функциями, такими как СУММ и СРЗНАЧ.

Поиск наиболее длинной строки текста в диапазоне ячеек

Вернитесь к предыдущему примеру текстовой строки, введите следующую формулу в пустую ячейку и нажмите CTRL+SHIFT+ВВОД:


=ИНДЕКС(A2:A6;ПОИСКПОЗ(МАКС(ДЛСТР(A2:A6));ДЛСТР(A2:A6);0);1)

Отобразится текст «группа ячеек».

Рассмотрим эту формулу подробнее, начиная с элементов в скобках. Функция ДЛСТР возвращает длину каждого элемента в диапазон ячеек A2:A6. Функция МАКС вычисляет наибольшее значение среди этих элементов, соответствующее самой длинной текстовой строке, которая находится в ячейке A3.

Следующие функции немного сложнее. Функция ПОИСКПОЗ вычисляет смещение (относительную позицию) ячейки, которая содержит строку текста максимальной длины. Для этого требуется три аргумента: искомое значение, массив для поиска и тип соответствия. ФункцияПОИСКПОЗ выполняет поиск указанного искомого значения в массиве поиска. В данном случае искомое значение представляет собой строку максимальной длины:

(МАКС(ДЛСТР(A2:A6))

из следующего массива:

ДЛСТР(A2:A6)

Аргумент типа соответствия равен 0. Тип соответствия может иметь значение 1, 0 или -1. Если для аргумента задано значение 1, функция ПОИСКПОЗ возвращает наибольшее значение, которое не превышает искомое значение. Если для аргумента задано значение 0, функция ПОИСКПОЗ возвращает первое значение, равное искомому. Если для аргумента задано значение -1, функция ПОИСКПОЗ ищет наименьшее из значений, которые превышают искомое значение или равны ему. Если тип соответствия не указан, предполагается, что он равен 1.

Наконец, функция ИНДЕКС имеет следующие аргументы: массив, номер строки и номер столбца в этом массиве. Массив образуется диапазоном ячеек A2:A6, функция ПОИСКПОЗ задает адрес ячейки, а последний аргумент (1) указывает, что значение должно быть найдено в первом столбце массива.

В данном разделе приводятся примеры использования более сложных формул массива.

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

При попытке просуммировать диапазон, содержащий значения ошибки (например, #Н/Д), функция СУММ в Excel не работает. В приведенном ниже примере демонстрируется, как просуммировать значения в диапазоне «Данные», который содержит ошибки.

=СУММ(ЕСЛИ(ЕОШИБКА(Данные);»»;Данные))

Формула создает новый массив, содержащий исходные значения за вычетом любых значений ошибок. Начиная с внутренних функций и работы наружу, функция ЕОШИБКА выполняет поиск ошибок в диапазоне ячеей (Данные). Функция ЕСЛИ возвращает определенное значение, если указанное условие дает в результате значение ИСТИНА, и другое значение, если условие дает в результате значение ЛОЖЬ. В этом случае он возвращает пустые строки («») для всех значений ошибок, так как они оцениваются как ИСТИНА, и возвращает оставшиеся значения из диапазона (Данные), так как они оцениваются как ЛОЖЬ, то есть они не содержат значений ошибок. Функция СУММ затем вычисляет итог для отфильтрованного массива.

Подсчет количества значений ошибки в диапазоне

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

=СУММ(ЕСЛИ(ЕОШИБКА(Данные);1;0))

В результате выполнения этой формулы создается массив, в котором для ячеек со значениями ошибки указывается значение 1, а для других ячеек — значение 0. Для получения аналогичного результата указанную формулу можно упростить, удалив третий аргумент функции ЕСЛИ следующим образом.

=СУММ(ЕСЛИ(ЕОШИБКА(Данные);1))

Если этот аргумент не задан и ячейка не содержит значения ошибки, функция ЕСЛИ возвращает значение ЛОЖЬ. Формулу можно упростить еще больше:

=СУММ(ЕСЛИ(ЕОШИБКА(Данные)*1))

Такой вариант формулы допустим, поскольку ИСТИНА*1=1 и ЛОЖЬ*1=0.

Суммирование значений с учетом условий

При выполнении определенных условий может потребоваться вложение значений. Например, в указанной ниже формуле массива суммируются только положительные целые числа в диапазоне с именем «Продажи».

=СУММ(ЕСЛИ(Продажи>0;Продажи))

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

Можно также выполнить суммирование значений с учетом нескольких условий. Например, в следующей формуле массива вычисления выполняются по значениям, которые больше 0 и не меньше 5:

=СУММ((Продажи>0)*(Продажи<=5)*(Продажи))

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

Доступно создание формул массива с использованием условия типа ИЛИ. Например, можно выполнить сложение значений, которые меньше 5 и больше 15:

=СУММ(ЕСЛИ((Продажи<5)+(Продажи>15);Продажи))

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

В формулах массива нельзя использовать непосредственно функции И или ИЛИ, поскольку эти функции возвращают отдельный результат, ИСТИНА или ЛОЖЬ, а для функций массива требуется массив результатов. Чтобы разрешить эту проблему, воспользуйтесь логикой, показанной в предыдущей формуле. Другими словами, математические операции, такие как сложение и умножение, выполняются в отношении значений, которые отвечают условию ИЛИ или И.

Подсчет среднего значения с исключением нулей

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

=СРЗНАЧ(ЕСЛИ(Продажи<>0,Продажи))

В результате выполнения функции ЕСЛИ создается массив значений, не равных 0, которые затем передаются в функцию СРЗНАЧ.

Подсчет количества различающихся ячеек в двух диапазонах

В данной формуле массива сравниваются значения в двух диапазонах ячеек с именами МоиДанные и ДругиеДанные, в результате чего возвращается количество различающихся ячеек между этими двумя диапазонами. Если содержимое двух диапазонов идентично, формула возвращает 0. Эту формулу можно использовать только для диапазонов ячеек с одинаковым размером и одинаковой размерностью (например, если МоиДанные — это диапазон из 3 строк и 5 столбцов, то диапазон ДругиеДанные тоже должен состоять из 3 строк и 5 столбцов).

=СУММ(ЕСЛИ(МоиДанные=ДругиеДанные;0;1))

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

Эту формулу можно упростить следующим образом:

=СУММ(1*(МоиДанные<>ДругиеДанные))

Подобно формуле, подсчитывающей количество значений ошибки в диапазоне, эта формула работает благодаря тому, что ИСТИНА*1=1, а ЛОЖЬ*1=0.

Поиск позиции максимального значения в диапазоне

Следующая формула массива возвращает номер строки максимального значения в диапазоне с именем «Данные», состоящем из одного столбца:

=МИН(ЕСЛИ(Данные=МАКС(Данные);СТРОКА(Данные);»»))

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

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

=АДРЕС(МИН(ЕСЛИ(Данные=МАКС(Данные);СТРОКА(Данные);»»));СТОЛБЕЦ(Данные))

Подтверждение

Части этой статьи основаны на серии рубрик «Опытные пользователи Excel», написанных Колином Уилкоксом (Colin Wilcox), а также на главах 14 и 15 из книги «Формулы Excel 2002», написанной Джоном Уокэнбахом (John Walkenbach), бывшим специалистом по Excel со статусом MVP.

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

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

См. также

Динамические массивы и поведение рассеянного массива

Формулы динамического массива и устаревшие формулы массива CSE

Функция ФИЛЬТР

Функция СЛУЧМАССИВ

Функция ПОСЛЕДОВ

Функция СОРТ

Функция СОРТПО

Функция УНИК

Ошибки #ПЕРЕНОС! в Excel

Оператор неявного пересечения: @

Обзор формул

Содержание

  • Суммирование значений в строке
    • Способ 1: арифметическая формула
    • Способ 2: автосумма
    • Способ 3: функция СУММ
    • Способ 4: массовое суммирование значений в строках
  • Вопросы и ответы

Суммирование значений в строке в Microsoft Excel

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

Читайте также: Как посчитать сумму в Экселе

Суммирование значений в строке

По большому счету, просуммировать в Экселе значения в строке можно тремя основными способами: использование арифметической формулы, применение функций и автосуммы. При этом, данные способы могут делиться ещё на ряд более конкретизированных вариантов.

Способ 1: арифметическая формула

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

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

Таблица дохода магазинов в Microsoft Excel

  1. Выделяем ячейку, в которую будет выводиться готовый результат подсчета итога. Ставим туда знак «=». Кликаем левой кнопкой мыши по первой ячейке в данной строке, которая содержит числовые значения. Как видим, её адрес тут же отобразится в элементе для вывода суммы. Ставим знак «+». Затем кликаем по следующей ячейке в строке. Таким способом чередуем знак «+» с адресами ячеек строчки, которая относится к первому магазину.

    В итоге в конкретно нашем случае получается следующая формула:

    =B3+C3+D3+E3+F3+G3+H3

    Естественно, при использовании других таблиц вид её будет отличаться.

  2. Формула сложения в Microsoft Excel

  3. Для выведения общей суммы выручки по первой торговой точке жмем на кнопку Enter на клавиатуре. Результат выводится в ту ячейку, в которой была расположена формула.

Результат формулы сложения в Microsoft Excel

Как видим, данный способ довольно простой и интуитивно понятный, но у него имеется один существенный недостаток. На его осуществление нужно потратить много времени, если сравнивать с теми вариантами, которые мы рассмотрим ниже. А если в таблице очень много столбцов, то временные затраты увеличатся ещё больше.

Способ 2: автосумма

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

  1. Выделяем все ячейки с числовыми значениями первой строчки. Выделение проводим, зажав левую кнопку мыши. Перейдя во вкладку «Главная», жмем на значок «Автосумма», который расположен на ленте в блоке инструментов «Редактирование».
    Вызов автосуммы через вкладку Главная в Microsoft Excel

    Другим вариантом вызова автосуммы является переход во вкладку «Формулы». Там в блоке инструментов «Библиотека функций» на ленте следует щелкнуть по кнопке «Автосумма».

    Lumpics.ru

    Вызоов автосуммы через вкладку Формулы в Microsoft Excel

    Если же вы вообще не хотите перемещаться по вкладкам, то после выделения строчки можно просто набрать сочетание горячих клавиш Alt+=.

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

Автосумма подсчитана в Microsoft Excel

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

Способ 3: функция СУММ

Преодолеть недостатки двух вышеописанных способов может вариант с применением встроенной функции Excel под названием СУММ.

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

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

Как видим, аргументами этого оператора являются числа или адреса ячеек, в которых они располагаются. Их количество может быть до 255.

Посмотрим, как можно просуммировать элементы в строке при помощи данного оператора на примере нашей таблицы.

  1. Выделяем любую пустую ячейку на листе, куда предполагаем выводить итог вычисления. При желании можно её выбрать даже на другом листе книги. Но подобное бывает все-таки редко, так как в большинстве случаев более удобно традиционно располагать ячейку для вывода итогов в той же строке, в которой находятся расчетные данные. После того, как выделение произведено, щелкаем по значку «Вставить функцию» слева от строки формул.
  2. Переход в Мастер функций в Microsoft Excel

  3. Запускается инструмент, который носит наименование Мастер функций. Переходим в нем в категорию «Математические» и из открывшегося списка операторов выбираем название «СУММ». Затем кликаем по кнопке «OK» внизу окошка Мастера функций.
  4. Переход в окно аргументов функции СУММ в Microsoft Excel

  5. Производится активация окна аргументов оператора СУММ. В этом окне может располагаться до 255 полей, но для решения нашей задачи понадобится всего одно поле – «Число1». В него нужно ввести координаты той строки, значения в которой следует сложить. Для этого ставим курсор в указанное поле, а затем, произведя зажим левой кнопкой мыши, выделяем курсором весь числовой диапазон нужной нам строчки. Как видим, адрес данного диапазона тут же будет отображен в поле окна аргументов. Затем щелкаем по кнопке «OK».
  6. Окно аргументов функции СУММ в Microsoft Excel

  7. После того, как мы произвели указанное действие, сумма значений строки тут же отобразится в той ячейке, которую мы выделили ещё на самом первом этапе решения задачи данным способом.

Результат вычисления функции СУММ в Microsoft Excel

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

Урок: Мастер функций в Экселе

Способ 4: массовое суммирование значений в строках

Но что делать, если нужно просуммировать не одну и не две строчки, а, скажем 10, 100 или даже 1000? Неужели для каждой строки требуется в отдельности применять вышеописанные действия? Как оказывается, совсем не обязательно. Для этого нужно просто скопировать формулу суммирования в другие ячейки, в которые вы планируете выводить сумму по остальным строчкам. Сделать это можно при помощи инструмента, который носит наименование маркера заполнения.

  1. Производим сложение значений в первой строке таблицы любым из тех способов, которые были описаны ранее. Ставим курсор в нижний правый угол ячейки, в которой отображается результат применяемой формулы или функции. При этом курсор должен изменить свой внешний вид и преобразоваться в маркер заполнения, который выглядит, как небольшой крестик. Затем зажимаем левую кнопку мыши и перетаскиваем курсор вниз, параллельно ячейкам с наименованиями строк.
  2. Маркер заполнения в Microsoft Excel

  3. Как видим, все ячейки были заполнены данными. Это и есть сумма значений отдельно по строкам. Такой результат удалось получить потому, что по умолчанию все ссылки в Excel относительны, а не абсолютны, и при копировании изменяют свои координаты.

Итог суммирования по строкам в Microsoft Excel

Урок: Как сделать автозаполнение в Экселе

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

Skip to content

Функция СУММПРОИЗВ с примерами формул

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

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

На самом деле, СУММПРОИЗВ — это удивительно универсальная функция со множеством применений. Благодаря своей уникальной способности разумно и элегантно обрабатывать массивы, Она чрезвычайно полезна, если не незаменима, когда речь идет о сравнении данных в двух или более диапазонах и подсчёте данных с несколькими условиями. Следующие примеры раскроют всю мощь этой функции.

  • Функция СУММПРОИЗВ в Excel — синтаксис и использование
  • Логика работы СУММПРОИЗВ в Excel
  • Как работает СУММПРОИЗВ с несколькими условиями
  • Как работает формула СУММПРОИЗВ с одним условием
  • Как пересчитать, суммировать или найти среднее по нескольким условиям
  • 1. Формула с логикой И
  • 2. Формула с логикой ИЛИ
  • 3. Формула с логикой И и ИЛИ
  • Формула СУММПРОИЗВ для средневзвешенного значения
  • СУММПРОИЗВ как альтернатива формулам массива
  • Excel СУММПРОИЗВ — примеры расширенных формул

Функция СУММПРОИЗВ в Excel — синтаксис и использование

Технически функция СУММПРОИЗВ в Excel перемножает числа в указанных диапазонах и возвращает сумму этих произведений.

Синтаксис функции СУММПРОИЗВ прост и понятен:

СУММПРОИЗВ(массив1; [массив2]; [массив3]; …)

Где массив1, массив2 и т. д. — это непрерывные диапазоны ячеек или массивов чисел, элементы которых вы хотите перемножить, а затем сложить.

Минимальное количество массивов равно 1. В этом случае формула СУММПРОИЗВ просто складывает все элементы и возвращает их сумму.

Максимальное количество массивов — 255 в Excel 365-2007 и 30 в более ранних версиях Excel.

Хотя СУММПРОИЗВ работает с массивами, она не требует использования формулы массива Ctrl + Shift + Enter. Вы вводите формулу обычным способом, нажимая клавишу Enter.

Примечания:

  • Все массивы в формуле СУММПРОИЗВ должны иметь одинаковое количество строк и столбцов, иначе вы получите ошибку #ЗНАЧ!.
  • Если какой-либо аргумент массива содержит нечисловые значения, они будут рассматриваться как нули.
  • Если массив является логическим тестом, он дает значения ИСТИНА и ЛОЖЬ. В большинстве случаев вам нужно преобразовать их в 1 и 0 с помощью двойного отрицания (—). 
  • СУММПРОИЗВ не поддерживает подстановочные знаки * и ?.

Логика работы СУММПРОИЗВ в Excel

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

Предположим, у вас есть количество товаров в ячейках A2:A4, их цены в ячейках B2:B4, и вы хотите узнать их общую стоимость. Если бы вы делали школьный тест по математике, вы бы умножали количество на цену каждого предмета, а затем складывали промежуточные итоги. В Microsoft Excel вы можете получить сумму произведений с помощью одной формулы:

=СУММПРОИЗВ(B2:B5;C2:C5)

Следующий скриншот показывает ее в действии:

Вот что происходит «под капотом» с точки зрения математики:

  • Формула берет 1-е число из 1-го массива (цену) и умножает его на 1-е число из 2-го массива (количество), затем берет 2-е число из 1-го массива и умножает его на 2 е число из 2-го массива, и так далее.
  • Когда все элементы перемножаются, формула суммирует произведения и возвращает итоговую сумму.

Другими словами, наша формула СУММПРОИЗВ выполняет следующие математические операции:

=С2*B2 + С3*B3 + С4*B4 + С5*B5

Как использовать СУММПРОИЗВ в Excel с условиями – примеры формул

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

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

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

Сумма произведений с несколькими условиями

Обычно в Microsoft Excel есть несколько способов выполнить одну и ту же задачу. Но когда дело доходит до сравнения двух или более массивов, особенно по нескольким условиям, СУММПРОИЗВ является наиболее эффективным, если не единственным решением. Ну, либо СУММПРОИЗВ, либо формула массива.

Предположим, что у вас есть список товаров в столбце A, запланированные данные о продажах в столбце B и фактические продажи в столбце C. Ваша цель — выяснить, сколько товаров из всего ассортимента продано меньше, чем планировалось. Для этого можно использовать один из следующих вариантов формулы СУММПРОИЗВ:

=СУММПРОИЗВ(—(C2:C10<B2:B10))

или

=СУММПРОИЗВ((C2:C10<B2:B10)*1)

Где C2:C10 — реальные продажи, а B2:B10 — запланированные продажи.

Но что, если у вас несколько условий? Допустим, вы хотите посчитать, сколько раз яблоки продавались хуже, чем планировалось. Решение состоит в том, чтобы добавить еще один критерий в формулу:

=СУММПРОИЗВ((C2:C10<B2:B10)*(A2:A10=»яблоки»))

Или вы можете использовать следующий синтаксис:

=СУММПРОИЗВ(—(C2:C10<B2:B10);—(A2:A10=»яблоки»))

А теперь давайте уделим минутку и ​​разберёмся, что на самом деле делают приведенные выше формулы. Я считаю, что это достойное вложение времени, потому что многие другие формулы СУММПРОИЗВ работают с той же логикой.

Как работает формула СУММПРОИЗВ с одним условием

Для начала давайте разберем более простой случай. Нужно сравнить числа в двух столбцах построчно и сообщить, сколько раз числа колонки C меньше, чем B (то есть, план продаж не выполнен):

=СУММПРОИЗВ(—(C2:C10<B2:B10))

Если вы выделите часть (C2:C10<B2:B10) в строке формул и нажмете F9, чтобы просмотреть вычисленные значения, вы увидите следующую картину:

=СУММПРОИЗВ(—({ЛОЖЬ:ИСТИНА:ЛОЖЬ:ЛОЖЬ:ИСТИНА:ЛОЖЬ:ИСТИНА:ЛОЖЬ:ЛОЖЬ}))

Здесь мы имеем массив логических значений ИСТИНА и ЛОЖЬ, где ИСТИНА означает, что указанное условие выполнено (т. е. значение в столбце С меньше значения в колонке В в той же строке), а ЛОЖЬ указывает, что условие не выполнено.

Двойное отрицание (—) преобразует логические значения ИСТИНА и ЛОЖЬ в единицы и нули: {0:1:0:0:1:0:1:0:0}.

Другой способ преобразовать логические значения в числа — умножить массив на 1:

=СУММПРОИЗВ((C2:C10<B2:B10)*1)

В любом случае, поскольку в данном случае в формуле СУММПРОИЗВ использован только один массив, она просто складывает единицы в результирующем массиве, и мы получаем желаемое количество. Несложно, не так ли?

Как работает формула СУММПРОИЗВ с несколькими условиями

Когда формула СУММПРОИЗВ Excel содержит два или более массивов, она перемножает соответствующие элементы всех массивов, а затем находит сумму этих произведений.

Как вы помните, мы использовали следующие формулы, чтобы узнать, во сколько раз количество реальных продаж (столбец C) было меньше запланированных продаж (столбец B) яблок (столбец A):

=СУММПРОИЗВ((C2:C10<B2:B10)*(A2:A10=»яблоки»))

или:

=СУММПРОИЗВ(—(C2:C10<B2:B10);—(A2:A10=»яблоки»))

Единственное техническое различие между этими формулами заключается в способе преобразования ИСТИНА и ЛОЖЬ в 1 и 0 с помощью двойного отрицания или операции умножения. В результате получаем два массива единиц и нулей:

=СУММПРОИЗВ({0:1:0:0:1:0:1:0:0};{1:1:0:0:0:0:0:0:0})

Операция умножения, выполняемая СУММПРОИЗВ, объединяет эти числа в один массив. А поскольку умножение на ноль всегда дает 0, а 1 появляется только при выполнении обоих условий, то, следовательно, учитываются только строки, в которых выполнены оба условия:

Как пересчитать, суммировать или найти среднее по нескольким условиям

В Excel 2003 и более ранних версиях, в которых ещё не было функций ЕСЛИ с условиями, одним из наиболее распространенных применений функции СУММПРОИЗВ было условное суммирование или подсчет ячеек с несколькими критериями. Начиная с Excel 2007, Microsoft представила серию функций, специально разработанных для таких задач, — СУММЕСЛИМН, СЧЁТЕСЛИМН и СРЗНАЧЕСЛИ.

Но даже в современных версиях Excel формула СУММПРОИЗВ может быть достойной альтернативой, например, для условного суммирования и подсчета ячеек с логикой ИЛИ. Ниже вы найдете несколько примеров формул, демонстрирующих эту способность в действии.

Формула СУММПРОИЗВ с логикой И

Предположим, у вас есть следующий набор данных, где в столбце A перечислены регионы, в столбце B — товары, а в столбце C — данные о продажах:

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

В последних версиях Excel 2016, 2013, 2010 и 2007 задачу можно легко выполнить с помощью формул СУММЕСЛИМН, СЧЁТЕСЛИМН и СРЗНАЧЕСЛИ. Если вы не ищете легких путей или все еще используете Excel 2003 или более раннюю версию, вы можете получить желаемый результат с помощью СУММПРОИЗВ.

Чтобы сделать ваши формулы СУММПРОИЗВ более гибкими, мы указываем нужный регион и товар в отдельных ячейках, а затем ссылаемся на эти ячейки в своей формуле, как показано на скриншоте ниже:

  • Чтобы подсчитать количество продаж яблок для Севера :

=СУММПРОИЗВ(—(A3:A13=F2); —(B3:B13=F3))

  • Суммируем продажияблок для Севера:

=СУММПРОИЗВ(—(A3:A13=F2); —(B3:B13=F3); C3:C13)

  • Чтобы найти средний размер продажи яблок на Севере:

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

=СУММПРОИЗВ(—(A3:A13=F2); —(B3:B13=F3); C3:C13)/СУММПРОИЗВ(—(A3:A13=F2); —(B3:B13=F3))

Формула СУММПРОИЗВ с логикой ИЛИ

Напомним, что логика ИЛИ означает, что выполняется хотя бы одно из нескольких условий. Чтобы суммировать или подсчитывать ячейки с помощью логики ИЛИ, используйте знак плюс (+) между массивами.

В формулах СУММПРОИЗВ Excel, а также в формулах массива символ плюс действует как оператор ИЛИ, который указывает Excel вернуть ИСТИНА, если ЛЮБОЕ из условий в данном выражении оценивается как ИСТИНА.

На следующем скриншоте показана такая формула в действии:

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

=СУММПРОИЗВ((B3:B13=F2)+(B3:B13=H2))

Она означает следующее: подсчитывать ячейки, если B3:B13=»апельсины» ИЛИ B3:B13=»лимоны».

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

=СУММПРОИЗВ((B3:B13=F2)+(B3:B13=H2); C3:C13)

Формула СУММПРОИЗВ с логикой И и ИЛИ

Во многих ситуациях вам может понадобиться условно подсчитать или суммировать ячейки с помощью логики И и ИЛИ одновременно. Даже в последних версиях Excel серия функций ЕСЛИ на это не способна.

Одним из возможных решений является объединение двух или более функций СУММЕСЛИМН+СУММЕСЛИМН или СЧЁТЕСЛИМН+СЧЁТЕСЛИМН .

Другой способ — использовать функцию СУММПРОИЗВ Excel, где:

  • Знак умножения (*) используется как оператор И.
  • Плюс (+) используется как оператор ИЛИ.

Для лучшего понимания, рассмотрим следующие примеры.

Чтобы сделать формулы немного более компактными, вы можете записать переменные в отдельные ячейки — «Регион» в F1 и «Товары» в F2 и H2 — и ссылаться на них в своей формуле:

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

=СУММПРОИЗВ((A3:A13=F2)*((B3:B13=F3)+(B3:B13=H3)))

Чтобы суммировать продажи яблок и лимонов в Северном регионе, возьмите приведенную выше формулу и добавьте массив Продажи с логикой «И»:

=СУММПРОИЗВ((A3:A13=F2)*((B3:B13=F3)+(B3:B13=H3))*C3:C13)

Формула СУММПРОИЗВ для средневзвешенного значения

 Еще одним распространенным использованием СУММПРОИЗВ в Excel является вычисление средневзвешенного значения, где каждому числу присваивается определенный вес.

Общая формула СУММПРОИЗВ для средневзвешенного значения выглядит следующим образом:

СУММПРОИЗВ( значения ; веса )/СУММ( веса )

Если предположить, что значения находятся в ячейках B2:B7, а веса — в ячейке C2:C7, формула средневзвешенного СУММПРОИЗВ будет выглядеть следующим образом:

=СУММПРОИЗВ(B2:B7;C2:C7)/СУММ(C2:C7)

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

СУММПРОИЗВ как альтернатива формулам массива

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

Какие преимущества это дает вам? По сути, вы сможете легко управлять своими формулами, не нажимая Ctrl + Shift + Enter каждый раз, когда вы вводите новую или редактируете существующую формулу массива.

В качестве примера мы можем взять простую формулу массива, которая подсчитывает все символы в заданном диапазоне ячеек. Более подробно этот пример рассмотрен в статье Как посчитать количество знаков в Excel.

=СУММПРОИЗВ(ДЛСТР( диапазон ))

или

=СУММПРОИЗВ(ДЛСТР(A2:A5))

Функция ДЛСТР в результате обработки диапазона ячеек возвращает массив значений – число символов в каждой из ячеек. Далее СУММПРОИЗВ складывает эти элементы массива и возвращает общее количество символов.

Excel СУММПРОИЗВ — примеры расширенных формул

Теперь, когда вы знаете синтаксис и логику функции СУММПРОИЗВ в Excel, вы можете изучить более сложные и более мощные формулы, в которых СУММПРОИЗВ используется совместно с другими функциями Excel.

Вот как мы это уже делали в более ранних публикациях на нашем сайте:

  • СУММПРОИЗВ для ВПР по нескольким критериям — как выполнять поиск по нескольким критериям и возвращать совпадающие числа. 
  • «Левый» ВПР для числовых значений – извлекаем из столбца слева от столбца поиска числовые значения и суммируем их.
  • Как подсчитать символы в Excel — формулы для подсчета всего или только определенных символов в диапазоне.
  • СУММПРОИЗВ для подсчета слов в Excel — формулы для получения общего количества слов в определенном диапазоне или подсчета только определенных слов.
  • Как подсчитать различные значения — узнайте, сколько разных значений появляется в диапазоне (уникальных плюс первые повторяющиеся вхождения).
  • Подсчет дубликатов и уникальных значений — формула СУММПРОИЗВ / СЧЁТЕСЛИ для подсчета дубликатов и уникальных значений в столбце или между двумя столбцами.
  • Извлечение только чисел из буквенно-цифровых строк — СУММПРОИЗВ в сочетании с 7 другими функциями извлекает все числа из строки число-текст-число.

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

Содержание

  1. Суммирование значений в строке
  2. Способ 1: арифметическая формула
  3. Способ 2: автосумма
  4. Способ 3: функция СУММ
  5. Функция СУММ(SUM) не работает
  6. Как найти сумму наибольших (наименьших) значений
  7. Растягивание формулы/функции суммирования на другие строки
  8. Как вычислить сумму каждой N-ой строки.
  9. 3-D сумма, или работаем с несколькими листами рабочей книги Excel
  10. Сумма с несколькими условиями
  11. Как посчитать процент от суммы
  12. Заключение

Суммирование значений в строке

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

  • арифметическая формула;
  • автосумма;
  • различные функции.

Каждый из этих способов подразделяется на дополнительные способы. Разберемся с ними более подробно.

Способ 1: арифметическая формула

Первоначально выясним, как, используя арифметическую формулу, возможно произвести суммирование в строчке. Разберем все на определенном примере. Допустим, у нас есть табличка, в которой отображена выручка 5 магазинов по определенным датам. Названия торговых точек – наименования строчек. Даты – наименования колонок.

kak-poschitat-summu-v-stroke-v-excel-3-sposoba-rascheta-summy-chisel-v-stroke-excel

1

Цель: посчитать итоговую сумму дохода первой торговой точки за все время. Для достижения этой цели необходимо сложить все ячейки строки, относящиеся к этому магазину. Пошаговое руководство выглядит так:

  1. Производим выделение той ячейки, где в дальнейшем будет отражаться результат. Вводим в ячейку символ «=». Жмем ЛКМ по самой первой ячейке в этой строчке, содержащей числовые показатели. Замечаем, что после нажатия координаты ячейки отобразились в ячейке для подсчета результата. Вводим символ «+» и кликаем на следующую ячейку в строке. Продолжаем чередовать символ «+» с координатами ячеек строки первой торговой точки. В результате мы получаем формулу: =B3+C3+D3+E3+F3+G3+H3.

kak-poschitat-summu-v-stroke-v-excel-3-sposoba-rascheta-summy-chisel-v-stroke-excel

2
  1. После проведения всех манипуляций нажимаем на «Enter».
  2. Готово! Результат вывелся в ячейке, в которую мы вводили формулу для подсчёта суммы.

kak-poschitat-summu-v-stroke-v-excel-3-sposoba-rascheta-summy-chisel-v-stroke-excel

3

Обратите внимание! Как видите, этот метод является понятным и легким, но в нем существует один неприятный недостаток. Реализация этого метода занимает большое количество времени. Рассмотрим более быстрые варианты суммирования.

Способ 2: автосумма

Использование автоматической суммы – метод, который выполняется намного быстрее, чем вышерассмотренный. Пошаговое руководство выглядит так:

  1. Используя зажатую ЛКМ, производим выделение всех ячеек первой строки, которые имеют числовые данные. Передвигаемся в раздел «Главная», располагающийся в верхней части интерфейса табличного процессора. Находим блок команд «Редактирование» и кликаем на элемент под названием «Редактирование».
    kak-poschitat-summu-v-stroke-v-excel-3-sposoba-rascheta-summy-chisel-v-stroke-excel
    4

Рекомендация! Альтернативный вариант – переходим в раздел «Формулы» и нажимаем на кнопку «Автосумма», находящуюся в блоке «Библиотека функций». Третий вариант – использование комбинации клавиш «Alt» + «=» после выделения ячейки.

kak-poschitat-summu-v-stroke-v-excel-3-sposoba-rascheta-summy-chisel-v-stroke-excel

5
  1. Вне зависимости от того, какой вариант вы применили, правее от выделенных ячеек появилось числовое значение. Это число является суммой показателей строки.

kak-poschitat-summu-v-stroke-v-excel-3-sposoba-rascheta-summy-chisel-v-stroke-excel

6

Как вы заметили, этот способ производит суммирование в строчке намного быстрее, чем вышеописанный. Главный недостаток – результат выводится только правее от выбранного диапазона. Чтобы результат отображался в любом выбранном месте, необходимо воспользоваться другими методами.

Способ 3: функция СУММ

Использование интегрированной функции табличного процессора под названием СУММ не имеет недостатков, как у рассмотренных ранее способов. СУММ – математическая функция. Задача оператора – суммирование числовых значений. Общий вид оператора: =СУММ(число1;число2;…).

Важно! Аргументами этой функции могут являться как числовые значения, так и координаты ячеек. Максимальное число аргументов – 255.

Пошаговое руководство выглядит следующим образом:

  1. Производим выделение какой-либо пустой ячейки на рабочем листе. В ней мы будем выводить результат суммирования. Стоит отметить, что она может располагаться даже на отдельном рабочем листе документа. После осуществления выделения жмем на кнопку «Вставить функцию», находящуюся рядом со строчкой для ввода формул.

kak-poschitat-summu-v-stroke-v-excel-3-sposoba-rascheta-summy-chisel-v-stroke-excel

7
  1. На экране отобразилось небольшое окошко под названием «Мастер функций». Раскрываем список около надписи «Категория:» и выбираем элемент «Математические». Чуть ниже в перечне «Выберите функцию:» находим оператор СУММ и щелкаем на него. После проведения всех манипуляций щелкаем на кнопочку «ОК», располагающуюся в нижней части окна.

kak-poschitat-summu-v-stroke-v-excel-3-sposoba-rascheta-summy-chisel-v-stroke-excel

8
  1. На дисплее появилось окошко под названием «Аргументы функции». В пустое поле «Число1» вводим адрес строки, значения в которой необходимо сложить. Для осуществления этой процедуры ставим указатель в эту строчку, а потом, используя зажатие ЛКМ, производим выделение всего диапазона с числовыми значениями. После проведения всех манипуляций щелкаем на «ОК».

kak-poschitat-summu-v-stroke-v-excel-3-sposoba-rascheta-summy-chisel-v-stroke-excel

9
  1. Готово! В выбранной изначально ячейке отобразился результат суммирования.

kak-poschitat-summu-v-stroke-v-excel-3-sposoba-rascheta-summy-chisel-v-stroke-excel

10

Функция СУММ(SUM) не работает

Иногда случается так, что оператор СУММ не работает. Основные причины неисправности:

  • неправильный формат чисел (текстовый) при импорте данных;
  • наличие скрытых символов и пробелов в ячейках с числовыми значениями.

Стоит отметить! Числовые значения всегда выравниваются по правой стороне, а текстовая информация – по левой.

Как найти сумму наибольших (наименьших) значений

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

kak-poschitat-summu-v-stroke-v-excel-3-sposoba-rascheta-summy-chisel-v-stroke-excel

11

Оператор НАИБОЛЬШИЙ позволяет возвратить максимальный показатель из выбранных данных. 2-й аргумент указывает, какой именно показатель необходимо вернуть. В нашем конкретном примере формула выглядит так: =СУММ(НАИБОЛЬШИЙ(B2:D13;{1;2;3})).

Таким же образом работает и поиск наименьшего значения, только вместо оператора НАИБОЛЬШИЙ используется функция НАИМЕНЬШИЙ. Формула выглядит следующим образом: =СУММ(НАИМЕНЬШИЙ(B2:D13;{1;2;3})).

Растягивание формулы/функции суммирования на другие строки

Мы выяснили, каким образом высчитывается общая сумма по ячейкам в одной строчке. Разберемся с тем, как реализовать процедуру суммирования по всем строкам таблички. Прописывание формул ручным способом и вставка оператора СУММ – это долгие и неэффективные способы. Оптимальное решение – растягивание функции или же формулы на нужное число строк. Пошаговое руководство выглядит следующим образом:

  1. Производим подсчет суммы одним из вышеописанных способов. Перемещаем указатель мышки на нижнюю правую рамку ячейки с выведенным результатом. Курсор примет вид небольшого плюсика темного цвета. Зажимаем ЛКМ и растягиваем формулу до самого низа таблички.

kak-poschitat-summu-v-stroke-v-excel-3-sposoba-rascheta-summy-chisel-v-stroke-excel

12
  1. Готово! Мы вывели итоговые результаты по всем названиям. Мы добились такого результата благодаря тому, что при копировании формулы адреса смещаются. Смещение координат происходит из-за того, что адреса являются относительными.

kak-poschitat-summu-v-stroke-v-excel-3-sposoba-rascheta-summy-chisel-v-stroke-excel

13
  1. Для 3-й строчки формула имеет вид: =B3+C3+D3+E3+F3+G3+H3.

kak-poschitat-summu-v-stroke-v-excel-3-sposoba-rascheta-summy-chisel-v-stroke-excel

14

Как вычислить сумму каждой N-ой строки.

На конкретном примере разберем, как вычислить сумму каждой N-ой строки. К примеру, у нас есть табличка, в которой отражена каждодневная прибыль торговой точки за определенный промежуток времени.

kak-poschitat-summu-v-stroke-v-excel-3-sposoba-rascheta-summy-chisel-v-stroke-excel

15

Задача: произвести расчёт еженедельной прибыли за каждую неделю.  Оператор СУММ позволяет суммировать данные не только в диапазоне, но и в массиве. Здесь необходимо использование вспомогательного оператора СМЕЩ. В операторе СМЕЩ указывается некоторое количество аргументов:

  1. Первая точка. Ячейка С2 вводится в виде абсолютной ссылки.
  2. Количество шагов вниз.
  3. Количество шагов вправо.
  4. Число шагов вниз.
  5. Количество столбиков в массиве. Попадание в последнюю точку массива показателей.

В конечном итоге мы получаем следующую формулу для первой недели: =СУММ(СМЕЩ($C$2;(СТРОКА()-2)*5;0;5;1)). В результате оператор сумм произведет суммирование всех пяти числовых значений.

3-D сумма, или работаем с несколькими листами рабочей книги Excel

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

У нас есть четыре идентичных таблички. Обычный способ подсчета прибыли выглядит так: =СУММ(неделя1!B2:B8;неделя2!B2:B8;неделя3!B2:B8;неделя4!B2:B8). Здесь в роли аргументов выступают диапазоны ячеек.

Формула 3D-суммы выглядит следующим образом: =СУММ(неделя1:неделя4!B2:B8). Здесь говорится о том, что производится суммирование в диапазонах В2:В8, которые располагаются на рабочих листах: неделя (от 1 до 4). Происходит пошаговое увеличение номера рабочего листа на единицу.

Сумма с несколькими условиями

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

kak-poschitat-summu-v-stroke-v-excel-3-sposoba-rascheta-summy-chisel-v-stroke-excel

16

Пошаговое руководство выглядит следующим образом:

  1. Для начала формируется табличка.
  2. Производится выбор ячейки, в которой будет выведен результат суммирования.
  3. Перемещаемся в строчку для ввода формул.
  4. Вводим оператор: =СУММАЕСЛИМН.
  5. Пошагово вводим диапазон сложения, диапазон условия1, условие1 и так далее.
  6. После проведения всех манипуляций жмем «Enter». Готово! Подсчет произведен.

Стоит отметить! Между аргументами оператора в обязательном порядке должен стоять разделитель в виде точки с запятой «;». Если не использовать этот разделитель, то табличный процессор выведет ошибку, говорящую о том, что функция была введена неправильно.

Как посчитать процент от суммы

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

kak-poschitat-summu-v-stroke-v-excel-3-sposoba-rascheta-summy-chisel-v-stroke-excel

17

Общая сумма выводится в ячейке F8 и имеет значение 3060. Иными словами, это стопроцентный доход, а нам необходимо найти, какую часть прибыли сделал Саша. Для подсчета мы применяем специальную формулу пропорции, которая выглядит следующим образом: =F10*G8/F8.

Важно! Первым делом умножается 2 известных числовых значения по диагонали, а потом производится деление на оставшееся 3-е значение.

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

Заключение

В статье было рассмотрено несколько способов, позволяющих получить сумму данных строки в табличном процессоре Эксель. Каждый способ имеет собственные преимущества и недостатки. Применение арифметической формулы – самый простой в использовании способ, но к нему целесообразнее прибегать при работе с небольшими объемами информации. Для работы с большими объёмами данных хорошо подходит автоматическое суммирование, а также функция СУММ.

Оцените качество статьи. Нам важно ваше мнение:

Формула суммирования по строкам массива

Формуляр

Дата: Пятница, 28.10.2011, 14:51 |
Сообщение № 1

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

Ранг: Ветеран

Сообщений: 832


Репутация:

255

±

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


Excel 2003, 2013

Добрый день, коллеги!

Отягчающие обстоятельства этой незатейливой, в принципе, задачи таковы:
в ф-ле можно использовать только ссылку на весь массив полностью (и только 1 раз), ссылки на отдельные строки — нельзя.

Извернулся пока с помощью MMULT() и вспомогательной строки из 1.
Может есть у кого идеи по-лучше?

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

RowSum.xls
(14.5 Kb)


Excel 2003 EN, 2013 EN

Сообщение отредактировал ФормулярПятница, 28.10.2011, 14:54

 

Ответить

Serge_007

Дата: Пятница, 28.10.2011, 14:55 |
Сообщение № 2

Группа: Админы

Ранг: Местный житель

Сообщений: 15894


Репутация:

2623

±

Замечаний:
±


Excel 2016

Привет.

Quote (Формуляр)

в ф-ле можно использовать только ссылку на весь массив полностью, ссылки на отдельные строки — нельзя.

Это в смысле условие такое?
А $B$8:$AO$8 — это разве не ссылка на одну, восьмую строку?


ЮMoney:41001419691823 | WMR:126292472390

 

Ответить

Формуляр

Дата: Пятница, 28.10.2011, 14:57 |
Сообщение № 3

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

Ранг: Ветеран

Сообщений: 832


Репутация:

255

±

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


Excel 2003, 2013

Привет Серж!

Quote (Serge_007)

А $B$8:$AO$8 — это разве не ссылка на одну, восьмую строку?

Это просто для контроля (в заголовке написано) smile


Excel 2003 EN, 2013 EN

 

Ответить

Формуляр

Дата: Пятница, 28.10.2011, 15:01 |
Сообщение № 4

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

Ранг: Ветеран

Сообщений: 832


Репутация:

255

±

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


Excel 2003, 2013

_Boroda_,
извини, ты думаешь быстрее, чем я подправляю условия! biggrin
Ссылку на массив можно испльзовать только 1 раз: массив будет виртуальным и считаться по сложной ф-ле.


Excel 2003 EN, 2013 EN

 

Ответить

Serge_007

Дата: Пятница, 28.10.2011, 15:03 |
Сообщение № 5

Группа: Админы

Ранг: Местный житель

Сообщений: 15894


Репутация:

2623

±

Замечаний:
±


Excel 2016

Quote (Формуляр)

Это просто для контроля (в заголовке написано)

Ага, увидел smile

Т.е, условия задачи таковы:
Ссылка на массив — 1 раз.
Ссылки на строки запрещены в любом виде.
У задачи нет практической стороны, просто тренируем мозг.
Правильно?


ЮMoney:41001419691823 | WMR:126292472390

 

Ответить

Формуляр

Дата: Пятница, 28.10.2011, 15:21 |
Сообщение № 6

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

Ранг: Ветеран

Сообщений: 832


Репутация:

255

±

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


Excel 2003, 2013

Quote (Serge_007)

У задачи нет практической стороны, просто тренируем мозг. Правильно?

Задача чисто практическая из общей для нас сферы — обработка тестов.

Quote (_Boroda_)

А если массив сложный такой, то почему бы не засунуть его в именованный диапазон и с ним уже баловаться?

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


Excel 2003 EN, 2013 EN

 

Ответить

Serge_007

Дата: Пятница, 28.10.2011, 15:31 |
Сообщение № 7

Группа: Админы

Ранг: Местный житель

Сообщений: 15894


Репутация:

2623

±

Замечаний:
±


Excel 2016

Quote (Формуляр)

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

Тогда почему нельзя ссылаться на одну строку?

Quote (Формуляр)

Задача чисто практическая из общей для нас сферы — обработка тестов.

А есть наработки?


ЮMoney:41001419691823 | WMR:126292472390

 

Ответить

_Boroda_

Дата: Пятница, 28.10.2011, 16:04 |
Сообщение № 8

Группа: Модераторы

Ранг: Местный житель

Сообщений: 16618


Репутация:

6465

±

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


2003; 2007; 2010; 2013 RUS

А так:

Code

=СУММ(ИНДЕКС($B$2:$AO$6;СТРОКА()-1;))

?

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

RowSum_1.xls
(24.5 Kb)


Скажи мне, кудесник, любимец ба’гов…
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995

 

Ответить

Формуляр

Дата: Пятница, 28.10.2011, 16:09 |
Сообщение № 9

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

Ранг: Ветеран

Сообщений: 832


Репутация:

255

±

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


Excel 2003, 2013

Quote (Формуляр)

Тогда почему нельзя ссылаться на одну строку?

Потому что это промежуточный массив. Исходный я не выкладывал.

Quote (Serge_007)

А есть наработки?

Скоро будут. smile


Excel 2003 EN, 2013 EN

 

Ответить

Формуляр

Дата: Пятница, 28.10.2011, 16:11 |
Сообщение № 10

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

Ранг: Ветеран

Сообщений: 832


Репутация:

255

±

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


Excel 2003, 2013

_Boroda_, круто!
То, что надо. Спасибо.


Excel 2003 EN, 2013 EN

 

Ответить

Формуляр

Дата: Пятница, 28.10.2011, 17:40 |
Сообщение № 11

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

Ранг: Ветеран

Сообщений: 832


Репутация:

255

±

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


Excel 2003, 2013

Наработки:

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

test.xls
(42.5 Kb)


Excel 2003 EN, 2013 EN

 

Ответить

_Boroda_

Дата: Пятница, 28.10.2011, 19:50 |
Сообщение № 12

Группа: Модераторы

Ранг: Местный житель

Сообщений: 16618


Репутация:

6465

±

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


2003; 2007; 2010; 2013 RUS

А зачем там ТРАНСП? Прекрасно работает

Code

= СУММ( ИНДЕКС( —($C$2:$AP$6 = C7:AP7); СТОЛБЕЦ()-СТОЛБЕЦ($AP$1);) )


Скажи мне, кудесник, любимец ба’гов…
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995

 

Ответить

Формуляр

Дата: Суббота, 29.10.2011, 20:44 |
Сообщение № 13

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

Ранг: Ветеран

Сообщений: 832


Репутация:

255

±

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


Excel 2003, 2013

И действительно!

Чудеса! biggrin

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

8190502.xls
(43.0 Kb)


Excel 2003 EN, 2013 EN

Сообщение отредактировал ФормулярСуббота, 29.10.2011, 20:47

 

Ответить

Like this post? Please share to your friends:
  • Массив разделить на массив excel
  • Массив максимальное значение excel
  • Массив поиска совпадений в excel
  • Массив констант в excel это
  • Массив по ячейкам excel vba