Как задать значение массива в 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

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

Обзор формул

Как узнать, является ли данная формула формулой массива? Что вообще она означает?

На этапе создания формула (или также функция) сама по себе не является ни формулой массива, ни обычной формулой. Это вы определяете, как Excel должен истолковать формулу, которую вы вводите. То, что формула является формулой массива – это не столько особенность самой формулы, а скорее способом, которым программа Excel введенную формулу «обрабатывает». Подтверждение формулы с помощью сочетания клавиш «Ctrl + Shitf + Enter» – это является для Excelя командой на выполнение (обработку данных) как массив вычислений. Тогда он используется в качестве аргумента функции и возвращает в качестве результата вычислений таблицу (массив данных).

Примеры формул массива и отличие от обычных формул в Excel

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

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



Когда формула является формулой массива, а когда обычной?

Для начала определимся как выглядит обычный массив значений в Excel. Это значения, которые находятся внутри фигурных скобок и разделены между собой точкой с запятой. Например:

{23;-32;15;7} – это синтаксис массива значений в Excel. Он может быть использован в аргументах функций.

Диапазон ячеек A1:A4 – так же является массивом значений в Excel. Естественно так же используется в аргументах функций. Например сравним результаты вычислений двух формул: =СУММ(A1:A4) и =СУММ({23;-32;15;7}) – они идентичны:

Массив логических значений.

Визуально формула массива находится так же внутри фигурных скобок, но они не должны быть введены вручную, а только лишь при помощи комбинации клавиш CTRL+SHIFT+Enter. Если ввести вручную фигурные скобки, то формула не будет выполнятся в массиве – это будет синтаксическая ошибка в Excel.

Формула массива (введенная с помощью сочитания CTRL+SHIFT+Enter) будет использоваться везде, где вы хотите, чтобы функция, которая обычно работает с отдельными значениями (ячейками), внезапно повела себя иначе и приняла в качестве аргумента и вернула в качестве результата массив значений (таблицу). Вернемся к уже упомянутой функции ЕСЛИ. В качестве аргумента она принимает логическое значение ИСТИНА или ЛОЖЬ. В классической форме:

=ЕСЛИ($A$1>0;»больше»;»меньше»)

ЕСЛИ.

Если значение в ячейке A1 больше нуля, в качестве аргумента функция получит значение ИСТИНА и в качестве результата вернет текстовую строку «больше». Однако, если бы вы хотели проверить несколько ячеек сразу и передать результат такой проверки другой функции, вы должны были бы использовать вышеуказанную формулу как формулу массива. Для этого при вводе нажмем сочитание клавиш CTRL+SHIFT+Enter, а не как обычно (просто Enter):

Сочетание клавиш формулы массива.

{=ЕСЛИ($A$1:$A$4>0;»больше»;»меньше»)}

Формула массива в фигурных скобках.

В качестве аргумента функция принимает целый диапазон $A$1:$A$4. В результате проверки каждой ячейки диапазона в памяти компьютера создается таблица значений в массиве. Схематически таблицу можно отобразить так:

Таблица в памяти компьютера.

А так выглядят эти значения в массиве:

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

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

=ИНДЕКС({ИСТИНА;ЛОЖЬ;ИСТИНА;ИСТИНА};2)

ИНДЕКС.

Тоже самое что и:

Выборка из массива значений.

Затем создается другая таблица, значения которой зависят непосредственно от значений в первой таблице. Если элемент в первом массиве имеет значение ИСТИНА, во втором массиве он примет значение «больше». Если он имеет значение ЛОЖЬ, элемент во второй таблице примет значение «меньше». После этой операции первая таблица удаляется из памяти компьютера, и в конечном счете, функция возвращает массив {«больше», «меньше», «больше», «больше»}. Схематически вторую таблицу можно отобразить так:

Так же ее можно прочитать функцией:

=ИНДЕКС({«больше»;»меньше»;»больше»;»больше»};2)

Массив значений.

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

Все значения массива.

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

Примеры как использовать формулу массива в Excel

Это все хорошо, но возникают некоторые вопросы: «Зачем же нужна формула массива?» или «Как или где использовать формулу в массиве?», «Чем она лучше обычной формулы?».

Разумеется, массив, возвращаемый функцией ЕСЛИ, может передаваться далее на «обработку» в качестве аргумента для другой функции.

Пример. Представим, что вы хотели бы найти сумму ячеек B7:B10, но только тех, которые имеют значение больше нуля. Конечно же, вы можете использовать функцию СУММЕСЛИ, однако в нашем примере мы хотим сделать это только с помощью формулы массива. Суммируя значения ячеек нашего диапазона, необходимо будет как-то избавиться от значения «-32». Функции СУММ необходимо передать массив, в котором содержатся только значения больше нуля. Везде там, где значение меньше нуля, мы заменяем его на ноль, что, конечно же, не повлияет на результат. Как вы уже знаете, временную таблицу с соответствующими значениями вы можете получить, используя функцию ЕСЛИ. В конечном итоге соответствующая формула будет выглядеть так:

СУММ.

Вводим формулу и не забываем для подтверждения ввода нажать комбинацию клавиш CTRL+SHIFT+Enter. В результате проверки каждой ячейки диапазона $A$1:$A$4 (является ли значение больше нуля) в памяти компьютера создается массив {ИСТИНА; ЛОЖЬ; ИСТИНА; ИСТИНА}. Затем создается очередная таблица. Если элемент в первом массиве имеет значение ИСТИНА, то во второй таблице будет отображаться значение из соответствующей ячейки. Если он имеет значение ЛОЖЬ, то элемент во второй таблице примет значение 0. После этой операции первая таблица удаляется из памяти компьютера, и в конечном итоге функция ЕСЛИ возвращает массив {23; 0; 15; 7}. Затем эта таблица передается в качестве аргумента функции =СУММ({23; 0; 15; 7}), которая, согласно своему предназначению, возвращает сумму всех элементов в таблице. В нашем примере сумма равна 45. В завершении, посмотрите, что произойдет, если вы скажете Excelю обработать приведенную выше формулу не как формулу массива.

не массив без фигурных скобок.

Ни одна из описанных выше таблиц, в этом случае, не будет создана. Только одна ячейка диапазона будет проверена (ячейка в той же строке, в которой находится функция). В нашем случае 15>0 значит, как первый аргумент функция ЕСЛИ получит логическое значение ИСТИНА. Затем ВЕСЬ диапазон A1:A4 будет передан функции СУММ, и в результате функция возвращает значение равное 13 (23-32+15+7). Если бы в ячейке вместо значения 15 было число меньше нуля, функция ЕСЛИ в качестве аргумента получила бы значение ЛОЖЬ, и, следовательно, только значение нуля было бы передано функции СУММ. Наша функция СУММ в результате также вернет значение равное нулю.

Как отличать формулу массива от обычной формулы

При нажатии клавиш CTRL+SHIFT+Enter для подтверждения ввода в строке формул будут отображены фигурные скобки по краям. Значит данная формула выполняется в массиве. Но что если еще на этапе создания неизвестно какой тип формул следует применять?

Правильное «распознавание», когда следует нажимать CTRL+SHIFT+Enter, а когда просто Enter полностью зависит от понимания того, как работают массивы в формулах. Когда вы это поймете, сможете сказать, что конкретную формулу следует вводить (подтверждать) сочетанием клавиш – CTRL+SHIFT+Enter.

Конечно же, не подтвержденная, а просто как формула также может возвращать КАКОЙ-ТО результат (в чем вы могли только что убедиться сами). Однако, если вы сможете прочитать формулу и понять механизм, то вы заметите, что такой результат является ОШИБОЧНЫМ. И поэтому для правильной работы формулы вам необходимо ее подтвердить «Ctr+Shift+Enter». Как и все, понимание и использование формул массива требует практики. Тем не менее, стоит некоторое время посвятить тому, чтобы во всем разобраться. Потому что формулы массива позволяют решить многие проблемы, которые на первый взгляд могут казаться неразрешимыми.

Примеры вычислений и анализа формул массива

Каким образом можно просматривать и проверять значения промежуточных результатов расчета, например, содержание массивов, созданных в памяти компьютера и используемых для выполнения последующих действий? Ничего сложного! Пример 1:

Перейдите на ячейку с формулой, а затем в строке формул выделите в первом аргументе функции ссылку на диапазон ячеек:

ссылка на диапазон ячеек.

Нажмите клавишу F9 (или «Пересчет» в правом верхнем углу меню «Формулы»), и вы получите (в строке формулы) значения аргументов, которые используются для вычислений, как показано ниже:

Содержимое массива.

— запись с использованием двоеточий означает, что мы имеем дело с элементами вертикального (столбикового) массива, элементы горизонтального (строкового) разделены стандартным символом — «;» (точкой с запятой).

Пример 2: Снова перейдите на ячейку с формулой массива, но на этот раз выделите первый аргумент функции целиком вместе со знаком сравнения «>» и значением критерия – «0»).

вместе с оператором сравнения и аргументом.

Нажмите кнопку F9, и вы получите массив результатов вычислений, как показано ниже:

массив результатов вычислений.

То есть, созданный в памяти компьютера массив:

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

Пример 3: Выделите ячейку формулой массива где в функцию СУММ вложена функция ЕСЛИ. Затем в строке формул выберите весь аргумент функции СУММ (вместе с функцией ЕСЛИ):

аргумент целиком с функцией и ссылками.

Нажмите клавишу F9 и вы получите массив итоговых результатов вычисления, которые используются для суммирования, как показано ниже:

Массив итоговых результатов вычисления.

То есть, созданный в памяти компьютера массив:

{23157}

Пример 4: Просто перейдите на ячейку с формулой B1 и выберите инструмент «ФОРМУЛЫ»-«Зависимости формул»-«Вычислить формулу»

Вычислить формулу.

После чего нажмите на кнопку «Вычислить»:

Кнопка Вычислить.

В результате ссылка на диапазон ячеек в аргументе вложенной функции ЕСЛИ разложилась на массив значений. Снова нажмите на кнопку «Вычислить»:

Готово.

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

Читайте также: Работа с массивами функций в Excel.

Часто неопытные пользователи Excel возмущаются, что формула не работает. В конце концов оказалось, как легко догадаться, формулу в массиве вводили как обычную (просто Enter). Речь идет не о недоразумении, которое произошло, а о том факте, что у этих пользователей возникает вопрос: как избегать таких ошибок? Поэтому важно сразу во всем разобраться, чтобы в дальнейшем больше не задавать таких вопросов.

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

Под массивом обычно понимают набор данных, объединенных в группу. Массивы бывают одномерные (элементы массива образуют строку или столбец) или двумерные (матрица). Легко сообразить, что почти в любой таблице Excel при желании можно найти один или несколько таких массивов:

arrays0.gif

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

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

arrays1.gif

