Как указать размер массива в 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

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

Обзор формул

Массивы в VBA Excel: одномерные, многомерные и динамические. Объявление и использование массивов. Операторы Public, Dim и ReDim. Функции Array, LBound, UBound.

Массивы – это множества однотипных элементов, имеющих одно имя и отличающиеся друг от друга индексами. Они могут быть одномерными (линейными), многомерными и динамическими. Массивы в VBA Excel, как и другие переменные, объявляются с помощью операторов Dim и Public. Для изменения размерности динамических массивов используется оператор ReDim. Массивы с заранее объявленной размерностью называют статическими.

Одномерные массивы

Объявление одномерных (линейных) статических массивов в VBA Excel:

Public Massiv1(9) As Integer

Dim Massiv2(1 To 9) As String

В первом случае публичный массив содержит 10 элементов от 0 до 9 (нижний индекс по умолчанию — 0, верхний индекс — 9), а во втором случае локальный массив содержит 9 элементов от 1 до 9.

По умолчанию VBA Excel считает в массивах нижним индексом нуль, но, при желании, можно сделать нижним индексом по умолчанию единицу, добавив в самом начале модуля объявление «Option Base 1».

Многомерные массивы

Объявление многомерных статических массивов в VBA Excel аналогично объявлению одномерных массивов, но с добавлением размерностей дополнительных измерений через запятую:

‘Массив двухмерный

Public Massiv1(3, 6) As Integer

‘Массив трехмерный

Dim Massiv2(1 To 6, 1 To 8, 1 To 5) As String

‘Массив четырехмерный

Dim Massiv3(9, 9, 9, 9) As Date

Третий массив состоит из 10000 элементов — 10×10×10×10.

Динамические массивы

Динамические массивы в VBA Excel, в отличие от статических, объявляются без указания размерности:

Public Massiv1() As Integer

Dim Massiv2() As String

Такие массивы используются, когда заранее неизвестна размерность, которая определяется в процессе выполнения программы. Когда нужная размерность массива становится известна, она в VBA Excel переопределяется с помощью оператора ReDim:

Public Massiv1() As Integer

Dim Massiv2() As String

ReDim Massiv1(1 To 20)

ReDim Massiv2(3, 5, 4)

При переопределении размерности массива вместо верхнего индекса можно использовать переменную:

Dim Massiv1() as Variant, x As Integer

x = 20

ReDim Massiv1(1 To x)

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

С помощью оператора ReDim невозможно изменить обычный массив, объявленный с заранее заданной размерностью. Попытка переопределить размерность такого массива вызовет ошибку компиляции с сообщением: Array already dimensioned (Массив уже измерен).

При переопределении размерности динамических массивов в VBA Excel теряются значения их элементов. Чтобы сохранить значения, используйте оператор Preserve:

Dim Massiv1() As String

операторы

ReDim Massiv1(5, 2, 3)

операторы

ReDim Preserve Massiv1(5, 2, 7)

Обратите внимание!
Переопределить с оператором Preserve можно только последнюю размерность динамического массива. Это недоработка разработчиков, которая сохранилась и в VBA Excel 2016. Без оператора Preserve можно переопределить все размерности.

Максимальный размер

Размер массива – это произведение длин всех его измерений. Он представляет собой общее количество элементов, содержащихся в данный момент в массиве.

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

Использование массивов

Приведу два примера, где не обойтись без массивов.

1. Как известно, функция Split возвращает одномерный массив подстрок, извлеченных из первоначальной строки с разделителями. Эти данные присваиваются заранее объявленному строковому (As String) одномерному динамическому массиву. Размерность устанавливается автоматически в зависимости от количества подстрок.

2. Данные в массивах обрабатываются значительно быстрее, чем в ячейках рабочего листа. Построчную обработку информации в таблице Excel можно наблюдать визуально по мерцаниям экрана, если его обновление (Application.ScreenUpdating) не отключено. Чтобы ускорить работу кода, можно значения из диапазона ячеек предварительно загрузить в динамический массив с помощью оператора присваивания (=). Размерность массива установится автоматически. После обработки данных в массиве кодом VBA полученные результаты выгружаются обратно на рабочий лист Excel. Обратите внимание, что загрузить значения в диапазон ячеек рабочего листа через оператор присваивания (=) можно только из двумерного массива.

Функции Array, LBound, UBound

Функция Array

Функция Array возвращает массив элементов типа Variant из первоначального списка элементов, перечисленных через запятую. Нумерация элементов в массиве начинается с нуля. Обратиться к элементу массива можно, указав в скобках его номер (индекс).

Sub Test1()

Dim a() As Variant

a = Array(«text», 25, «solo», 35.62, «stop»)

MsgBox a(0) & vbNewLine & a(1) & vbNewLine _

& a(2) & vbNewLine & a(3) & vbNewLine & a(4)

End Sub

Скопируйте код в модуль VBA Excel и запустите его на выполнение. Информационное сообщение MsgBox покажет значения массива, извлеченные по индексу.

Функция LBound

Функция LBound возвращает значение типа Long, равное наименьшему (нижнему) доступному индексу в указанном измерении массива.
Синтаксис:
LBound (arrayname[, dimension])

  • arrayname — это имя переменной массива, является обязательным аргументом;
  • dimension — это номер измерения массива, необязательный аргумент, по умолчанию принимает значение 1.