Задача: рассчитать общую сумму заказа. Если идти классическим путем, то нужно будет добавить столбец, где перемножить цену и количество, а потом взять сумму по этому столбцу. Если же применить формулу массива, то все будет гораздо красивее:

  1. выделяем ячейку С7
  2. вводим с клавиатуры =СУММ(
  3. выделяем диапазон B2:B5
  4. вводим знак умножения (звездочка)
  5. выделяем диапазон C2:C5 и закрываем скобку функции СУММ — в итоге должно получиться так:

    arrays2.gif

  6. чтобы Excel воспринял нашу формулу как формулу массива жмем не Enter, как обычно, а Ctrl + Shift + Enter

Вуаля!

arrays3.gif

Т.е. Excel произвел попарное умножение элементов массивов B2:B5 и C2:C5 и образовал новый массив стоимостей (в памяти компьютера), а затем сложил все элементы этого нового массива.

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

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

При работе с таблицами часто возникает необходимость поменять местами строки и столбцы, т.е. развернуть таблицу на бок, чтобы данные, которые раньше шли по строке, теперь располагались в столбцах и наоборот. В математике такая операция называется транспонированием. При помощи формулы массива и функции ТРАНСП (TRANSPOSE) это делается на раз.

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

arrays6.gif

  • Выделяем диапазон ячеек для размещения транспонированной таблицы. Поскольку исходный массив ячеек был 8 строк на 2 столбца, то надо выделить диапазон пустых ячеек размером 2 строки на 8 столбцов.
  • вводим функцию транспонирования =ТРАНСП(   
  • в качестве аргумента функции выделяем наш массив ячеек A1:B8

arrays7.gif

жмем Ctrl + Shift + Enter и получаем «перевернутый массив» в качестве результата:

arrays8.gif

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

Если формула массива расположена не в одной ячейке (как в Примере 1), а в нескольких ячейках (как в Примере 2), то Excel не позволит редактировать или удалить одну отдельно взятую формулу (например в ячейке D10) и выдаст предупреждающее сообщение Невозможно изменить часть массива.

Для редактирования формулы массива необходимо выделить весь диапазон (A10:H11 в нашем случае) и изменить формулу в строке формул (или нажав F2). Затем необходимо повторить ввод измененной формулы массива, нажав сочетание клавиш Ctrl + Shift + Enter.

Excel также не позволит свободно перемещать ячейки, входящие в формулу массива или добавлять новые строки-столбцы-ячейки в диапазон формулы массива (т.е. в диапазон A10:H11 в нашем случае)

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

Вспомните детство, школу, свою тетрадку по математике… На обороте тетради на обложке было что? Таблица умножения вот такого вида:

arrays4_1.jpg

При помощи формул массива она вся делается в одно движение:

arrays5.gif

  1. выделяем диапазон B2:K11
  2. вводим формулу =A2:A11*B1:K1
  3. жмем Ctrl + Shift + Enter, чтобы Excel воспринял ее как формулу массива

и получаем результат:

arrays4.gif

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

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

arrays10.gif

 В данном случае формула массива синхронно пробегает по всем элементам диапазонов C3:C21 и B3:B21, проверяя, совпадают ли они с заданными значениями из ячеек G4 и G5. Если совпадения нет, то результат равенства ноль, если совпадение есть, то единица. Таким образом суммы всех сделок, где заказчик не ANTON и товар не Boston Crab Meat умножаются на ноль и суммируются только нужные заказы.

Ссылки по теме

  • Формула массива для извлечения непустых ячеек из диапазона
  • Формула массива для извлечения уникальных ячеек из диапазона
  • Формула массива для извлечения данных из списка (многоразовый ВПР)

#Руководства

  • 25 июл 2022

  • 0

Как с помощью массивов ускорить расчёты в таблицах с тысячами значений? Как поменять местами столбцы и строки? Разбираемся на примерах.

Иллюстрация: Meery Mary для Skillbox Media

Ксеня Шестак

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

Часто новичкам в Excel кажется, что массивы — это высший пилотаж в работе с таблицами. На деле всё гораздо проще.

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

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

В статье разберёмся:

  • какие виды массивов есть в Excel;
  • что такое формула массива и как она работает.

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

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

В конце расскажем, как создать формулу массива в «Google Таблицах».

Массивы в Excel бывают одномерными и двумерными.

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

Пример одномерного вертикального массива
Скриншот: Excel / Skillbox Media

Пример одномерного горизонтального массива
Скриншот: Excel / Skillbox Media

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

Пример двумерного массива
Скриншот: Excel / Skillbox Media

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

Формула массива — формула, где в качестве входящих параметров используют диапазоны значений, а не одиночные ячейки. Диапазоны значений обозначаются через двоеточие :. Например, A1:A10 или А1:В10.

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

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

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

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

Допустим, нужно рассчитать смету устройства фундаментов. У нас есть перечень необходимых работ, их объёмы и цена единиц измерения объёмов.

Исходные данные для расчёта сметы устройства фундаментов
Скриншот: Excel / Skillbox Media

Определим стоимость каждой работы.

Можно пойти классическим путём — перемножить первые ячейки столбцов «Количество» и «Цена ед., руб.», а затем растянуть результат вниз на все остальные виды работ. Но если видов будет несколько сотен или тысяч, этот вариант может быть неудобен.

Формула массивов выведет результаты одновременно для всего диапазона — никаких дополнительных действий выполнять не потребуется. Рассмотрим, как это сделать.

Шаг 1. Выделяем столбец, в котором хотим получить результат расчёта, — в нашем случае это диапазон E2:E9. В строке ссылок вводим знак равенства.

Выделяем диапазон, в котором формула массива выведет результат расчёта, и начинаем вводить формулу
Скриншот: Excel / Skillbox Media

Шаг 2. Выделяем первый массив, который участвует в расчётах, — все значения столбца «Количество». Одновременно с этим в строке ссылок появляется выбранный диапазон: B2:B9.

Выделяем первый массив, участвующий в расчётах
Скриншот: Excel / Skillbox Media

Шаг 3. Ставим знак умножения в строке ссылок и выбираем второй массив — все значения столбца «Цена ед., руб.».

Строка ссылок принимает вид: fx=B2:B9*D2:D9. Это значит, что значения первого массива должны умножиться на значения второго массива.

Ставим знак умножения и выделяем второй массив, участвующий в расчётах
Скриншот: Excel / Skillbox Media

Шаг 4. Нажимаем Enter — в столбце «Стоимость, руб.» появляется результат расчёта. Так, в один клик, формула сработала сразу для всех строк.

Формула массива сработала для всех строк одновременно
Скриншот: Excel / Skillbox Media

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

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

Исходные данные для расчёта дополнительных расходов
Скриншот: Excel / Skillbox Media

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

Шаг 1. Выделяем столбец для результата расчёта: С13:С16. В строке ссылок вводим знак равенства.

Выделяем диапазон для результата расчётов и начинаем вводить формулу
Скриншот: Excel / Skillbox Media

Шаг 2. Выделяем массив, который участвует в расчётах, — все значения столбца «Доля от стоимости работ». В формуле строки ссылок появляется выбранный диапазон: B13:B16. Добавляем к нему знак умножения и выбираем ячейку с общей стоимостью работ: E10.

Выделяем массив, участвующий в расчётах, и дописываем формулу
Скриншот: Excel / Skillbox Media

Шаг 3. Нажимаем Enter. Во всём столбце «Стоимость, руб.» появляются результаты расчётов.

Результат работы формулы массива
Скриншот: Excel / Skillbox Media

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

Чтобы получить итоговую стоимость устройства фундаментов, мы суммировали стоимости всех отдельных работ
Скриншот: Excel / Skillbox Media

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

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

Шаг 1. Выделяем ячейку, в которой хотим получить результат расчёта. В строке ссылок вводим знак равенства и оператор СУММ и открываем скобку.

Начинаем вводить формулу массива
Скриншот: Excel / Skillbox Media

Шаг 2. По аналогии с алгоритмом из предыдущего раздела, выделяем первый массив — значения столбца «Количество» и второй массив — значения столбца «Цена ед., руб.». Ставим между ними знак умножения и закрываем скобку.

Строка ссылок принимает вид: fx=СУММ(B2:B9*D2:D9). Это значит, что значения первого массива должны перемножиться со значениями второго массива, а все полученные результаты — суммироваться.

Выделяем первый массив, ставим знак умножения и выделяем второй массив
Скриншот: Excel / Skillbox Media

Шаг 3. Нажимаем Enter. В выбранной ячейке появляется результат расчёта. Формула рассчитала одновременно два действия: перемножила значения ячеек двух массивов и суммировала полученные результаты.

Результат работы формулы массива отразился в одной ячейке
Скриншот: Excel / Skillbox Media

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

Иногда при работе в Excel нужно поменять положение столбцов или строк — транспортировать их. Например, перевести шапку таблицы из горизонтального положения в вертикальное. Делать это вручную долго — особенно, когда ячеек очень много. Ускорить процесс помогут массивы и оператор ТРАНСП:

Шаг 1. Выделяем ячейку, в которой хотим получить результат операции. В строке ссылок вводим знак равенства и оператор ТРАНСП и открываем скобку.

Используем оператор ТРАНСП, чтобы поменять положение шапки таблицы с горизонтального на вертикальное
Скриншот: Excel / Skillbox Media

Шаг 2. Выделяем шапку таблицы и закрываем скобку. Строка ссылок принимает вид: fx=ТРАНСП(A1:E1).

Выделяем диапазон, который нужно транспортировать
Скриншот: Excel / Skillbox Media

Шаг 3. Нажимаем Enter — функция меняет положение шапки таблицы на вертикальное.

За несколько секунд шапка таблицы превратилась из горизонтальной в вертикальную
Скриншот: Excel / Skillbox Media

Как создать формулу массива в «Google Таблицах»? Всё точно так же, как в Excel, но нужно добавить оператор ARRAYFORMULA. Его ставят перед всей формулой массива в строке ссылок. Например, если вы хотите перемножить данные в двух столбцах, формула в готовом виде будет выглядеть так:
fx=ARRAYFORMULA(B2:B9*D2:D9).

Так выглядит работа формулы массива в «Google Таблицах»
Скриншот: Google Таблицы / Skillbox Media

Другие материалы Skillbox Media по Excel

  • Как сделать сводные таблицы в Excel — детальная инструкция со скриншотами
  • Руководство: как сделать ВПР в Excel и перенести данные из одной таблицы в другую
  • Руководство по макросам для новичков — для чего нужны и как их сделать
  • Инструкция: как закреплять строки и столбцы в Excel
  • Руководство по созданию выпадающих списков в Excel — как упростить заполнение таблицы повторяющимися данными

Научитесь: Excel + Google Таблицы с нуля до PRO
Узнать больше

Пример формулы массива в 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

Содержание

  • Операции с массивами
    • Создание формулы
    • Изменение содержимого массива
  • Функции массивов
    • Оператор СУММ
    • Оператор ТРАНСП
    • Оператор МОБР
  • Вопросы и ответы

Массив в программе Microsoft Excel

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

Операции с массивами

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

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

Во втором — в нескольких одновременно.

Двумерный массив в Microsoft Excel

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

Горизонатльные и вертикальные одномерные массивы в Microsoft Excel

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

Создание формулы

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

=адрес_массива1*адрес_массива2

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

Координаты массива имеют вид адресов первой её ячейки и последней, разделенные двоеточием. Если диапазон двумерный, то первая и последняя ячейки расположены по диагонали друг от друга. Например, адрес одномерного массива может быть таким: A2:A7.

Адрес одномерного массива в Microsoft Excel

А пример адреса двумерного диапазона выглядит следующим образом: A2:D7.

Lumpics.ru

Адрес двумерного массива в Microsoft Excel

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

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

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

Изменение содержимого массива

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

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

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

  1. Закройте информационное окно, нажав на кнопку «OK».
  2. Закрытие информационного окна в Microsoft Excel

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

Отмена действия в Microsoft Excel

Но что делать, если действительно нужно удалить или изменить формулу массива? В этом случае следует выполнить нижеуказанные действия.

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

  3. После того, как изменения внесены, набираем комбинацию Ctrl+Shift+Esc. Формула будет изменена.

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

  1. Для удаления формулы массива нужно точно так же, как и в предыдущем случае, выделить курсором весь диапазон ячеек, в котором она находится. Затем нажать на кнопку Delete на клавиатуре.
  2. Удаление формулы массива в Microsoft Excel

  3. После этого формула будет удалена со всей области. Теперь в неё можно будет вводить любые данные.

Формула массива удалена в Microsoft Excel

Функции массивов

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

Переход к функциям в Microsoft Excel

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

Правила ввода и редактирования функций, если они выводят результат сразу в несколько ячеек, те же самые, что и для обычных формул массива. То есть, после ввода значения обязательно нужно установить курсор в строку формул и набрать сочетание клавиш Ctrl+Shift+Enter.

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

Оператор СУММ

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

=СУММ(массив1;массив2;…)

Функция СУММ в Microsoft Excel

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

Урок: Как посчитать сумму в Экселе

Оператор ТРАНСП

Функция ТРАНСП является типичным оператором массивов. Она позволяет переворачивать таблицы или матрицы, то есть, менять строки и столбцы местами. При этом она использует исключительно вывод результата в диапазон ячеек, поэтому после введения данного оператора обязательно нужно применять сочетание Ctrl+Shift+Enter. Также нужно отметить, что перед введением самого выражения нужно выделить на листе область, у которой количество ячеек в столбце будет равно числу ячеек в строке исходной таблицы (матрицы) и, наоборот, количество ячеек в строке должно равняться их числу в столбце исходника. Синтаксис оператора следующий:

=ТРАНСП(массив)

Функция ТРАНСП в Microsoft Excel

Урок: Транспонирование матриц в Excel

Урок: Как перевернуть таблицу в Экселе

Оператор МОБР

Функция МОБР позволяет производить вычисление обратной матрицы. Все правила ввода значений у этого оператора точно такие же, как и у предыдущего. Но важно знать, что вычисление обратной матрицы возможно исключительно в том случае, если она содержит равное количество строк и столбцов, и если её определитель не равен нулю. Если применять данную функцию к области с разным количеством строк и столбцов, то вместо корректного результата на выходе отобразится значение «#ЗНАЧ!». Синтаксис у этой формулы такой:

=МОБР(массив)

Функция МОБР в Microsoft Excel

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

=МОПРЕД(массив)

Функция МОПРЕД в Microsoft Excel

Урок: Обратная матрица в Excel

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

Управление массивами в Microsoft Excel

Массив в программе Microsoft Excel

​Смотрите также​Next i​ знаниями в той​ очищался используют конструкцию​ и строки. Т.е.​UBound(iArray,2)​Range(«A2») = «Февраль»​ службу построить отчет,​ диапазон формулы массива​ и те, что​ объявлении двумерного массива​Как это работает продемонстрировано​возвращает значение элемента​Ctrl+Shift+Enter​ же изменить уже​ функций в Экселе​

​ если у вас​Во время работы с​

Операции с массивами

​Next n​ теме, где Вы​ ReDim Preserve​ что есть на​Павел​Range(«A3») = «Март»​ параметры, оформление​ (т.е. в диапазон​ дают на выходе​ индексы его измерений​ ниже на примере​ из массива констант,​, чтобы сохранить изменения.​ существующую формулу массива​ является​ не было цели​ таблицами Excel довольно​’выгружаем наши новые​ с Nerv-ом мне​

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

​ReDim Preserve массив​ листе — то​

Двумерный массив в Microsoft Excel

​Ластик​Range(«A4») = «Апрель»​SSIS научу строить​ A10:H11 в нашем​ целый набор (массив)​ разделяются запятой:​ кода, который выводит​

Горизонатльные и вертикальные одномерные массивы в Microsoft Excel

​ положение которого задано​ Формула будет отредактирована.​ в Excel?​СУММ​ производить какие-либо изменения,​ часто приходится оперировать​ данные обратно на​ очень помогли), но​ (новая верхняя граница)​ и будет в​

Создание формулы

​: Давайте теперь рассмотрим​Range(«A5») = «Май»​ интеграционные пакеты. Расскажу​ случае)​ значений. Рассмотрим их​Dim Jan_Sales_Figures(1 To​ имена каждого члена​ порядковым номером (оценкой).​Очень часто возникает необходимость​Когда формула массива помещена​. Её можно применять,​ а вы просто​

​ с целыми диапазонами​

​ лист​ иногда нужно перебрать​Вот пример.​ массиве.​ пример работы с​

​’переносим данные из​ о том как​Вспомните детство, школу, свою​ на простых примерах…​ 31, 1 To​ команды последовательно в​Данная формула не является​ уменьшить или увеличить​ в одну ячейку,​ как для суммирования​ случайно дважды щелкнули​​ данных. При этом​​Range(«F1»).Resize(UBound(myArr, 1), UBound(myArr,​

Адрес одномерного массива в Microsoft Excel

​ строки целиком и​1) Сперва мы​С датами интересно​​ ДВУМЕРНЫМ массивом​​ диапазона А1:А5 в​

Адрес двумерного массива в Microsoft Excel

  1. ​ их делать.​ тетрадку по математике…​Задача: рассчитать общую сумму​ 5) As Currency​ ячейки столбца​ формулой массива, хоть​ количество ячеек в​

    Введение формулы массива в Microsoft Excel

  2. ​ то ее редактирование​ содержимого отдельных ячеек,​​ мышью по ячейке​​ некоторые задачи подразумевают,​ 2)) = myArr​​ перебор выглядит как​​ создаём пустой динамический​ -​Sub TestArray5()​ массив​Кому это интересно​ На обороте тетради​ заказа. Если идти​Однако, если не указывать​A​ она и содержит​

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

Изменение содержимого массива

​ формуле массива. Скажу​ в Excel обычно​ так и для​ диапазона.​ что вся группа​End Sub​ то не очень​ массив — в​в ячейке значение​Dim iArray(1 To​iArray = Range(«A1:A5»).Value​ обращайтесь на почту​ на обложке было​ классическим путем, то​ начальный индекс для​активного рабочего листа​ массив. Поэтому при​ сразу, что дело​ не представляет особой​ нахождения суммы целых​Если вы закроете, это​ ячеек должна быть​Данный метод -​ рационально.​ данном случае это​ 40909​

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

​ 5, 1 To​’теперь наш массив​ [email protected]​​ что? Таблица умножения​​ нужно будет добавить​ обоих измерений массива​ Excel.​ ее вводе достаточно​​ это не простое​​ сложности. Здесь главное​ массивов. Синтаксис этого​ сообщение, нажав на​ преобразована буквально в​ намного быстрее, чем​vikttur​ не обязательно, т.к.​форматом выводит как​ 3) ‘объявляем двумерных​ iArray имеет размерность​Ластик​ вот такого вида:​

  1. ​ столбец, где перемножить​ и объявить его​​For i =​​ нажать клавишу​

    Закрытие информационного окна в Microsoft Excel

  2. ​ и в большинстве​​ не забыть закончить​​ оператора для массивов​ кнопку​ один клик. В​ обрабатывать каждую ячейку​: Тему прошел «по​ Redim тоже создаёт​ 01.янв,​​ массив с размерностью​​ (1 to 5,​: если честно, лучшая​При помощи формул массива​ цену и количество,​ вот так:​ 1 To 20​Enter​

Отмена действия в Microsoft Excel

​ случаев будет проще​ редактирование комбинацией клавиш​ выглядит следующим образом:​«OK»​ Экселе имеются инструменты,​ на листе.​

  1. ​ диагонали», может, это​ массив​а в массиве​ 1 To 5,​ 1) — 5​ школа это:​ она вся делается​ а потом взять​Dim Jan_Sales_Figures(31, 5)​ Cells(i,1).Value = Team_Members(i)​.​ удалить старый массив​Ctrl+Shift+Enter​

    Внесение изменений в формулу массива в Microsoft Excel

  2. ​=СУММ(массив1;массив2;…)​, а потом попытаетесь​​ которые позволяют проводить​​Т.е. мы сперва​

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

  1. ​ упоминалось раньше.​2) через Redim​: a(1,1) :​ 1 To 3​ строк и 1​1) делать какое-либо​ в одно движение:​ сумму по этому​ As Currency​​ Next i​​Конечно же, мы в​

    Удаление формулы массива в Microsoft Excel

  2. ​ и создать новый.​.​Данный оператор выводит результат​ переместить курсор с​ подобные операции. Давайте​

Формула массива удалена в Microsoft Excel

Функции массивов

​ берём данные с​Небольшое предостережение, недавно​ определяем границы массива​ #01.01.2012# : Variant/Date​Dim i As​ столбец. т.е. он​​ задание для себя​​выделяем диапазон B2:K11​​ столбцу. Если же​​то эта запись будет​Очевидно, что работа с​ силах скопировать данную​​Прежде чем удалять старый​​Если же формула многоячеечная,​ в одну ячейку,​ помощью мышки, или​ выясним, как можно​ листа Excel в​

Переход к функциям в Microsoft Excel

​ сам из-за неопытности​ от 1 до​​Содержимое массивов удобно​​ Long, n As​ у нас ДВУМЕРНЫЙ​ (по работе или​вводим формулу =A2:A11*B1:K1​ применить формулу массива,​ расценена, как двумерный​ массивом, в котором​

​ формулу в остальные​ массив, скопируйте его​ т.е. возвращает массив,​ а поэтому для​ просто нажмете кнопку​ управлять массивами данных​ массив, обрабатываем их​ напоролся.​ 10 элементов​ смотреть в окне​ Long ‘2 числовые​’давайте циклом посмотрим​ учёбе)​​жмем​​ то все будет​

​ массив, первое измерение​​ сохранено 20 имён,​

Оператор СУММ

​ ячейки и получить​ формулу как текст,​ то сразу возникают​​ того, чтобы произвести​​«Enter»​ в этой программе.​ и обратно выгружаем​Массив, заданный как​3) заполняем массив​ Locals — сразу​ переменные для работы​ содержимое массива​

​2) задавать вопросы​

Функция СУММ в Microsoft Excel

​Ctrl + Shift +​ гораздо красивее:​ которого содержит 32​ значительно менее громоздка​ нужный нам результат:​ а затем используйте​ определенные трудности, особенно​​ подсчет, после внесения​​, то информационное сообщение​Скачать последнюю версию​​ на лист. Это​​ M(a To b)​ данными​

​ всё понятно, что​​ с циклами​For i =​

Оператор ТРАНСП

​ на форуме и​​ Enter​​выделяем ячейку​ элемента с индексами​ и более аккуратна,​Но грамотнее будет использовать​ ее в новом​ у начинающих пользователей.​ вводных данных достаточно​ появится опять. Не​ Excel​ быстрее, чем обращение​ формирует массив строки,​4) увеличиваем верхнюю​​ где.​​For i =​ LBound(iArray) To UBound(iArray)​ читать форум каждый​, чтобы Excel воспринял​С7​ от 0 до​ чем использование 20​ многоячеечную формулу массива.​ массиве. При громоздких​ Давайте рассмотрим несколько​ нажать кнопку​ получится также закрыть​Массив – это группа​ к ячейкам листа​ но не столбца.​

​ границу массива до​

Функция ТРАНСП в Microsoft Excel

​Ластик​​ LBound(iArray, 1) To​

​ ‘цикл от нижней​​ день​ ее как формулу​

Оператор МОБР

​вводим с клавиатуры​​ 31, а второе​​ отдельных переменных. А​ Выглядеть она будет​ формулах такой подход​ правил, которые необходимо​«OK»​ окно программы или​ данных, которая расположена​R Dmitry​ Если задать M(a​ 15 элементов​: угу, но я​ UBound(iArray, 1) ‘т.е.​ границе массива до​Я прочитал по​ массива​=СУММ(​ измерение массива содержит​ что, если этих​ следующим образом:​ позволит сэкономить уйму​ усвоить, прежде чем​в окне аргументов​​ сохранить документ. Все​​ на листе в​: Паш есть способ​

​ To b;1), тогда​

Функция МОБР в Microsoft Excel

​Sub TestArary6()​ не стал писать​ от 1 до​

​ верхней границы массива​

Функция МОПРЕД в Microsoft Excel

​ Excel и VBA​​и получаем результат:​

​выделяем диапазон​ 6 элементов с​ имён не 20,​Мы можем пойти еще​ времени.​ начать редактирование массива.​ функции или клавишу​ время будет появляться​ смежных ячейках. По​ чуть проще :)​ a To b​Dim myArray() ‘объявляем​ об этом, чтобы​ 5​MsgBox i &​ книг 20, но​Посмотрите как при помощи​B2:B5​ индексами от 0​ а 1000? А​ дальше и присвоить​Если же необходимо изменить​Нельзя изменять содержимое одной​Enter​ это назойливое сообщение,​

​ большому счету, любую​

lumpics.ru

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