Наименьший индекс по-умолчанию может быть равен 0 или 1 в зависимости от настроек оператора Option Base. Нижняя граница архива, полученного с помощью функции Array, всегда равна 0.

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

Функция UBound

Функция UBound возвращает значение типа Long, равное наибольшему (верхнему) доступному индексу в указанном измерении массива.
Синтаксис:
UBound( arrayname[, dimension])

  • arrayname — это имя переменной массива, является обязательным аргументом;
  • dimension — это номер измерения массива, необязательный аргумент, по умолчанию принимает значение 1.

Функция UBound используется вместе с функцией LBound для определения размера массива.

Sub Test2()

Dim a(2 To 53) As String

MsgBox «Наименьший индекс = « & LBound(a) & _

vbNewLine & «Наибольший индекс = « & UBound(a)

End Sub

Скопируйте код в модуль VBA Excel и запустите его на выполнение. Информационное сообщение MsgBox покажет значения наименьшего и наибольшего индекса переменной массива a.

Обход массива циклом

Обход одномерного массива циклом For… Next, в котором для определения границ массива используются функции UBound и LBound:

Sub Test3()

Dim a() As Variant, i As Long

a = Array(«text», 25, «solo», 35.62, «stop»)

    For i = LBound(a) To UBound(a)

        Debug.Print «a(« & i & «) = « & a(i)

    Next

End Sub

Результат работы цикла вы увидите в окне Immediate.

Очистка (обнуление) массивов

Первый способ

Очистить любой массив, статический или динамический, без использования цикла можно с помощью оператора Erase. Термин «обнуление» можно применить только к массиву числового типа.

Dim Massiv1(4, 3) As String,  Massiv2() As Variant

операторы

‘переопределяем динамический массив

ReDim Massiv2(2, 5, 3)

операторы

‘очищаем массивы

Erase Massiv1

Erase Massiv2

Обратите внимание, что оба массива при таком способе очистки будут возвращены в исходное состояние, которое они имели сразу после объявления:

  • статический Massiv1 сохранит размерность (4, 3);
  • динамический Massiv2 не сохранит размерность ().

Второй способ

Динамический массив можно очистить (обнулить) без использования цикла с помощью оператора ReDim. Просто переопределите его с той же размерностью.

Dim Massiv() As Double

операторы

‘переопределяем массив

ReDim Massiv(5, 6, 8)

операторы

‘очищаем массив

ReDim Massiv(5, 6, 8)


3 / 3 / 2

Регистрация: 22.11.2011

Сообщений: 168

1

12.05.2012, 23:54. Показов 5852. Ответов 7


Студворк — интернет-сервис помощи студентам

В общем задание такое: в ячейке A1 записывается n (число строк) в C1 — m (число столбцов).
Потом начиная от определённого места заполняется двумерный массив произволными числами.
Задание делаю в экселле, а потом записываю макрос. Так вот, как мне записать в ячейку A1 именно n, а в C1 именно m, как сделать так чтобы программа поняла, что в эти ячейки записываются размерности заполняемого массива??



0



Dragokas

Эксперт WindowsАвтор FAQ

17993 / 7619 / 890

Регистрация: 25.12.2011

Сообщений: 11,352

Записей в блоге: 17

13.05.2012, 00:29

2

Не совсем понятно, что Вы хотите сделать.
Чтобы макрос брал значения из ячеек A1 и C1 и читал с определенного места листа в массив
количество строк и столбцов, указанных в них?

Для готового (считанного) массива размерности определяются так:

Visual Basic
1
Переменная = ubound (Massiv, № размерности)

Учтите, что счет индексов для считанных с листа массивов в переменную типа Variant начинается с 1,
а для явно необъявленных командами

Visual Basic
1
2
3
Dim Massiv (1 to 1)
Redim Massiv (1 to 1)
Option Base 1

— с 0.



0



3 / 3 / 2

Регистрация: 22.11.2011

Сообщений: 168

13.05.2012, 00:33

 [ТС]

3

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



0



Эксперт WindowsАвтор FAQ

17993 / 7619 / 890

Регистрация: 25.12.2011

Сообщений: 11,352

Записей в блоге: 17

13.05.2012, 01:22

4

^_^

Цитата
Сообщение от Diskretor
Посмотреть сообщение

Не совсем понятно, что Вы хотите сделать.



0



3 / 3 / 2

Регистрация: 22.11.2011

Сообщений: 168

13.05.2012, 01:28

 [ТС]

5

Смотрите. Задание такое: в ячейку A1 написать число строк, в ячейку C1 написать число столбцов, сделать в экселле такую кнопку, которая может считать размерность матрицы (те узнать количество строк и столбцов) по A1 и C1 соответственно и заполнить двумерную матрицу случайными числами начиная с ячейки D3.
Я не знаю как реализовать ту кнопку.



0



Dragokas

Эксперт WindowsАвтор FAQ

17993 / 7619 / 890

Регистрация: 25.12.2011

Сообщений: 11,352

Записей в блоге: 17

13.05.2012, 02:01

6

Visual Basic
1
2
3
4
5
6
Sub nicenice()
[A1] = 5: [C1] = 10
For Each cel In Range([D3], [D3].Resize([A1], [C1])).Cells
    cel.Value = Int(Rnd * 20)
Next
End Sub



1



3 / 3 / 2

Регистрация: 22.11.2011

Сообщений: 168

13.05.2012, 12:28

 [ТС]

7

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