​ для данного примера,​ — строки.​ динамический массив​ на начальном этапе​For n =​ «-й элемент массива​ все прочитанные знания​ одной формулы массива​вводим знак умножения (​ до 5.​ если, вдобавок, требуется​ массиву констант имя.​ расположение массива на​

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

​ ячейки, содержащей формулу​, если ввод выполнялся​ которое блокирует любые​ таблицу можно считать​ но ты прав​Еще момент, на​Dim i As​ не запутывать.​​ LBound(iArray, 2) To​​ равен: » &​

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

  1. ​ действия. А выход​ массивом, но не​ на все сто%%%%%%%​ котором время тратил,​ Long​
  2. ​А определение взял​ UBound(iArray, 2) ‘т.е.​ iArray(i, 1) ‘i​ их не применять​
  3. ​ выбираются данные по​)​ выше примерах имеют​ и отчества?! Ясно,​
  4. ​ так же, как​ меняя его размерность,​ каждой ячейке можно​Урок:​
  5. ​ из ситуации есть​ каждый из них​[a1:d1] = [a1:d1*​ пытаясь разобраться, почему​​ReDim myArray(1 To​​ из Wikipedia​

​ от 1 до​ — строка, 1​ на практике. Я​ определенному товару и​выделяем диапазон​ фиксированное количество измерений.​ что вскоре станет​ и обычной константе,​ просто переместите его​ применить свое форматирование.​

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

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

​Как посчитать сумму в​ и он довольно​ является таблицей, так​ 2]​ созданный массив на​ 10) ‘переопределяем размер​VDM​ 3​ — это столбец​

  1. ​ отдал все свои​ заказчику:​C2:C5​ Однако, во многих​ совершенно невозможно справиться​ через диалоговое окно​Редактирование формул массива в Excel
  2. ​ как обычный диапазон.​​Нельзя удалять ячейки, которые​​ Экселе​ прост​ как он может​Редактирование формул массива в Excel​Hugo​ лист выгружается на​ массива (от 0​​: У меня вот​​iArray(i, n) =​​Next i​​ книги и перешёл​

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

    ​В данном случае формула​​и закрываем скобку​​ случаях мы не​ с таким объёмом​Создание имени​​Существует несколько подходов к​​ входят в формулу​

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

    ​Функция​

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

  3. ​Закройте информационное окно, нажав​​ являться просто диапазоном.​​: Вот нашёл пример​ столбец правее:​ до 10 элементов)​

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

​ ещё какой вопросы​ i * n​’а теперь давайте​ на форум, читая​ массива синхронно пробегает​ функции СУММ -​ знаем заранее, какого​ данных в коде​​:​​ редактированию размеров массива,​

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

​ массива. Можно удалить​ТРАНСП​ на кнопку​ По своей сущности​ кода (не записал,​M(a;1) — это​For i =​ есть по массивам:​Next n​

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

​ выгрузим обратно наш​ ответы на вопросы​

  1. ​ по всем элементам​ в итоге должно​ размера должен быть​ VBA без помощи​Не забывайте указывать знак​Редактирование формул массива в Excel
  2. ​ которые, возможно, Вам​ только весь массив.​является типичным оператором​«OK»​ такие области могут​​ где применял) -​​ не первый столбец,​ 1 To 10​Если двумерный массив​Редактирование формул массива в Excel
  3. ​Next i​ массив на лист​Редактирование формул массива в Excel
  4. ​ других людей и​ диапазонов C3:C21 и​​ получиться так:​​ наш массив. Можно​ массива.​Редактирование формул массива в Excel

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

​ равенства в поле​ пригодятся. Подходы приведены​Нельзя перемещать ячейки, которые​ массивов. Она позволяет​.​ быть одномерными или​ тут нужно было​ второй. Первый «0»​ ‘ цикл 10​ мы можем рассматривать​

​’сейчас у нас​ в столбец С​ пытаясь помочь другим​ B3:B21, проверяя, совпадают​чтобы Excel воспринял нашу​ выйти из ситуации,​Массивы Visual Basic, о​Диапазон​ в данном уроке.​

​ входят в формулу​ переворачивать таблицы или​Затем нажмете на кнопку​ двумерными (матрицы). В​ удалить строки с​ (Option Base не​

​ раз​ как аналог рабочего​ массив такой​’мы расширяем диапазон​ людям быстрее осваиваешь​

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

  • ​ объявлен).​myArray(i) = i​
  • ​ лиса Excel, то:​’iArray(1,1)​
  • ​ от ячейки С1​ материал и учишься.​
  • ​ заданными значениями из​
  • ​ массива жмем не​ размер которого будет​
  • ​ выше, считаются одномерными.​ массив как текстовую​

​ выделять, удалять и​ переместить весь массив.​
​ менять строки и​

​, которая расположена в​

office-guru.ru

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

​ данные располагаются только​ другом листе (по​Простые вещи, но​ + 7 ‘​1. Можно ли​​’iArray(1,2)​​ вниз на количество​Перейдём к массивам,​ ячеек G4 и​ Enter, как обычно,​ наверняка больше, чем​ Это означает, что​

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

​ строку.​ редактировать формулы массива,​Нельзя вставлять новые ячейки,​ столбцы местами. При​ группе значков слева​ в одном столбце​ первым столбцам):​ новички ошибаются.​

​ заполняем массив числами​

​ в самом массиве​’iArray(1,3)​ строк массива (5)​ вот 3 примера​ G5. Если совпадения​

​ а​

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

​ или строке.​

​Sub tt()​VDM​ от 1 до​ оперировать с «Resize»​​’iArray(2,1)​​ и на 1​

​ работы с массивами​

​ нет, то результат​Ctrl + Shift +​ задачи. Но такое​ список имён. Однако,​ пугающей:​

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

​ несколько полезных правил​ строки и столбцы,​ исключительно вывод результата​

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

​ и представляет собой​Во втором — в​Dim tm: tm​: Пока отвечал HUGO,​ 10​2. Можно ли​’iArray(2,2)​ столбец​Sub TestArray()​ равенства ноль, если​ Enter​ решение потребует много​ массивы могут иметь​

​Как видите, в некоторых​

​ по работе с​ в диапазон массива.​ в диапазон ячеек,​ пиктограмму в виде​ нескольких одновременно.​ = Timer​

​ получил ещё 2​Next i​ оперировать целой строкой​

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

​’iArray(2,3)​​’логика — Ячейка(С1).РасширитьДиапазон(кол-во​​Dim iArray() ‘объявляем​ совпадение есть, то​Вуаля!​ лишней памяти и​

​ множество измерений. Например,​ случаях массивы констант​ ними. Если желаете​Нельзя использовать многоячеечные формулы​ поэтому после введения​ крестика. Также можно​​Кроме того, среди одномерных​​Dim r As​

​ ответа:)​MsgBox «Значение 10-его​ или столбцом массива,​’..​ строк, кол-во столбцов)​

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

​ массив​ единица. Таким образом​Т.е. Excel произвел попарное​ может замедлить работу​

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

​ двумерный массив можно​ бывают даже очень​ получить еще больше​ массива в таблицах,​ данного оператора обязательно​ нажать на кнопку​ массивов выделяют горизонтальный​​ Range, a(), b(),​​Во общем решил,​

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

​ элемента массива равно:​ аналог EntireColumn, EntireRow​​’..​​ = наш_массив​ReDim iArray(1 To​ суммы всех сделок,​

​ умножение элементов массивов​ программы. Есть решение​

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

​ сравнить с сеткой​ полезны.​ информации о массивах​ созданных с помощью​

​ нужно применять сочетание​Esc​ и вертикальный тип,​ i&​ что не буду​ » & myArray(10)​как работая с​’iArray(5,1)​

  • ​Range(«C1»).Resize(UBound(iArray, 1), UBound(iArray,​ 5) ‘указываем размерность​
  • ​ где заказчик не​ B2:B5 и C2:C5​
  • ​ лучше. Мы можем​ значений.​
  • ​Итак, в данном уроке​ в Excel, читайте​
  • ​ команды​Ctrl+Shift+Enter​
  • ​на клавиатуре. После​ в зависимости от​

​Application.ScreenUpdating = 0​ впереди паровоза бежать,​
​ReDim Preserve myArray(1​

​ самим массивом, так​

office-guru.ru

Массивы в Visual Basic for Application

​’iArray(5,2)​ 2)) = iArray​ массива (5 элементов:​ ANTON и товар​ и образовал новый​ использовать динамический массив​Предположим, что нужно сохранить​ Вы познакомились с​ следующие статьи:​

​Таблица​. Также нужно отметить,​ любой из этих​ того, что они​Set r =​ понял что всё​ To 15) ‘расширяем​ и заполняя и​’iArray(5,3)​End Sub​

​ от 1 до​ не Boston Crab​ массив стоимостей (в​ – это такой​ ежедневные показатели продаж​

​ массивами констант и​Знакомство с формулами массива​.​ что перед введением​ операций произойдет отмена​ собой представляют –​ Range([a1], [a65536].End(xlUp))​​ это сложновато пока​​ массив до 15​

​ выгружая с рабочего​MsgBox «Верхний индекс​

​Так же скопируйте​ 5)​ Meat умножаются на​ памяти компьютера), а​ массив, размер которого​ за январь для​

​ их применением в​ в Excel​

​Как видите, все перечисленные​ самого выражения нужно​ действия, и вы​ строку или столбец.​a = r.Value​ для восприятия.​ элементов с сохранением​ листа?​ ПЕРВОЙ размерости массива​ в русской раскладке​’ВАРИАНТ 1​ ноль и суммируются​ затем сложил все​ может быть установлен​ 5 разных команд.​ Excel. Если желаете​Многоячеечные формулы массива в​ выше правила подчеркивают,​ выделить на листе​ сможете работать с​Нужно отметить, что алгоритм​With Sheets(«что искать»)​Все спасибо за​ значений массива​Димон​

​ равен: » &​ код в VBE​’заполняем массив по-индексно​ только нужные заказы.​ элементы этого нового​ и изменён сколько​​ Для этого потребуется​​ получить еще больше​ Excel​

​ что массив –​ область, у которой​ листом так, как​ работы с подобными​

​b = .Range(.[a1],​ разъяснения.​MsgBox «Значение 10-его​: Ого какая хорошая​ UBound(iArray, 1) &​ и запустите пошагово​ названиями месяцев​Студент++​ массива.​ угодно раз в​ двумерный массив, состоящий​ информации о массивах,​Одноячеечные формулы массива в​ это одно целое.​ количество ячеек в​ и прежде.​ диапазонами несколько отличается​ .[a65536].End(xlUp)).Value​Hugo​

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

​ элемента массива равно:​ тема:) я и​ vbLf & _​ через F8.​iArray(1) = «Январь»​: Добрый день. Ищу​Обратите внимание на фигурные​ процессе выполнения макроса.​ из 5 наборов​ читайте следующие статьи:​ Excel​

​ Если не выполнить,​ столбце будет равно​Но что делать, если​ от более привычных​End With​: VDM, на самом​ » & myArray(10)​ сам с удовольствием​»Верхний индекс ВТОРОЙ​Что не понятно​

​iArray(2) = «Февраль»​ человека который будет​ скобки, появившиеся в​

​Динамический массив объявляется с​ показателей для 31​Знакомство с формулами массива​​Массивы констант в Excel​​ хотя бы одно​ числу ячеек в​ действительно нужно удалить​ операций с одиночными​With CreateObject(«Scripting.Dictionary»)​ деле с массивом​​ & vbLf &​​ почитал так как​​ размерости массива равен:​​ — спрашивайте​iArray(3) = «Март»​

​ обучать меня программированию​

​ формуле — отличительный​ пустыми скобками, вот​ дня. Объявим массив​ в Excel​Применение формул массива в​ из вышеперечисленных правил,​ строке исходной таблицы​ или изменить формулу​ ячейками, хотя и​.CompareMode = 1​

Объявление массивов в Excel Visual Basic

​ работать проще, чем​ _​ с массивами тоже​ » & UBound(iArray,​Павел​iArray(4) = «Апрель»​ на vba in​ признак​ так:​ таким образом:​

​Многоячеечные формулы массива в​ Excel​

​ Excel не даст​ (матрицы) и, наоборот,​​ массива? В этом​​ общего между ними​For i =​ с листом.​»Значение 12-его элемента​ толком еще не​ 2) & vbLf​Ластик​iArray(5) = «Май»​ excel​формулы массива​Dim Team_Members() As​Dim Jan_Sales_Figures(1 To​ Excel​

​Подходы к редактированию формул​ отредактировать массив и​

​ количество ячеек в​ случае следует выполнить​ тоже много. Давайте​ 1 To UBound(b)​И за счёт​ массива равно: (пусто)​ умею обращаться:) но​ & _​

​: Если для понимания​’MsgBox «3-й элемент​

​На условиях взаимообучения​. Вводить их вручную​ String​ 31, 1 To​Одноячеечные формулы массива в​ массива в Excel​

​ выдаст следующее предупреждение:​ строке должно равняться​ нижеуказанные действия.​ рассмотрим нюансы подобных​.Item(b(i, 1)) =​ скорости работы с​ » & myArray(12)​ насколько я понимаю​»Значение индекса 5,2​

​ нужно определение массива,​ массива равен: «​О себе Я​

​ с клавиатуры бесполезно​Далее нужно будет объявить​ 5) As Currency​ Excel​Урок подготовлен для Вас​

​Если необходимо изменить формулу​ их числу в​

​Для изменения формулы выделите​ операций.​ 1​ массивом — при​End Sub​ — строка массива​ равен: » &​ то массив можно​ & iArray(3)​ близок к MCTS​ — они автоматически​

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

​ измерение массива в​Для того, чтобы получить​Редактирование формул массива в​ командой сайта office-guru.ru​ массива, то первое,​ столбце исходника. Синтаксис​ курсором, зажав левую​Формула массива – это​Next​ нужде его переопределить​НО!!! Нужно знать,​ — это цикл​ iArray(5, 2)​ описать так:​Dim i As​ по SQL SERVER​ появляются при нажатии​ процессе выполнения кода​ доступ к элементам​ Excel​Автор: Антон Андронов​ что нужно сделать​ оператора следующий:​ кнопку мыши, весь​ выражение, с помощью​For i =​

​ можно просто создав​ что через ReDim​ с фиксированным номером​

​End Sub​Массив — это​

​ Long ‘объявляем переменную​ BI. Собственно и​Ctrl + Shift +​ при помощи выражения​​ массива​​Применение формул массива в​

​Автор: Антон Андронов​ – это выделить​

​=ТРАНСП(массив)​ диапазон на листе,​ которого производится обработка​ 1 To UBound(a)​ новый массив нужного​ Preserve можно изменять​

​ строки и переменной​Так же скопируйте​ именованный набор однотипных​ типа Long (целое​

​ в Excel я​ Enter.​ReDim​Jan_Sales_Figures​ Excel​В Microsoft Excel можно​ диапазон, в котором​Урок:​ куда выводится результат.​ диапазона с целью​If .exists(a(i, 1))​​ размера и переложить​​ вниз/вверх только верхнюю​

​ номера столбца?​ в русской раскладке​ переменных, расположенных в​ число)​

​ не новичок. Но​​При работе с таблицами​​:​, нужно использовать два​Подходы к редактированию формул​ создавать массивы, которые​ содержится массив. В​Транспонирование матриц в Excel​ Это очень важно,​ получения итогового результата,​ Then a(i, 1)​​ данные в него.​​ границу массива. Изменение​Hugo​ клавиатуры код в​

​ памяти непосредственно друг​For i =​
​ хотелось бы это​
​ часто возникает необходимость​

​ReDim Team_Members(1 To​

office-guru.ru

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

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

​ индекса, указывающих день​​ массива в Excel​​ не хранятся в​ Excel существует, как​Урок:​​ так как если​​ отображаемого цельным массивом​ = «d»​Но конечно если​​ нижней границы вызовет​​: VDM, 2 -​ редактор VBA и​ за другом, доступ​ LBound(iArray) To UBound(iArray)​ обучение реализовать побыстрее.​ поменять местами строки​

Эксель массивы

​ 20)​​ месяца и номер​Урок подготовлен для Вас​ диапазонах ячеек. Их​ минимум, 3 способа​Как перевернуть таблицу в​ вы выделите только​ или в одной​Next​ это делать часто​ ошибку​ это к слэну,​ пожагово через F8​ к которым осуществляется​

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

Эксель массивы

​ ‘цикл от нижней​ В целом по​ и столбцы, т.е.​И если в процессе​ команды. Например, адрес​ командой сайта office-guru.ru​ принято называть​ сделать это:​ Экселе​ одну ячейку массива,​ ячейке. Например, для​r.Value = a​

  1. ​ в цикле -​​По-английски данное условие​
  2. ​ он спец по​​ пройдитесь по коду​
  3. ​ по индексу.​​ границе массива до​
  4. ​ excel уверенный пользователь,​​ развернуть таблицу на​​ выполнения кода потребуется​
  5. ​ элемента, содержащего показатели​​Автор: Антон Андронов​​массивами констант​Выделить диапазон массива вручную,​Функция​ то ничего не​
    Эксель массивы
  6. ​ того, чтобы умножить​r.SpecialCells(xlCellTypeConstants, 2).EntireRow.Delete​ это очень не​ звучит так:​ CopyMemory, я это​​Павел​Массивы бывают Одномерные,​

​ верхней границе массива​

Эксель массивы

​ но не такой​ бок, чтобы данные,​ снова изменить размер​ продаж для​Автор: Антон Андронов​. В этом уроке​ т.е. с помощью​МОБР​ получится. Затем в​

​ один диапазон на​End With​ оптимально.​when you use​​ понять не могу​​Ластик​ Двумерные и т.д.​MsgBox i &​ конечно как на​​ которые раньше шли​ массива, то можно​

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

​2-ой​Массивы в Visual Basic​ Вы узнаете, что​ мыши. Это самый​позволяет производить вычисление​ строке формул проведите​ второй применяют формулу​Debug.Print Timer -​По правде, у​ Preserve, you can​ :)​: Все примеры, приведённые​Двумерный массив -​ «-й элемент массива​​ этом форуме, но​​ по строке, теперь​ использовать выражение ReDim​

​команды за​ for Application –​ же такое массивы​

Эксель массивы

  • ​ простой, но в​ обратной матрицы. Все​ необходимую корректировку.​ по следующему шаблону:​ tm​ меня не было​ change the size​Вот его пример​ в этой теме​ это как ячейки​
  • ​ равен: » &​ цели пока такой​
  • ​ располагались в столбцах​ снова:​15-ое​

Эксель массивы

​ это структуры, которые​​ констант и как​ ряде случаев абсолютно​​ правила ввода значений​После того, как изменения​=адрес_массива1*адрес_массива2​

Эксель массивы

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

​End Sub​ такой нужды -​ of the array​ кода:​ я поместил в​ на листе Excel.​ iArray(i)​ и нет. Хотя​ и наоборот. В​If Team_Size >​января будет записан​ обычно хранят наборы​ с ними работать​​ непригодный способ.​​ у этого оператора​

​ внесены, набираем комбинацию​Над диапазонами данных можно​Кода мало, работает​ переопределять многомерные массивы.​ only by changing​но можно еще​ файл Excel, чтобы​​ Т.е. есть строки​​Next i​ бывает конечно если​ математике такая операция​ 20 Then ReDim​​ так:​ взаимосвязанных переменных одного​

​ в Excel.​С помощью диалогового окна​ точно такие же,​Ctrl+Shift+Esc​ также выполнять операции​ почти моментально.​ Всегда иначе можно​ the upper bound;​ быстрее — цикл​

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

​ вам было удобнее​ и есть столбцы.​’ВАРИАНТ 2​ есть желание я​ называется транспонированием. При​ Team_Members(1 To Team_Size)​

Эксель массивы

​Jan_Sales_Figures(15, 2)​ типа. Доступ к​Чтобы создать массив констант,​

Эксель массивы

  1. ​Выделить группу ячеек​
  2. ​ как и у​
  3. ​. Формула будет изменена.​​ сложения, вычитания, деления​Это были только​​ выкрутиться.​ changing the lower​ copymemory по столбцам​

​ тестировать код. См.​

Эксель массивы

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

​Если к Одномерному​’массив можно заполнить​ захожу сюда и​ помощи формулы массива​ End If​Таким же образом можно​

Эксель массивы

​ записям массива осуществляется​ введите его элементы​. Для этого выделите​ предыдущего. Но важно​Для удаления формулы массива​ и другие арифметические​ числа, т.е. в​Но если бы​ bound causes an​Declare Sub CopyMemory​ файл​ массиву можно обратиться​ циклом​ решаю какую-нибудь задачу.​ и функции​Нужно иметь в виду,​ объявить массив с​ по их числовому​ и заключите их​ любую ячейку, которая​

planetaexcel.ru

VBA. Создание виртуальных массивов. Выгрузка массива на лист

​ знать, что вычисление​​ нужно точно так​ действия.​ удаляемые строки пишем​ можно было «удлинять»​ error.​
​ Lib «kernel32» Alias​
​P.S. Код можно​ так:​For i =​Что я знаю​ТРАНСП (TRANSPOSE)​ что изменение размера​ 3-мя и более​ индексу.​ в фигурные скобки.​ принадлежит массиву:​ обратной матрицы возможно​ же, как и​Координаты массива имеют вид​ текст, потом эти​ массив вниз -​Если у нас​ «RtlMoveMemory» (Destination As​ посмотреть нажав Alt+F11​переменная = Массив(5)​

​ LBound(iArray) To UBound(iArray)​ о vba.​

​это делается на​ динамического массива таким​ измерениями – достаточно​
​Например, есть команда из​ Например, на рисунке​А затем на вкладке​ исключительно в том​
​ в предыдущем случае,​ адресов первой её​ строки удаляем.​
​ это было бы​
​ массив двумерный, например​ Any, Source As​
​Павел​То к Двумерному​ ‘цикл от нижней​Знаю объектную модель​ раз.​ способом приведёт к​ добавить дополнительные измерения​ 20 человек, имена​ ниже представлен массив,​ Главная из раскрывающегося​ случае, если она​ выделить курсором весь​ ячейки и последней,​VDM​
​ очень неплохо :)​Redim myArray (1​ Any, ByVal Length​vikttur​ массиву нужно обращаться​ границе массива до​ Application, workbook, sheet,​

​Допустим, имеем двумерный массив​ потере всех значений,​
​ в объявление массива​
​ которых нужно сохранить​ состоящий из 6​
​ списка​ содержит равное количество​
​ диапазон ячеек, в​ разделенные двоеточием. Если​: Нет, Вы меня​R Dmitry​ to 10, 1​ As Long)​: Студент++, здесь знаниями​
​ указывая и первый​ верхней границе массива​ cell​
​ ячеек, который хотим​ хранившихся в массиве.​
​ и использовать дополнительные​
​ для дальнейшего использования​ констант:​
​Найти и выделить​ строк и столбцов,​
​ котором она находится.​ диапазон двумерный, то​ не так поняли​
​: зря вы так​ to 3)​Sub arrdel_str_copymem()​ не отделаетесь, бутылкой​

​ и второй индекс,​iArray(i) = i​Знаю что такое​

​ транспонировать.​​ Для того, чтобы​ индексы для ссылки​
​ в коде VBA.​={1;2;3;4;5;6}​выберите пункт​ и если её​
​ Затем нажать на​ первая и последняя​ — я не​ про массивы, если​

​то через ReDim​arr = Range(«A1:B5»).Value​ тоже (не пьет).​ например:​ ‘каждому индексу массива​ переменные и как​Выделяем диапазон ячеек для​ сохранить данные, уже​ на элементы этого​ Можно было бы​Такой массив можно использовать​Выделить группу ячеек​ определитель не равен​ кнопку​ ячейки расположены по​

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