Добавлено через 2 часа 10 минут
Diskretor, огромное тебе спасибо. До меня дошло наконец-то. Скажи, почему при нажатии на кнопку заполнении выводится матрица, в которой число в одной ячейке выравнено не по правому краю а по по левому и всегда в ячейке F5??



0



Dragokas

Эксперт WindowsАвтор FAQ

17993 / 7619 / 890

Регистрация: 25.12.2011

Сообщений: 11,352

Записей в блоге: 17

13.05.2012, 16:40

8

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

Visual Basic
1
Cells.clear 'или Cells.Clearformats

По-умолчанию, в новой книге выравнивание ставится по правому краю для чисел.



0



Содержание

  1. Массивы данных в excel
  2. Редактирование формул массива в Excel
  3. Правила редактирования формул массива
  4. Выделение массива в Excel
  5. Как удалить формулу массива
  6. Как отредактировать формулу массива
  7. Изменение размеров формулы массива
  8. Присвоение имени константе массива
  9. Еще о формулах массива
  10. Массивы констант в Excel
  11. Коротко о массивах констант
  12. Пример применения массива констант в Excel
  13. Формулы массива в Excel
  14. Терминология
  15. Пример 1. Классика жанра — товарный чек
  16. Пример 2. Разрешите Вас. транспонировать?
  17. Редактирование формулы массива
  18. Пример 3. Таблица умножения
  19. Пример 4. Выборочное суммирование
  20. Примеры функции ИНДЕКС для создания массивов значений в Excel
  21. Примеры использования функции ИНДЕКС в Excel
  22. Динамическая выборка из массива значений ячеек
  23. Стратегический анализ расходов в Excel
  24. Пример формулы ИНДЕКС и ПОИСКПОЗ в Excel
  25. Особенности использования функции ИНДЕКС в Excel

Массивы данных в excel

Редактирование формул массива в Excel

​Смотрите также​ значение, которое характеризует​ соответственно).​Вид таблиц данных:​Описание аргументов:​ или диапазона ячеек.​ вот такого вида:​ ячеек размером 2​ в итоге должно​Автор: Антон Андронов​ нажать клавишу​ сразу несколько массивов.​ текст, его заключить​

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

​ языке) .​ рабочем листе, не​ клавишу​ выше правила подчеркивают,​В прошлых уроках мы​ порядковый номер диапазона​Несколько строк и столбцов.​Для быстрого поиска оценки​​B2:G8 – диапазон ячеек​​ Если в качестве​

​При помощи формул массива​ строки на 8​ получиться так:​Под​Enter​ Например, следующая формула​ в двойные кавычки​Когда использовать константа массива​ меняя его размерность,​

  1. ​Delete​ что массив –​ разобрали основные понятия​ из переданных в​ Функция ИНДЕКС вернет​
  2. ​ у любого ученика​ таблицы с числовыми​ первого аргумента функции​ она вся делается​
  3. ​ столбцов.​чтобы Excel воспринял нашу​массивом​.​
  4. ​ вернет максимальное значение,​ (​ в формуле массива,​ просто переместите его​
  5. ​.​ это одно целое.​ и сведения касаемо​ качестве аргумента ссылка,​​ диапазон ячеек, являющихся​​ за любую контрольную​

​ значениями, в которых​ была передана константа​ в одно движение:​вводим функцию транспонирования =ТРАНСП(​ формулу как формулу​обычно понимают набор​Конечно же, мы в​ которое получится в​»​ ей можно присвоить​

Выделение массива в Excel

​ как обычный диапазон.​На рисунке ниже представлена​ Если не выполнить,​ массивов в Excel.​ в котором будет​ строкой или столбцом​ в любой из​ выполняется поиск;​ массива, функция должна​

  1. ​выделяем диапазон B2:K11​ ​ массива жмем не​ данных, объединенных в​ силах скопировать данную​ результате сложения двух​
  2. ​» «​​ имя и затем​​Существует несколько подходов к​ формула массива, которая​ хотя бы одно​​ В этом уроке​ произведен поиск на​ массива (диапазона), переданного​​ представленных таблиц создадим​​ПОИСКПОЗ(A10;A2:A8;0) – функция, возвращающая​​ быть выполнена как​​вводим формулу =A2:A11*B1:K1​

​в качестве аргумента функции​​ Enter, как обычно,​​ группу. Массивы бывают​ формулу в остальные​ массивов констант:​​).​​ повторно легко.​

​ редактированию размеров массива,​

  • ​ складывает значения двух​​ из вышеперечисленных правил,​​ мы продолжим изучение​ основе заданных номерах​ в качестве первого​
  • Как удалить формулу массива

    ​ три открывающихся списка,​ номер строки из​ формула массива (Ctrl+Shift+Enter).​жмем​ выделяем наш массив​ а​одномерные​ ячейки и получить​​=МАКС(<1;2;3;4;5;6>+<7,8,9,10,11,12>)​​Константы массива не могут​

    Как отредактировать формулу массива

    ​На вкладке​ которые, возможно, Вам​ диапазонов. Из рисунка​ Excel не даст​ формул массива, но​ столбца и строки.​ аргумента, если указан​ содержащих:​ диапазона A2:A8, в​

    ​Ссылочная форма – функция​Ctrl + Shift +​

    1. ​ ячеек A1:B8​Ctrl + Shift +​(элементы массива образуют​ нужный нам результат:​Массивы констант могут содержать​
    2. ​ содержать другие массивы,​Формулы​ пригодятся. Подходы приведены​ видно, что при​ отредактировать массив и​​ с большим уклоном​​ Нумерация диапазонов начинается​ только номер его​1 Фамилии учеников:​
    3. ​ которой находится значение,​ ИНДЕКС используется для​
    4. ​ Enter​жмем​​ Enter​​ строку или столбец)​Но грамотнее будет использовать​

    Изменение размеров формулы массива

    ​ числа, текст, логические​ формулы или функции.​выберите команду​ в данном уроке.​ вводе формулы мы​ выдаст следующее предупреждение:​ на их практическое​ с единицы (1).​ строки либо номер​2 Номера контрольных работ:​

    ​ содержащееся в ячейке​ возврата ссылки на​, чтобы Excel воспринял​Ctrl + Shift +​Вуаля!​ или​ многоячеечную формулу массива.​ значения и значения​ Другими словами, в​

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

    ​ столбца соответственно.​3 Номера четвертей:​ A10 («Молоко, 1л»);​ определенную аргументами ячейку​ ее как формулу​

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

    • ​ функции ИНДЕКС все​ссылка – обязательный для​
    • ​В ячейку, в которой​ПОИСКПОЗ(B10;B1:G1;0) – функция, возвращающая​
    • ​ или несколько ячеек​ массива​
    • ​и получаем «перевернутый​
    • ​ умножение элементов массивов​(матрица). Легко сообразить,​
    • ​ следующим образом:​#Н/Д​

    ​ лишь текст, числа​В поле​
    ​ редактировать формулы массива,​

    Присвоение имени константе массива

    ​ что нужно сделать​​ существующую формулу массива​ несмежные диапазоны, переданные​ заполнения первый аргумент​ будет выводится результат,​ номер столбца из​ из одного либо​и получаем результат:​ массив» в качестве​ B2:B5 и C2:C5​ что почти в​Мы можем пойти еще​:​ или символы, разделенные​Имя​ а также узнали​Чтобы отредактировать формулу массива,​ – это выделить​ в Excel?​ в качестве аргумента​ функции ссылочной формы,​ запишем следующую формулу:​

    ​ диапазона B1:G1, в​ нескольких диапазонов ячеек.​Посмотрите как при помощи​ результата:​ и образовал новый​

    ​ любой таблице Excel​​ дальше и присвоить​​=<12;»Текст»;ИСТИНА;ЛОЖЬ;#Н/Д>​​ запятыми или точками​​введите название константы.​

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

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

    ​ одной формулы массива​Если формула массива расположена​

    ​ массив стоимостей (в​​ при желании можно​​ массиву констант имя.​

    ​У Вас может возникнуть​ с запятой. При​В поле​

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

    ​ один или несколько​

    ​ функции ИНДЕКС передана​ хранящееся в ячейке​

    ​ не являются смежными,​​ красиво и легко​

    ​ не в одной​ памяти компьютера), а​ найти один или​ Имя назначается точно​ резонный вопрос: Зачем​ вводе такой константы,​диапазон​ ними. Если желаете​

    ​ из известных Вам​ Excel существует, как​ то ее редактирование​Примечания:​ диапазонов ячеек. Ссылки​ ссылка на несколько​ B10 («Май»).​ можно явно указать​ выбираются данные по​ ячейке (как в​ затем сложил все​ несколько таких массивов:​ так же, как​​ нужен такой массив?​​ как <1,2,A1:D4>или​​введите константа. Например​

    ​ получить еще больше​ способов. В нашем​ минимум, 3 способа​ в Excel обычно​Аргументы номер_строки и [номер_столбца]​ на два и​ несмежных диапазонов. Для​Искомая ячейка находится в​ диапазон, в котором​ определенному товару и​ Примере 1), а​ элементы этого нового​Формулы массива​ и обычной константе,​ Отвечу на него​ <1,2,SUM(Q2:Z8)>, появляется предупреждающее​ можно использовать​

    Еще о формулах массива

    ​ информации о массивах​

    ​ случае это диапазон​

    ​ не представляет особой​

    ​ должны указывать на​

    Массивы констант в Excel

    ​ более несмежных диапазона​ поиска номеров строки​ диапазоне B2:G8 на​ будет произведен поиск​ заказчику:​​ в нескольких ячейках​​ массива.​в Excel -​ через диалоговое окно​ в виде примера.​ сообщение. Кроме того,​= <«Январь», «Февраль», «Март»>​

    Коротко о массивах констант

    ​ в Excel, читайте​ C1:C12.​Выделить диапазон массива вручную,​ сложности. Здесь главное​ ячейку (ячейки) внутри​ должны быть заключены​ и столбца, на​ пересечении строки и​

    ​ требуемой ячейки. Формулы,​

    ​В данном случае формула​ (как в Примере​Обратите внимание на фигурные​ это специальные формулы​Создание имени​

    ​На рисунке ниже приведен​

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

    ​ в скобки (например,​

    ​ пересечении которых находится​ столбца, найденных функциями​ принимающие в качестве​ массива синхронно пробегает​​ 2), то Excel​​ скобки, появившиеся в​

    ​ для обработки данных​

    ​:​ список студентов, которые​ должны содержать знаки​Вот как должно выглядеть​Знакомство с формулами массива​

    Пример применения массива констант в Excel

    ​ формулы, для этого​ мыши. Это самый​ редактирование комбинацией клавиш​

    ​ переданных в качестве​ функция с аргументами​ ячейка с искомым​ ПОИСКПОЗ. В результате​ аргументов не ссылочные​ по всем элементам​ не позволит редактировать​ формуле — отличительный​ из таких массивов.​Не забывайте указывать знак​ получили определенные оценки:​ процента, знаки валюты,​ диалоговое окно:​

    ​ щелкните по строке​ простой, но в​Ctrl+Shift+Enter​ аргументов массив или​ ((A1:B4;D4:E9);2;2;1), принимающая ссылку​ значением, используются функции​

    ​ получим:​ данные, будут интерпретировать​ диапазонов C3:C21 и​

    ​ или удалить одну​​ признак​​ Формулы массива делятся​ равенства в поле​Наша задача перевести оценку​ запятые или кавычки.​

    ​Нажмите кнопку​Многоячеечные формулы массива в​ формул или нажмите​ ряде случаев абсолютно​.​ ссылка, иначе функция​​ на несмежные диапазоны​​ ПОИСКПОЗ. Функции ЕСЛИ​

    ​Пример 2. Определить, сколько​ возвращенный функцией ИНДЕКС​ B3:B21, проверяя, совпадают​ отдельно взятую формулу​формулы массива​

    ​ на две категории​Диапазон​ из числового вида​Создание формулы массива​

    ​ОК​ Excel​ клавишу​ непригодный способ.​Если же формула многоячеечная,​ вернет код ошибки​ A1:B4 и D4:E9).​​ необходимы для указания​​ денег потратил бы​

    ​ результат в качестве​ ли они с​​ (например в ячейке​​. Вводить их вручную​ — те, что​, иначе Excel воспримет​

    ​ в ее словесное​Расширение диапазона формулы массива​

    ​.​Одноячеечные формулы массива в​F2​С помощью диалогового окна​

    ​ т.е. возвращает массив,​ #ССЫЛКА!.​ Один из последующих​ порядкового номера диапазона​ покупатель в феврале,​ значения, хранящегося в​ заданными значениями из​ D10) и выдаст​

    • ​ с клавиатуры бесполезно​ возвращают одно значение​
    • ​ массив как текстовую​ описание и вывести​
    • ​Удаление формулы массива​Выделите ячейки листа, в​
    • ​ Excel​. Excel удалит фигурные​
    • ​Выделить группу ячеек​ то сразу возникают​
    • ​Если в качестве аргументов​ аргументов функции необязателен​

    ​ из ссылки, определяемого​ если бы купил​
    ​ ячейке, а не​

    Формулы массива в Excel

    Терминология

    ​ предупреждающее сообщение​​ — они автоматически​​ и те, что​ строку.​ соответствующие значения в​​Правила изменения формул массива​​ которых будет содержаться​Массивы констант в Excel​ скобки вокруг формулы​​. Для этого выделите​​ определенные трудности, особенно​ номер_строки и (или)​ для заполнения, если​ номером четверти, которую​ 2 л молока​ ссылки на нее.​

    ​ G5. Если совпадения​​Невозможно изменить часть массива​ появляются при нажатии​ дают на выходе​Теперь формула выглядит менее​ диапазоне C2:C7. В​К началу страницы​ константа.​Применение формул массива в​ массива.​ любую ячейку, которая​ у начинающих пользователей.​ [номер_столбца] указаны значения​ в качестве данного​

    Пример 1. Классика жанра — товарный чек

    ​ можно выбрать из​ и 4 кг​ Например, функция =ФАКТР(ИНДЕКС(A4:B7;6;2))​ нет, то результат​.​Ctrl + Shift +​ целый набор (массив)​ пугающей:​ данном случае создавать​В Microsoft Excel можно​В строке формул введите​ Excel​

    1. ​Внесите необходимые корректировки в​​ принадлежит массиву:​
    2. ​ Давайте рассмотрим несколько​​ 0 (нуль), результатом​
    3. ​ аргумента передана ссылка​​ списка.​
    4. ​ яблок на основании​​ вернет факториал числа,​​ равенства ноль, если​
    5. ​Для редактирования формулы массива​​ Enter.​​ значений. Рассмотрим их​Как видите, в некоторых​ отдельную табличку для​ создавать массивы, которые​
    6. ​ знак равенства и​Подходы к редактированию формул​ формулу:​А затем на вкладке​ правил, которые необходимо​​ выполнения функции ИНДЕКС​ на области, состоящие​

    ​Пример поиска оценки ученика​

    ​ данных, содержащихся в​ которое содержится в​ совпадение есть, то​ необходимо выделить весь​При работе с таблицами​ на простых примерах. ​ случаях массивы констант​ хранения текстового описания​ не хранятся в​

    ​ имя константы, например​ массива в Excel​А затем нажмите комбинацию​ Главная из раскрывающегося​​ усвоить, прежде чем​​ будет массив значений​ из одной строки​ с фамилией Иванищев​ таблице к первому​​ ячейке B6. Если​ единица. Таким образом​

    Пример 2. Разрешите Вас. транспонировать?

    ​ диапазон (A10:H11 в​ часто возникает необходимость​Задача: рассчитать общую сумму​ бывают даже очень​ оценок не имеет​ диапазонах ячеек. Их​= Квартал1​Урок подготовлен для Вас​ клавиш​ списка​ начать редактирование массива.​ из строки или​ или одного столбца.​ за контрольную №2,​​ примеру.​​ результат выполнения функции​ суммы всех сделок,​

    ​ нашем случае) и​ поменять местами строки​ заказа. Если идти​

    • ​ полезны.​ смысла, поэтому выгоднее​ принято называть​.​ командой сайта office-guru.ru​Ctrl+Shift+Enter​Найти и выделить​Нельзя изменять содержимое одной​ столбца либо всего​номер_строки – обязательный для​
    • ​ написанную во второй​Вид таблиц данных:​
    • ​ ИНДЕКС используется в​ где заказчик не​ изменить формулу в​

    ​ и столбцы, т.е.​​ классическим путем, то​Итак, в данном уроке​​ создать следующий массив​массивами констант​Нажмите сочетание клавиш CTRL+SHIFT+ВВОД.​

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

    ​Автор: Антон Андронов​, чтобы сохранить изменения.​выберите пункт​ ячейки, содержащей формулу​ массива (диапазона) переданного​ заполнения аргумент (если​ четверти:​Для расчетов используем следующую​ качестве аргумента функции,​ ANTON и товар​ строке формул (или​ развернуть таблицу на​ нужно будет добавить​​ Вы познакомились с​​ констант:​

    ​. В этом уроке​В результате наш пример​Автор: Антон Андронов​ Формула будет отредактирована.​Выделить группу ячеек​ массива. Но к​ в качестве аргумента​​ следующий явно не​​Функция имеет два варианта​ формулу:​ принимающей данные ссылочного​ не Boston Crab​​ нажав​ бок, чтобы данные,​

    ​ столбец, где перемножить​ массивами констант и​=<«»;»Неудовл.»;»Удовл.»;»Хорошо»;»Отлино»>​ Вы узнаете, что​ будет выглядеть так:​Примечание:​Очень часто возникает необходимость​.​ каждой ячейке можно​

    Пример 3. Таблица умножения

    ​ массив. Это справедливо​ указан), принимающий числовые​ синтаксической записи:​Функция СУММ возвращает сумму​ типа, он будет​ Meat умножаются на​

    ​F2​ которые раньше шли​ цену и количество,​

    1. ​ их применением в​
    2. ​В данном случае первый​
    3. ​ же такое массивы​​Примечания:​Мы стараемся как​​ уменьшить или увеличить​Откроется диалоговое окно​ применить свое форматирование.​

    Пример 4. Выборочное суммирование

    ​ значения, которые характеризуют​= ИНДЕКС(массив; номер_строки; [номер_столбца])​ значений в ячейках,​ определен в качестве​ ноль и суммируются​). Затем необходимо повторить​

    ​ по строке, теперь​ а потом взять​ Excel. Если желаете​ элемент массива содержит​ констант и как​ ​ можно оперативнее обеспечивать​ количество ячеек в​Выделить группу ячеек​Нельзя удалять ячейки, которые​ ИНДЕКС ссылочной формы,​ номер строки в​= ИНДЕКС(ссылка; номер_строки; [номер_столбца];​ определенных функциями ИНДЕКС,​ ссылки на ячейку.​ только нужные заказы.​ ввод измененной формулы​ располагались в столбцах​ сумму по этому​ получить еще больше​

    Примеры функции ИНДЕКС для создания массивов значений в Excel

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

    Примеры использования функции ИНДЕКС в Excel

    ​ массиве или диапазоне,​ [номер_области])​ умноженных на значения,​

    1. ​ Например, функция =СТРОКА(ИНДЕКС(A4:B7;6;2))​Функция ИНДЕКС в Excel​ массива, нажав сочетание​ и наоборот. В​ столбцу. Если же​ информации о массивах,​ предполагается, что оценки​ в Excel.​ в качестве формулы​ материалами на вашем​ сразу, что дело​ пункт текущий массив​ массива. Можно удалить​ значений будет возвращена​
    2. ​ заданном аргументом массив,​Описание аргументов:​ содержащиеся в ячейках​ вернет число 4,​ возвращает данные из​ клавиш​ математике такая операция​ применить формулу массива,​ читайте следующие статьи:​ 1 быть не​Чтобы создать массив констант,​ массива не забудьте​ языке. Эта страница​ это не простое​ и нажмите​ только весь массив.​ ссылка не весь​ либо номер строки​массив – обязательный для​ B12 и B13​ то есть номер​ таблицы или определенного​Ctrl + Shift +​ называется транспонированием. При​ то все будет​Знакомство с формулами массива​ может.​ введите его элементы​ ввести знак равенства.​ переведена автоматически, поэтому​ и в большинстве​ОК​Нельзя перемещать ячейки, которые​ столбец, всю строку​ в диапазоне ячеек,​ заполнения первый аргумент​ (2 л, 4​

    ​ строки, в которой​

    Динамическая выборка из массива значений ячеек

    ​ диапазона ячеек на​ Enter.​ помощи формулы массива​ гораздо красивее:​ в Excel​Тогда формула, возвращающая нужный​ и заключите их​ Иначе Excel воспримет​

    ​ случаев будет проще​.​ входят в формулу​

    ​ или весь диапазон​

    • ​ заданном аргументом ссылка.​ функции ИНДЕКС формы​ кг) соответственно.​ содержится ячейка B6.​
    • ​ основе известных строки​Excel также не позволит​ и функции​выделяем ячейку​Многоячеечные формулы массива в​ нам результат, будет​
    • ​ в фигурные скобки.​ массив как текстовую​ содержать неточности и​ удалить старый массив​Текущий массив будет выделен:​ массива. Зато можно​

    ​ (если оба аргумента​[номер_столбца] – необязательный аргумент,​ массива, принимающий ссылку​Результат вычислений:​​ и столбца, значения​

    Стратегический анализ расходов в Excel

    ​ свободно перемещать ячейки,​ТРАНСП (TRANSPOSE)​С7​ Excel​ выглядеть следующим образом:​ Например, на рисунке​ строку и выдаст​ грамматические ошибки. Для​ и создать новый.​При помощи комбинации клавиш​

    ​ переместить весь массив.​

    ​ принимают значение 0).​ принимающий число, которое​

    ​ на диапазон ячеек​Формула выглядит громоздкой, однако​Пример 1. В таблице​ которых передаются в​ входящие в формулу​это делается на​вводим с клавиатуры​Одноячеечные формулы массива в​

    ​В этом примере функция​

    ​ ниже представлен массив,​ сообщение об ошибке.​ нас важно, чтобы​Прежде чем удалять старый​Ctrl+/​Нельзя вставлять новые ячейки,​Если требуется, чтобы функция​ соответствует номеру искомого​

    Пример формулы ИНДЕКС и ПОИСКПОЗ в Excel

    ​ или константу массива.​ она является универсальной,​ Excel указаны данные​ качестве аргументов функции.​

    ​ массива или добавлять​

    ​ раз.​=СУММ(​ Excel​ИНДЕКС​ состоящий из 6​Числа, текст, логические значения​ эта статья была​

    1. ​ массив, скопируйте его​
    2. ​. Для этого выберите​
    3. ​ в том числе​

    ​ формы массива вернула​ столбца в массиве​ Диапазон ячеек или​

    ​ поскольку позволяет вычислить​ о средней стоимости​Существует два варианта данной​ новые строки-столбцы-ячейки в​Допустим, имеем двумерный массив​выделяем диапазон​Редактирование формул массива в​возвращает значение элемента​ констант:​ (например, ИСТИНА и​ вам полезна. Просим​ формулу как текст,​ любую ячейку массива​ строки и столбцы,​ значения нескольких ячеек,​ или диапазоне, который​

    ​ массив, указанные в​ суммарные затраты на​ некоторых продуктов в​ функции, отличающиеся синтаксической​ диапазон формулы массива​

    Особенности использования функции ИНДЕКС в Excel

    ​ ячеек, который хотим​B2:B5​

    ​ ЛОЖЬ) и значения​

    • ​ вас уделить пару​ а затем используйте​ и нажмите комбинацию.​ в диапазон массива.​ а не одной​ задан аргументом массив,​ качестве данного аргумента,​ покупку двух любых​ определенные месяцы года.​ записью:​
    1. ​ (т.е. в диапазон​ транспонировать.​вводим знак умножения (​Применение формул массива в​ положение которого задано​Такой массив можно использовать​ ошибок (например, #​
    2. ​ секунд и сообщить,​ ее в новом​Самое простое, что Вы​Нельзя использовать многоячеечные формулы​ ячейки, находящейся на​ либо номер строки​ могут содержать:​ продуктов в любых​ Найти стоимость молока​Форма массива – функция​
    • ​ A10:H11 в нашем​Выделяем диапазон ячеек для​звездочка​ Excel​ порядковым номером (оценкой).​ в формулах Excel.​ н/д) можно использовать​ помогла ли она​ массиве. При громоздких​ можете сделать с​ массива в таблицах,​ пересечении указанных номеров​ в диапазоне ячеек,​Одну строку либо столбец.​ количествах за любой​ в мае с​ ИНДЕКС используется для​ случае)​ размещения транспонированной таблицы.​)​Подходы к редактированию формул​Данная формула не является​
    • ​ Например, следующая формула​ в константы. Также​ вам, с помощью​ формулах такой подход​ массивом в Excel​ созданных с помощью​ строки и столбца,​ переданном в качестве​ В этом случае​ из указанных месяцев.​ использованием функции ИНДЕКС.​
    • ​ возврата одного или​Вспомните детство, школу, свою​ Поскольку исходный массив​выделяем диапазон​ массива в Excel​ формулой массива, хоть​ суммирует значения этого​ можно использовать чисел​ кнопок внизу страницы.​ позволит сэкономить уйму​
    • ​ – это удалить​ команды​ она должна быть​ аргумента ссылка.​ один из последующих​Пример 3. Организовать фильтрацию​Вид исходной таблицы данных:​ нескольких значений элементов​ тетрадку по математике. ​ ячеек был 8​C2:C5​Урок подготовлен для Вас​ она и содержит​ массива:​ в целое число,​ Для удобства также​ времени.​ его. Для этого​Таблица​

    Источник

    Пример формулы массива в Excel
    Пример формулы массива
    • Что такое формула массива в Excel
    • Массивы в Excel
      • Отличие массивов от диапазонов в Excel
      • Размерность массивов
      • Виды массивов
    • Методы создания массивов
      • Массив констант, созданный вручную
      • Именованный массив констант
      • С помощью функций
      • С помощью математических операторов
      • С помощью операторов сравнения
      • С помощью других массивов
      • С помощью комбинаций указанных методов
    • Вывод массива на лист
    • Взаимодействие функций Excel с массивами
    • Формулы массива – примеры формул

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

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

    • узнаете все о формулах массива;
    • увидите множество примеров таких формул;
    • сможете начать активно их применять на практике.

    Поехали!

    Формула массива (array formula) – это такая формула, в процессе вычисления которой создается один или несколько массивов. При этом не обязательно как результат вычисления, но и как промежуточный этап.

    Будьте на 100% уверены: если формула

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

    – это формула массива.

    Слишком очевидно и все еще непонятно? Не беда – читаем далее.

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

    Массивы в Excel

    Массив (array) – это фиксированный набор элементов с фиксированным порядком. Иными словами, все элементы массива, включая их положение в нем, являются его неотъемлемой частью, их порядок и количество нельзя изменить.

    Отличие массивов от диапазонов в Excel

    В отличие от массива, диапазон (range) – это просто метод адресации к ячейкам в Excel, никак не связанный с самим их содержимым.

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

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

    Если же на лист Excel выведен массив, ни сортировка строк, ни вставка строк и столбцов в середину диапазона, в который он выведен, не возможна – это нарушило бы само его определение.

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

    Нельзя изменить часть массива.

    Ошибка "Нельзя изменить часть массива" в Excel

    Ошибка Excel при попытке нарушить целостность массива

    Размерность массивов

    Как массивы, так и диапазоны в Excel могут быть одномерными (вектор), двумерными (таблица) и трехмерными (многослойная таблица).

    Одномерные массивы (векторы) в свою очередь могут быть вертикальными и горизонтальными.

    два одномерных и один двумерный массив

    Одномерные и двумерные массивы в Excel

    Трехмерные массивы – довольно редко используемая на практике сущность.

    Виды массивов

    По типам элементов в них:
    По типу данных –

    • числовой массив (массив чисел)
    • строковый массив (текстовые значения)
    • булевый массив (значения ИСТИНА-ЛОЖЬ)
    • смешанного типа

    По изменяемости элементов –

    • массив констант,
    • вычисляемый массив

    Методы создания массивов

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

    Массив констант, созданный вручную

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

    При этом разделителем между элементами слева направо является точка с запятой, а разделителем строк – двоеточие.

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

    Именованный массив констант

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

    Массив цифр как в примере ниже, поможет быстро найти цифры в текстовых ячейках.

    создание именованного массива констант на примере цифр
    Создаем именованный массив в Excel

    Это позволит больше не вводить его вручную, а обращаться к нему по его имени. Более того, Microsoft Excel помогает при их вводе всплывающими подсказками.

    вывод именованного массива на лист

    Используем именованный массив

    С помощью функций

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

    Единственное условие для создания массива с помощью функции – функция не должна обладать агрегирующим свойством. Например, СУММ, СРЗНАЧ не создадут массив при обращении к диапазону.

    На этом сайте есть статья – как дописать символ, слово или текст к нескольким ячейкам. Там рассматриваются несколько способов, в том числе без создания дополнительного столбца. Но вот еще один – с помощью функции СЦЕПИТЬ и формулы массива:

    Добавляем текст в ячейки формулой массива с функцией СЦЕПИТЬ

    Формула массива с функциями СЦЕПИТЬ и СИМВОЛ

    Кавычки-ёлочки в этой формуле нам помогает создать функция СИМВОЛ.

    С помощью математических операторов

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

    Массивы в Excel, полученные с помощью математических операторов

    С помощью операторов сравнения

    Аналогично математическим операторам, массивы создаются при сравнении диапазонов с константой или значением ячейки. Результатом операции сравнения являются значения ИСТИНА или ЛОЖЬ.

    Массивы в Excel, полученные с помощью операторов сравнения

    С помощью других массивов

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

    Но можно создать массив и по принципу наоборот – на основе одной ячейки, произведя ее взаимодействие (операторами или функциями) с массивом констант.

    Размер результирующего массива в таком случае будет аналогичен размеру массива констант.

    Еще раз обратите внимание на разделители строк и столбцов в массивах. Столбцы разделяются точкой с запятой, строки – двоеточием.

    С помощью комбинаций указанных методов

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

    Вывод массива на лист

    Для корректного вывода массива на лист нужно выделить диапазон ячеек эквивалентной размерности и размера, использовать метод создания массива (вручную или формулой), и нажать

    Ctrl+Shift+Enter

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

    На примере результирующий массив должен быть размером 5*5, но перед вводом формулы массива был выделен диапазон 6*6.

    Ошибка НД при несоответствии размера диапазона и массива

    Взаимодействие функций Excel с массивами

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

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

    Из раздела математических функций к таковым также относятся ПРОИЗВЕД, СУММПРОИЗВ, СУММЕСЛИ, СУММЕСЛИМН.

    Практически все статистические функции по природе берут на вход диапазон или массив и возвращают одно число. Наиболее популярные из них – СРЗНАЧ, МИН, МАКС, СЧЁТ, СЧЁТЗ, СЧЁТЕСЛИ.

    Среди логических функций агрегирующим свойством обладают функция И и функция ИЛИ.

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

    • учитывают весь массив
    • выводят одно значение

    ВЫБОР, ВПР, ГПР, ИНДЕКС, ПОИСКПОЗ – эти функции поиска используются наиболее часто.

    Формулы массива – примеры формул

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

    Приступаем к практическим шагам:

    Учимся формулам массива 1/4:

    Как создать алфавит в Excel

    Понравилась статья? Поделить с друзьями:
  • Как указать размер листа в excel
  • Как указать разделитель в excel
  • Как указать путь файла word
  • Как указать путь к файлу excel vba
  • Как указать путь к программе excel