​Dim delStr&, j&,​
​ Готовьте большущую шоколадку​Переменная = массив(5,3)​
​ присваиваем его номер​ их объявлять dim​ размещения транспонированной таблицы.​ находящиеся в массиве,​ массива.​

​ просто объявить 20​
​ в формулах Excel.​.​
​ нулю. Если применять​
​Delete​
​ диагонали друг от​
​ массивов).​
​ все будет работать​
​ менять только индекс​ mr&​ :)​

​Вот ещё один​Next i​ i,j as variant​ Поскольку исходный массив​
​ нужно использовать ключевое​Ранее в этой статье​ переменных для хранения​ Например, следующая формула​Откроется диалоговое окно​
​ данную функцию к​на клавиатуре.​ друга. Например, адрес​У меня уже​
​ гораздо быстрее и​

​ 3 (т.е. верхний​
​delStr = 3:​Студент++​
​ пример заполнения ОДНОМЕРНОГО​MsgBox «4-й элемент​Знаю чем метод​ ячеек был 8​ слово​
​ мы уже рассмотрели​ каждого имени, вот​ суммирует значения этого​
​Выделить группу ячеек​
​ области с разным​После этого формула будет​ одномерного массива может​

​ сейчас вся отчётность​
​ качественнее. Сама по​ индекс второй размерности)​ mr = UBound(arr)​
​: ОК. Спасибо Павел.​ массива​ массива равен: «​ отличается от свойства​ строк на 2​
​Preserve​ несколько примеров объявления​ так:​ массива:​
​. Установите переключатель на​
​ количеством строк и​ удалена со всей​ быть таким:​
​ на них построена.​

​ себе скорость перебора​ на что-то другое,​For j =​ Если что то​Sub Test3()​ & iArray(4)​ и области видимости​ столбца, то надо​, как показано ниже:​ массивов в VBA,​Dim Team_Member1 As​=СУММ({1;2;3;4;5;6})​ пункт текущий массив​

​ столбцов, то вместо​ области. Теперь в​

​A2:A7​

​Просто не буду​​ массива минимальна, основное​ а другие индексы​ 1 To UBound(arr,​ нужно по тому​

​Dim iArray()​
​’ВАРИАНТ 3​Общее понимание циклов.​ выделить диапазон пустых​If Team_Size >​
​ но эта тема​ String Dim Team_Member2​

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

​ менять уже нельзя.​ 2)​ (SQL BI) из​
​’заполнять массив можно​
​’давайте умножим каждый​Могу написать Msgbox​ ячеек размером 2​ 20 Then ReDim​ заслуживает более подробного​ As String …​ сразу несколько массивов.​
​ОК​ выходе отобразится значение​
​ вводить любые данные.​А пример адреса двумерного​ чего не знаю.​ сравнения , преобразования​ Т.е. вы не​
​CopyMemory arr(delStr, j),​ того что я​ так же через​ элемент массива на​ «Hello world»​ строки на 8​
​ Preserve Team_Members(1 To​
​ рассмотрения. Как было​ Dim Team_Member20 As​ Например, следующая формула​.​
​«#ЗНАЧ!»​Наиболее удобно в качестве​ диапазона выглядит следующим​Будем учиться постепенно.​ и т.д. внутри​ можете изменить 10​
​ arr(delStr + 1,​ написал пишите мне​ функцию Array​
​ 3​В чем проблема/​
​ столбцов.​

​ Team_Size) End If​ показано, одномерный массив​ String​ вернет максимальное значение,​Текущий массив будет выделен:​
​. Синтаксис у этой​ формул использовать уже​

​ образом:​

​55557​​ цикла.​ на 15​ j), 16 *​ на почту. Буду​

​’нужно учесть, что​For i =​ зачем я все​вводим функцию транспонирования =ТРАНСП(​К сожалению, ключевое слово​ можно объявить вот​Но можно использовать гораздо​

​ которое получится в​При помощи комбинации клавиш​

​ формулы такой:​ готовые встроенные функции​A2:D7​слэн​Есть разные способы​

​’ так сработает​ (mr — delStr)​ разбирать ваши примеры​

​ первый индекс будет​

​ LBound(iArray) To UBound(iArray)​ это пишу. Мне​   ​Preserve​ так:​

​ более простой и​

​ результате сложения двух​Ctrl+/​=МОБР(массив)​

​ Excel. Доступ к​
​.​
​: это никаким образом​ и хитрости как​Redim myArray (1​
​arr(mr, j) =​Студент++​ начинаться с 0,​ ‘цикл от нижней​ надоело читать книги​
​в качестве аргумента функции​можно использовать только,​Dim Team_Members(1 To​
​ организованный способ –​ массивов констант:​. Для этого выберите​Для того чтобы рассчитать​ ним можно получить​Чтобы рассчитать подобную формулу,​
​ не нарушает формулировку​

​ увеличить скорость,например при​

​ to 10, 1​​ Empty​: Это да​ а не с​

​ границе массива до​
​ по vba. Мне​ выделяем наш массив​

​ чтобы изменить верхнюю​ 20) As String​
​ сохранить список имён​=МАКС({1;2;3;4;5;6}+{7,8,9,10,11,12})​ любую ячейку массива​

​ определитель, применяется функция​ через​
​ нужно выделить на​ — в этом​ поиске уникальных использовать​
​ to 3)​Next​nerv​ 1​
​ верхней границе массива​ нужен толковый человек​ ячеек A1:B8​
​ границу измерения массива.​

​Такое объявление сообщает компилятору​ членов команды в​Массивы констант могут содержать​

​ и нажмите комбинацию.​

​ со следующим синтаксисом:​

​Мастер функций​

​ листе область, в​​ случае все элементы​ словари, индексировать массив​ReDim Preserve myArray​

​End Sub​

​: Студент++, можете мне​iArray = Array(«Январь»,​iArray(i) = iArray(i)​ который мне на​жмем​ Нижнюю границу массива​
​ VBA, что массив​ массиве из 20​ числа, текст, логические​Самое простое, что Вы​=МОПРЕД(массив)​

​, нажав кнопку​ которую будет выводиться​ будут однотипно типа​ словарем и т.д.​ (1 to 10,​
​R Dmitry​ на почту написать.​ «Февраль», «Март», «Апрель»,​ * 3 ‘каждой​ примерах объяснит что​
​Ctrl + Shift +​ таким образом изменить​
​Team_Members​
​ переменных типа​

​ значения и значения​ можете сделать с​
​Урок:​
​«Вставить функцию»​
​ результат, и ввести​
​ вариант :)​
​ , все зависит​
​ 1 to 7)​
​: 1-нет (можно увеличить​
​ В теле письма:​
​ «Май»)​
​ элемент массива умнажаем​
​ такое массивы и​

​ Enter​ нельзя. Кроме того,​состоит из 20​String​ ошибки​
​ массивом в Excel​Обратная матрица в Excel​слева от строки​ в строку формул​nerv​
​ от конкретной ситуации.​’а так нет​ последнюю размерность массива​

​1. Чему именно​

​MsgBox «1-й элемент​ на 3​ как с ними​и получаем «перевернутый​ если массив имеет​ переменных, к которым​

​:​

​#Н/Д​​ – это удалить​Как видим, операции с​ формул. Или же​ выражение для вычисления.​: Чего? О_о Нет​Ластик​Redim myArray (1​

​ с помощью Redim​ хотите научиться.​

​ массива: » &​

​Next i​​ бороться и научить​ массив» в качестве​ несколько измерений, то,​ можно обратиться по​Dim Team_Members(1 To​

​:​​ его. Для этого​ диапазонами помогают сэкономить​ во вкладке​После ввода следует нажать​ вообще таких понятий​: VDM,​ to 10, 1​ Preserve)​

​2. Что уже​​ iArray(1) & vbLf​

​MsgBox «5-й элемент​​ делать более менее​ результата:​ используя ключевое слово​

​ индексам от 1​ 20) As String​
​={12;»Текст»;ИСТИНА;ЛОЖЬ;#Н/Д}​ достаточно выделить нужный​
​ время при вычислениях,​«Формулы»​ не на кнопку​
​ как «массив строки»​Смотрите как удобно​
​ to 3)​2-не понял чего​ знаете (если знаете).​ & «т.к. 0​

​ массива равен: «​ сложную логику на​Если формула массива расположена​Preserve​

​ до 20. Однако,​​В строке, показанной выше,​У Вас может возникнуть​ массив и нажать​ а также свободное​на ленте можно​Enter​ или «массив столбца».​
​ работать с данными​ReDim Preserve myArray​ хотите сотворить со​3. Знакомы ли​
​ элемент массива Январь»,​ & iArray(5)​ vba​ не в одной​, можно изменить размер​ нам может прийти​ мы объявили массив.​ резонный вопрос: Зачем​ клавишу​ пространство листа, ведь​ выбрать одну из​, как обычно, а​ Существуют одномерные, многомерные​
​ на листе через​ (1 to 15,​
​ строкой? с помощью​ Вы с синтаксисом​
​ , «»​End Sub​
​В основном проблема​
​ ячейке (как в​ только последнего измерения​

​ в голову пронумеровать​ Теперь запишем значение​ нужен такой массив?​Delete​ не нужно дополнительно​

​ категорий, в которой​​ набрать комбинацию клавиш​ и массивы массивов.​ массивы​ 1 to 3)​ функции index можно​
​ vb?​End Sub​

​Скопируйте этот код​​ с массивами. Требуется​ Примере 1), а​ массива.​

​ наши переменные массива​ в каждый из​ Отвечу на него​.​
​ суммировать данные, которые​ находится интересующий вас​Ctrl+Shift+Enter​
​ Также массивы подразделяются​Sub Test()​P.S. Пример с​ вытащить из двухмерного​
​4. Для чего​Павел​ в редактор VBA​ около 10 часов​ в нескольких ячейках​

​Урок подготовлен для Вас​​ числами от 0​ его элементов, вот​ в виде примера.​На рисунке ниже представлена​ объединены в диапазон,​ оператор.​. После этого выражение​ на статические и​Dim myArr(), i​ листом Excel это​ массива строку или​ это Вам нужно?​Ластик​

​ (только копировать в​​ практических занятий, то​ (как в Примере​ командой сайта office-guru.ru​ до 19, и​ таким образом:​На рисунке ниже приведен​
​ формула массива, которая​ для последующей работы​

​После того, как пользователь​ в строке формул​ динамические. Директива Option​

​ As Long, n​ так для «умственного»​ столбец, и выгрузить​5. Изучали ли​: Определение границ массива,​ РУССКОЙ РАСКЛАДКЕ КЛАВИАТУРЫ)​
​ есть по аське​
​ 2), то Excel​
​Источник: http://www.excelfunctions.net/Visual-Basic-Arrays.html​ в таком случае​
​Team_Members(1) = «John​ список студентов, которые​
​ складывает значения двух​ с ними. Все​ в​
​ будет автоматически взято​ Base [Число] переопределяет​ As Long​ восприятия. Так же​
​ их на лист​ Вы и практиковались​
​ на примере одномерного​
​ и запустите его​

​ или как то​​ не позволит редактировать​Перевел: Антон Андронов​ массив должен быть​ Smith»​
​ получили определенные оценки:​ диапазонов. Из рисунка​ это выполняется «на​Мастере функций​ в фигурные скобки,​ нижнюю границу массива.​’допустим есть какие-то​ можно выразиться, что​ или еще как​ в других языках​

​ массива​​ через F8 (пошаговый​

​ так.​

​ или удалить одну​Автор: Антон Андронов​ объявлен вот так:​Дополнительное преимущество хранения данных​

​Наша задача перевести оценку​ видно, что при​ лету». А для​

​или на ленте​

​ а ячейки на​ По умолчанию нижней​ данные на листе​

​ двумерный массивы -​ нибудь приспособить :)​

​ программирования?​Sub TestArray4()​

​ режим) и нажимайте​Что я могу​

​ отдельно взятую формулу​Под​Dim Team_Members(0 To​

​ в массиве, по​ из числового вида​ вводе формулы мы​

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

​ листе будут заполнены​
​ границей массива считается​Range(«A1:D1») = Array(«1»,​ это матрица. Но​Ластик​p.s.: я, конечно,​Dim iArray() ‘объявляем​ F8 до конца​
​ научить​ (например в ячейке​массивом​ 19) As String​
​ сравнению с использованием​ в ее словесное​
​ допустили небольшую ошибку,​ матриц только функции​ конкретного оператора, откроется​

​ данными, полученными в​
​ 0.​ «2», «3», «4»)​
​ мне кажется, что​: VDM,​

​ не супер-профессионал, но​ динамический массив​ макроса, вы увидите​Информационная поддержка​
​ D10) и выдаст​обычно понимают набор​На самом деле, по​ отдельных переменных, становится​
​ описание и вывести​ наша задача ее​ массивов и подходят,​ окно аргументов функции,​ результате вычисления, в​
​это M(1 To​
​Range(«A2:D2») = Array(«5»,​ это сложнее понять.​к сожалению, нельзя.​

​ тем не менее,​’заполняем массив названиями​ как работает код,​Установка SQL server​ предупреждающее сообщение​
​ данных, объединенных в​ умолчанию нумерация элементов​ очевидным, когда возникает​ соответствующие значения в​ исправить.​
​ так как обычные​ куда можно вводить​ пределах всего выделенного​

​ 1) — одномерный​

​ «6», «7», «8»)​Павел​Свойства Resize, EntireRow,​ могу кое-чему научить.​ месяцев​ а комментарии вам​ c ноля​

​Невозможно изменить часть массива​ группу. Массивы бывают​

​ массива начинается с​ необходимость выполнить одно​ диапазоне C2:C7. В​Чтобы отредактировать формулу массива,​ формулы не в​ исходные данные для​ диапазона.​ массив​Range(«A3:D3») = Array(«9»,​

​VDM​ EntireColumn — относятся​

​Hugo​iArray = Array(«Январь»,​ помогут понять смысл​

​Насторойка тестовых баз​.​одномерные​ 0, и в​ и то же​ данном случае создавать​ выполните следующие действия:​ силах справиться с​ расчета.​Если вы в дальнейшем​это M(1 To​

​ «10», «11», «12»)​
​: УУУ, как всё​ только к ячейкам​: Я помнится тоже​
​ «Февраль», «Март», «Апрель»,​ массивов.​ их описание​

​Для редактирования формулы массива​
​(элементы массива образуют​ объявлении массива начальный​ действие над каждым​
​ отдельную табличку для​Выделите диапазон массива любым​ подобными задачами. Но​

​Правила ввода и редактирования​ попытаетесь удалить содержимое​ 1, 1 To​’берём их в​ сложно:)​ листа Excel.​ не сразу массивы​ «Май»)​Если что-то будет​

​Общие знания T-sql,​

​ необходимо выделить весь​​ строку или столбец)​ индекс может быть​

​ элементом массива. Если​ хранения текстового описания​ из известных Вам​ в то же​ функций, если они​ или изменить любую​ 1) — двумерный​ массив (массив получается​Правильно ли я​Как бы аналог​
​ понял, пару раз​’определяем нижнюю и​ не понятно, спрашивайте​
​ хорошие знания sql​ диапазон (A10:H11 в​ или​ не указан вовсе,​ бы имена членов​ оценок не имеет​ способов. В нашем​ время нужно учесть,​ выводят результат сразу​ из ячеек, которая​ массив​ двумерным)​ понимаю, что той​

​ Resize для массива​​ на форуме спрашивал​ верхнюю границу массива​Павел​
​ 92 стандарта реально​ нашем случае) и​двумерные​
​ вот так:​ команды были сохранены​ смысла, поэтому выгоднее​ случае это диапазон​ что к подобным​ в несколько ячеек,​ расположена в диапазоне,​Поскольку таблица excel​

​myArr() = Range(«A1:D3»).Value​ гибкости в работе​ это​ разъяснения. Resize тоже​MsgBox «Массив содержит​Ластик​
​ научу языку запросов​ изменить формулу в​(матрица). Легко сообразить,​Dim Team_Members(19) As​ в 20 отдельных​

​ создать следующий массив​ C1:C12.​

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

​’в цикле умножаем​ с диапазонами как​Redim массив(новая размерность)​ непонятная штука была​ 5 элементов» &​: Теперь давайте попробуем​

​ sql, научу выбирать​ строке формул (или​

​ что почти в​​ String​ переменных, то потребовалось​ констант:​Перейдите в режим редактирования​
​ правила ввода и​ что и для​ то ваше действие​ на лист можно​ каждое значение столбца​ на рабочем листе​т.е. можно объявить​ :)​
​ vbLf & _​ применить массивы к​ данные из одной​ нажав​ любой таблице Excel​
​Такую запись компилятор VBA​ бы каждый раз​={«»;»Неудовл.»;»Удовл.»;»Хорошо»;»Отлино»}​ формулы, для этого​ редактирования.​ обычных формул массива.​
​ окончится неудачей. Также​ выгрузить (через resize)​ на 2​ массивы нам не​ массив, например, из​

​Одно небольшое замечание​​»Нижняя граница массива​ данным на листе​ и более таблиц​F2​ при желании можно​ расценит, как объявление​ записывать 20 строк​В данном случае первый​ щелкните по строке​Автор: Максим Тютюшев​ То есть, после​ ничего не выйдет,​
​ только двумерный массив​For n =​ представляют, и обращение​ 5 элементов​ по «Массив —​ равно индексу: «​ Excel​Научу разбираться в​

​). Затем необходимо повторить​​ найти один или​

​ массива из 20​ кода, чтобы выполнить​ элемент массива содержит​ формул или нажмите​

​В прошлых уроках мы​
​ ввода значения обязательно​ если вы сделаете​ (насколько мне известно).​

​ 1 To UBound(myArr,​ к диапазону будет​
​Dim myArray (1​ это именованный набор​
​ & LBound(iArray) &​Sub TestArray2()​
​ джойнах, отличать левый​ ввод измененной формулы​

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

​ клавишу​ разобрали основные понятия​ нужно установить курсор​
​ попытку отредактировать данные​Hugo​ 1) ‘цикл по​ далеко не таким​
​ to 5)​ однотипных переменных».​ vbLf & _​Dim iArray() ‘объявляем​
​ от внутреннего​ массива, нажав сочетание​Формулы массива​
​ от 0 до​
​ каждым из них.​

​ предполагается, что оценки​F2​ и сведения касаемо​
​ в строку формул​ в строке функций.​
​: Чего? :)​

​ строкам​ же прозрачным?​а потом его​Если массив типа​

​»Верхняя граница массива​ массив. Размерность массива​Преобразования агрегация, типы.​ клавиш​в Excel -​ 19.​ Однако, если имена​ 1 быть не​

​. Excel удалит фигурные​​ массивов в Excel.​ и набрать сочетание​ При этом появится​Sub tt()​For i =​
​Тогда оставлю эту​ переопределить​

​ Variant — т.е.​​ равно индексу: «​ ниже в коде​ И много другого.​Ctrl + Shift +​ это специальные формулы​Эти же правила действуют​ сохранены в массиве,​ может.​

​ скобки вокруг формулы​
​ В этом уроке​ клавиш​
​ информационное сообщение, в​Dim arr​ 1 To UBound(myArr,​
​ затею пока, боюсь​

​Redim myArrray (1​ как всюду в​
​ & UBound(iArray)​

​ не указываем.​
​Вставлять данные, удалять​ Enter.​
​ для обработки данных​

​ при объявлении многомерных​
​ то выполнить нужное​
​Тогда формула, возвращающая нужный​ массива.​
​ мы продолжим изучение​Ctrl+Shift+Enter​
​ котором будет говориться,​

​arr = Array(1,​ 2) ‘цикл по​
​ разбросаюсь.​ to 10)​ примерах, без явного​
​End Sub​

​Dim i As​
​Проектирование БД общие​

​Excel также не позволит​
​ из таких массивов.​ массивов Visual Basic.​
​ действие с каждым​

​ нам результат, будет​Внесите необходимые корректировки в​

​ формул массива, но​.​ что нельзя изменять​ 2, 3)​ столбцам​

​А жаль, сейчас​​но при Redim​ указания типа массива,​Чтобы узнать границы,​ Long​ вопросы​
​ свободно перемещать ячейки,​ Формулы массива делятся​ Как уже было​
​ из них можно​ выглядеть следующим образом:​ формулу:​
​ с большим уклоном​

​Урок:​

​ часть массива. Данное​​[a1].Resize(, UBound(arr) +​myArr(n, i) =​ данные с листа​ — массив полностью​ то в массиве​ например, двумерного массива​

​’заполняем диапазон А1:А5​​Службы SSAS научу​ входящие в формулу​ на две категории​ показано в одном​ при помощи простого​В этом примере функция​А затем нажмите комбинацию​ на их практическое​Мастер функций в Excel​ сообщение появится даже​ 1) = arr​ myArr(n, i) *​ в массив забираю​ очищается​

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

​ цикла.​ИНДЕКС​ клавиш​ применение. Итак, как​Одной из наиболее востребованных​ в том случае,​

​End Sub​​ 2​

​ перебором (пользуясь полученными​
​Чтобы он не​
​ числа, и даты,​LBound(iArray,2)​
​Range(«A1») = «Январь»​SSRS научу развернуть​
​ новые строки-столбцы-ячейки в​

planetaexcel.ru

​ возвращают одно значение​

Содержание

  1. Виды массивов функций Excel
  2. Классика жанра – товарный чек
  3. Разрешите Вас… транспонировать?
  4. Функция СТРОКА
  5. Функция СТОЛБЕЦ
  6. Функция АДРЕС
  7. Функция ДВССЫЛ
  8. Функция ВЫБОР (CHOOSE)
  9. Функция ИНДЕКС (INDEX)
  10. Функция ПОИСКПОЗ (MATCH)
  11. Редактирование формулы массива
  12. Описание категории «Ссылки и массивы»
  13. ВПР
  14. Пример применения формулы массива
  15. ГПР
  16. Функции для работы со ссылками и массивами
  17. Функция ГПР

Массив – данные, объединенные в группу. В данном случае группой является массив функций в Excel. Любую таблицу, которую мы составим и заполним в Excel, можно назвать массивом. Пример:

В зависимости от расположения элементов различают массивы:

  • одномерные (данные находятся в ОДНОЙ строке или в ОДНОМ столбце);
  • двумерные (НЕСКОЛЬКО строк и столбцов, матрица).

Одномерные массивы бывают:

  • горизонтальными (данные – в строке);
  • вертикальными (данные – в столбце).

Примечание. Двумерные массивы Excel могут занимать сразу несколько листов (это сотни и тысячи данных).

Формула массива – позволяет обработать данные из этого массива. Она может возвращать одно значение либо давать в результате массив (набор) значений.

С помощью формул массива реально:

  • подсчитать количество знаков в определенном диапазоне;
  • суммировать только те числа, которые соответствуют заданному условию;
  • суммировать все n-ные значения в определенном диапазоне.

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

Классика жанра – товарный чек

Задача: рассчитать общую сумму заказа. Если идти классическим путем, то нужно будет добавить столбец, где перемножить цену и количество, а потом взять сумму по этому столбцу. Если же применить формулу массива, то все будет гораздо красивее:

  1. выделяем ячейку С7
  2. вводим с клавиатуры =СУММ(
  3. выделяем диапазон B2:B5
  4. вводим знак умножения (звездочка)
  5. выделяем диапазон C2:C5 и закрываем скобку функции СУММ – в итоге должно получиться так:
  6. чтобы Excel воспринял нашу формулу как формулу массива жмем не Enter, как обычно, а Ctrl + Shift + Enter

Вуаля!

Т.е. Excel произвел попарное умножение элементов массивов B2:B5 и C2:C5 и образовал новый массив стоимостей (в памяти компьютера), а затем сложил все элементы этого нового массива.

Обратите внимание на фигурные скобки, появившиеся в формуле – отличительный признак формулы массива. Вводить их вручную с клавиатуры бесполезно – они автоматически появляются при нажатии Ctrl + Shift + Enter.

Разрешите Вас… транспонировать?

При работе с таблицами часто возникает необходимость поменять местами строки и столбцы, т.е. развернуть таблицу на бок, чтобы данные, которые раньше шли по строке, теперь располагались в столбцах и наоборот. В математике такая операция называется транспонированием. При помощи формулы массива и функции ТРАНСП (TRANSPOSE) это делается на раз.

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

  • Выделяем диапазон ячеек для размещения транспонированной таблицы. Поскольку исходный массив ячеек был 8 строк на 2 столбца, то надо выделить диапазон пустых ячеек размером 2 строки на 8 столбцов.
  • вводим функцию транспонирования =ТРАНСП(
  • в качестве аргумента функции выделяем наш массив ячеек A1:B8

жмем Ctrl + Shift + Enter и получаем “перевернутый массив” в качестве результата:

Функция СТРОКА

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

Синтаксис: =СТРОКА([ссылка]), где аргумент «ссылка» не является обязательным. Если он опущен, но возвращается номер текущей строки.

Пример использования:

=СТРОКА(D4) – результат 4.
=СТРОКА() – функция вернет номер строки, в которой она расположена.

Функция СТОЛБЕЦ

Возвращает номер столбца ячейки, указанной ссылкой.

Синтаксис: =СТОЛБЕЦ([ссылка]), где «ссылка» не обязательный аргумент. По умолчанию возвращается номер текущего столбца.

Пример использования:

=СТОЛБЕЦ(C4) – формула вернет значение 3.
=СТОЛБЕЦ() – функция возвращает номер столбца, в котором расположена.

Функция АДРЕС

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

Синтаксис: =АДРЕС(строка; столбец; [тип_закрепления]; [стиль_ссылки]; [имя_листа]), где:

  • Строка – обязательный аргумент. Число, представляющая номер строки, для которой необходимо вернуть адрес;
  • Столбец – обязательный аргумент. Число, представляющее номер столбца целевой ячейки.
  • тип_закрепления – необязательный аргумент. Число от 1 до 4, обозначающее закрепление индексов ссылки:
    • 1 – значение по умолчанию, когда закреплены все индексы;
    • 2 – закрепление индекса строки;
    • 3 – закрепление индекса столбца;
    • 4 – адрес без закреплений.
  • стиль_ссылки – необязательный аргумент. Логическое значение:
    • ИСТИНА – формат ссылок «A1»;
    • ЛОЖЬ – формат ссылок «R1C1».
  • имя_листа – необязательный аргумент. Строка, представляющая имя листа, который необходимо добавить к тексту адреса ячейки.

Пример использования:

=АДРЕС=АДРЕС=АДРЕС=АДРЕС

Функция ДВССЫЛ

Преобразует адрес ссылки, заданный текстовой строкой, в ссылку на данный адрес.

Синтаксис: =ДВССЫЛ(адрес_ссылки; [стиль_ссылки]), где

  • адрес_ссылки – обязательный аргумент. Строка, представляющая адрес ссылки на ячейку или диапазон. Например, “C3”, “R3C3” или “D8:D9”.
  • стиль_ссылки – необязательный аргумент. Логическое значение, определяющее стиль ссылки:
    • ИСТИНА – стиль A1. Является значением по умолчанию;
    • ЛОЖЬ – стиль R1C1.

Пример использования:

=ДВССЫЛ(“a3”) – возвращает ссылку на ячейку A3.
=ДВССЫЛ(“r3c3”) – вернет ошибку #ССЫЛКА!, так как текст для ссылки в формате R1C1, а второй аргумент имеет значение по умолчанию.
=ДВССЫЛ(“r3c3”; ЛОЖЬ) – возвращает ссылку на ячейку C3.
=ДВССЫЛ(АДРЕС(СТРОКА(C3);СТОЛБЕЦ(C3))) – функция вернет аналогичный предыдущему примеру результат.
Вложение функции ДВССЫЛ со ссылкой на диапазон:

Функция ВЫБОР (CHOOSE)

Позволит вам выбрать значение из общего списка по указанному номеру позиции:

=ВЫБОР(2;”Стул”;”Стол”;”Шкаф”;”Диван”)

Функция ИНДЕКС (INDEX)

Эта функция возвращает указанное значение из одно- или двумерного диапазона:

=ИНДЕКС(A1:C6;4;3)

Как видно с примера, полученное значение 37, в указанном диапазоне стоит на пересечении строки №4 и столбика №3 в диапазоне A1:C6 указанном в формуле. В более простом примере показано как в диапазоне С1:С6, на 2 месте находится значение 15:

=ИНДЕКС(С1:С6;2)

Функция ПОИСКПОЗ (MATCH)

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

=ПОИСКПОЗ(B3;B2:B5;0)

С примера вы можете видеть что слово «Стол» занимает 2 позицию в указанном диапазоне. Замечу, что третий аргумент в функции не является обязательным. При введенном значении 0, функция вернет ту позицию элемента массива, которое точно совпадает со значением, которое мы ищем. В случае, когда точное совпадение отсутствует, функция выдаст ошибку #Н/Д (#N/A).

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

Если формула массива расположена не в одной ячейке (как в Примере 1), а в нескольких ячейках (как в Примере 2), то Excel не позволит редактировать или удалить одну отдельно взятую формулу (например в ячейке D10) и выдаст предупреждающее сообщение Невозможно изменить часть массива.

Для редактирования формулы массива необходимо выделить весь диапазон (A10:H11 в нашем случае) и изменить формулу в строке формул (или нажав F2). Затем необходимо повторить ввод измененной формулы массива, нажав сочетание клавиш Ctrl + Shift + Enter.

Excel также не позволит свободно перемещать ячейки, входящие в формулу массива или добавлять новые строки-столбцы-ячейки в диапазон формулы массива (т.е. в диапазон A10:H11 в нашем случае)

Описание категории «Ссылки и массивы»

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

Ярким представителем функций данной категории является самая популярная функция ВПР, которая позволяет найти значение из ячейки диапазона, выполнив поиск в первом столбце этого же диапазона

Принцип работы функции ВПР из категории «Ссылки и массивы»

ВПР

Функция ВПР (VLOOKUP) ищет значение в крайнем левом столбце таблицы и возвращает значение ячейки, находящейся в указанном столбце той же строки.

  1. Вставляем функцию ВПР:

    =ВПР(A2;$E$4:$G$7;3;ЛОЖЬ)
    =VLOOKUP(A2,$E$4:$G$7,3,FALSE)

    Пояснение:

    • Функция ВПР ищет значение ID (104) в крайнем левом столбце диапазона $E$4:$G$7 и возвращает значение из третьего столбца той же строки (так как третий аргумент функции имеет значение 3).
    • Четвёртый аргумент функции равен ЛОЖЬ (FALSE) – это значит, что либо будет найдено точное совпадение, либо будет показано сообщение об ошибке #Н/Д (#N/A).
  2. Потащите мышью, чтобы скопировать функцию ВПР из ячейки B2 вниз по столбцу до ячейки B11.Пояснение: Когда мы копируем функцию ВПР вниз, абсолютная ссылка $E$4:$G$7 остаётся неизменной, в то время как относительная ссылка A2 изменяется на A3, A4, A5 и так далее.

Пример применения формулы массива

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

Товарный чек

Как бы мы решали данную задачу стандартным образом?

Во-первых, мы бы получили итоговую сумму по каждому товару, перемножив количество товара на его цену.

Подсчет суммы заказа

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

Расчет общей суммы покупки

Ту же самую задачу можно решить с помощью простейшей формулы массива.

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

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

Если сейчас нажать Enter, то появится ошибка.

Ошибка при нажатии Enter

Так как мы в формуле использовали диапазоны (массивы) данных, то и формула должна быть формулой массива. Для этого нужно нажать сочетание клавиш Ctrl + Shift + Enter и получим результат.

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

Что произошло и как работает формула массива? Это важно понять, так как в дальнейшем можно будет применять формулы массива для решения намного более заковыристых задач…

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

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

Скобки формулы массива

Это не текстовые скобки, то есть нельзя их ввести с клавиатуры, чтобы сделать формулу формулой массива. Они появляются автоматически при нажатии сочетания клавиш Ctrl + Shift + Enter. Если после создания формулы массива вам необходимо ее отредактировать, то в конце необходимо вновь нажать сочетание клавиш, а не просто клавишу Enter.

ГПР

Похожим образом работает и функция ГПР (HLOOKUP):

Функции для работы со ссылками и массивами

В Excel имеется ряд функций для обработки ссылок и массивов: вычисление номеров строки или столбца таблицы по имени ссылки, определение количества столбцов (строк) ссылки или массива, выбор значения по номеру индекса и т. д.

Таблица 4.10. Функции для работы со ссылками и массивами.

АДРЕС Создает адрес ячейки в виде текста, используя номер строки и номер столбца.
ВПР Просматривает левый столбец массива в поисках определенного значения и возвращает значение из указанной ячейки.
ВЫБОР Использует номер индекса, чтобы выбрать и вернуть значение из списка аргументов-значений.
ГИПЕРССЫЛКА Создание ссылки, открывающей документ, находящийся на жестком диске, сервере сети или Internet.
ГПР Просматривает верхнюю строку массива в поисках определенного значения и возвращает значение из указанной ячейки.
двссыл Возвращает ссылку, заданную аргументом ссылка на ячейку.
ИНДЕКС Выбирает по индексу значение из ссылки или массива.
ОБЛАСТИ Возвращает количество областей в ссылке. Область – это интервал смежных ячеек или отдельная ячейка.
ПОИСКПОЗ Возвращает относительную позицию элемента массива.
ПОЛУЧИТЬ.ДАННЫЕ. СВОДНОЙ.ТАБЛИЦЫ Получение данных сводной таблицы
ПРОСМОТР Ищет значения в векторе или массиве.
СМЕЩ Возвращает ссылку заданной высоты и ширины, отстоящую от другой ссылки на заданное количество строки и столбцов.
СТОЛБЕЦ Возвращает номер столбца по заданной ссылке.
СТРОКА Возвращает номер строки, определяемой ссылкой.
ТРАНШ Возвращает транспонированный массив.
ЧИСЛСТОЛБ Возвращает количество столбцов в ссылке или массиве.
ЧСТРОК Возвращает количество строк в ссылке или массиве.

Функция ГПР

Горизонтальное первое равенство. Ищет совпадение по ключу в первой строке определенного диапазона и возвращает значение из указанной строки этого диапазона в совпавшем с ключом столбце.

Синтаксис: =ГПР(ключ; диапазон; номер_строки; [интервальный_просмотр]).

Так как функция аналогична функции ВПР, за исключением того, что использует горизонтальные таблицы вместо вертикальных, то описания и примеры использования подходят и для ГПР с учетом упомянутых различий.

Источники

  • https://exceltable.com/master-klass/massivy-funktciy-excel
  • https://www.planetaexcel.ru/techniques/2/91/
  • https://office-menu.ru/uroki-excel/13-uverennoe-ispolzovanie-excel/45-funktsii-ssylok-i-massivov-excel
  • https://topexcel.ru/5-osnovnyx-funkcii-dlya-raboty-s-massivami/
  • https://msoffice-prowork.com/ref/excel/excelfunc/lookup-reference/
  • https://office-guru.ru/excel/funkcii-excel-dlja-raboty-so-ssylkami-i-massivami-515.html
  • https://zen.yandex.ru/media/id/5c4d8a530aaeef00ac928ac3/5cb46bff23aed400b46a0c52
  • http://samoychiteli.ru/document37861.html

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