Excel для Microsoft 365 Excel 2021 Excel 2019 Excel 2016 Excel 2013 Еще…Меньше
При использовании константы массива в формулемассива вы можете дать ей имя, а затем использовать ее повторно.
-
Щелкните Формулы >имя.
-
В поле Имя введите имя константы.
-
В поле Ссылки введите константу. Например, можно использовать ={«Январь»,»Февраль»,»Март»}.
Диалоговое окно должно выглядеть так:
-
Нажмите кнопку ОК.
-
Выберите на нем ячейки, которые будут содержать константы.
-
Введите в панели формул знак равно и имя константы, например =Квартал1.
-
Нажмите ввод, если у вас есть текущая Microsoft 365 подписка. В противном случае нажмите CTRL+SHIFT+ВВОД.
Примечание: Если у вас установлена текущая версия Microsoft 365, можно просто ввести формулу в верхней левой ячейке диапазона вывода и нажать клавишу ВВОД, чтобы подтвердить использование формулы динамического массива. Иначе формулу необходимо вводить с использованием прежней версии массива, выбрав диапазон вывода, введя формулу в левой верхней ячейке диапазона и нажав клавиши CTRL+SHIFT+ВВОД для подтверждения. Excel автоматически вставляет фигурные скобки в начале и конце формулы. Дополнительные сведения о константах массива в формулах массива см. в разделе Именовка констант массива в статье Рекомендации и примеры формул массива.
Вот как динамический массив будет выглядеть в Microsoft 365:
Примечания:
-
При использовании именованной константы в качестве формулы массива не забудьте ввести знак равенства. Если это не так, Excel массив интерпретируется как строка текста, и вы увидите сообщение об ошибке.
-
В константах можно использовать числа, текст, логические значения (например, ИСТИНА и ЛОЖЬ) и значения ошибок (например, #N/A). Кроме того, можно использовать числа в десятичных, десятичных и научных форматах. При включаемом тексте его необходимо окружить двойными кавычками (««).
-
Константы массива не могут содержать другие массивы, формулы и функции. Другими словами, они могут содержать только текст, числа или символы, разделенные запятой или запятой. Excel при вводе константы, например {1;2;A1:D4} или {1;2;СУММ(Q2:Z8)}. Кроме того, числа не могут содержать знаки процента, знаки доллара, запятые или скобки.
Дополнительные сведения
Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.
См. также
Создание формулы массива
Расширение диапазона формулы массива
Удаление формулы массива
Правила изменения формул массива
Нужна дополнительная помощь?
Содержание
- Манипуляции с именованными областями
- Создание именованного диапазона
- Операции с именованными диапазонами
- Управление именованными диапазонами
- Вопросы и ответы
Одним из инструментов, который упрощает работу с формулами и позволяет оптимизировать работу с массивами данных, является присвоение этим массивам наименования. Таким образом, если вы хотите сослаться на диапазон однородных данных, то не нужно будет записывать сложную ссылку, а достаточно указать простое название, которым вы сами ранее обозначили определенный массив. Давайте выясним основные нюансы и преимущества работы с именованными диапазонами.
Манипуляции с именованными областями
Именованный диапазон — это область ячеек, которой пользователем присвоено определенное название. При этом данное наименование расценивается Excel, как адрес указанной области. Оно может использоваться в составе формул и аргументов функций, а также в специализированных инструментах Excel, например, «Проверка вводимых значений».
Существуют обязательные требования к наименованию группы ячеек:
- В нём не должно быть пробелов;
- Оно обязательно должно начинаться с буквы;
- Его длина не должна быть больше 255 символов;
- Оно не должно быть представлено координатами вида A1 или R1C1;
- В книге не должно быть одинаковых имен.
Наименование области ячеек можно увидеть при её выделении в поле имен, которое размещено слева от строки формул.
В случае, если наименование диапазону не присвоено, то в вышеуказанном поле при его выделении отображается адрес левой верхней ячейки массива.
Создание именованного диапазона
Прежде всего, узнаем, как создать именованный диапазон в Экселе.
- Самый быстрый и простой вариант присвоения названия массиву – это записать его в поле имен после выделения соответствующей области. Итак, выделяем массив и вводим в поле то название, которое считаем нужным. Желательно, чтобы оно легко запоминалось и отвечало содержимому ячеек. И, безусловно, необходимо, чтобы оно отвечало обязательным требованиям, которые были изложены выше.
- Для того, чтобы программа внесла данное название в собственный реестр и запомнила его, жмем по клавише Enter. Название будет присвоено выделенной области ячеек.
Выше был назван самый быстрый вариант наделения наименованием массива, но он далеко не единственный. Эту процедуру можно произвести также через контекстное меню
- Выделяем массив, над которым требуется выполнить операцию. Клацаем по выделению правой кнопкой мыши. В открывшемся списке останавливаем выбор на варианте «Присвоить имя…».
- Открывается окошко создания названия. В область «Имя» следует вбить наименование в соответствии с озвученными выше условиями. В области «Диапазон» отображается адрес выделенного массива. Если вы провели выделение верно, то вносить изменения в эту область не нужно. Жмем по кнопке «OK».
- Как можно видеть в поле имён, название области присвоено успешно.
Ещё один вариант выполнения указанной задачи предусматривает использование инструментов на ленте.
- Выделяем область ячеек, которую требуется преобразовать в именованную. Передвигаемся во вкладку «Формулы». В группе «Определенные имена» производим клик по значку «Присвоить имя».
- Открывается точно такое же окно присвоения названия, как и при использовании предыдущего варианта. Все дальнейшие операции выполняются абсолютно аналогично.
Последний вариант присвоения названия области ячеек, который мы рассмотрим, это использование Диспетчера имен.
- Выделяем массив. На вкладке «Формулы», клацаем по крупному значку «Диспетчер имен», расположенному всё в той же группе «Определенные имена». Или же можно вместо этого применить нажатие сочетания клавиш Ctrl+F3.
- Активируется окно Диспетчера имён. В нем следует нажать на кнопку «Создать…» в верхнем левом углу.
- Затем запускается уже знакомое окошко создания файлов, где нужно провести те манипуляции, о которых шёл разговор выше. То имя, которое будет присвоено массиву, отобразится в Диспетчере. Его можно будет закрыть, нажав на стандартную кнопку закрытия в правом верхнем углу.
Урок: Как присвоить название ячейке в Экселе
Операции с именованными диапазонами
Как уже говорилось выше, именованные массивы могут использоваться во время выполнения различных операций в Экселе: формулы, функции, специальные инструменты. Давайте на конкретном примере рассмотрим, как это происходит.
На одном листе у нас перечень моделей компьютерной техники. У нас стоит задача на втором листе в таблице сделать выпадающий список из данного перечня.
- Прежде всего, на листе со списком присваиваем диапазону наименование любым из тех способов, о которых шла речь выше. В итоге, при выделении перечня в поле имён у нас должно отображаться наименование данного массива. Пусть это будет наименование «Модели».
- После этого перемещаемся на лист, где находится таблица, в которой нам предстоит создать выпадающий список. Выделяем область в таблице, в которую планируем внедрить выпадающий список. Перемещаемся во вкладку «Данные» и щелкаем по кнопке «Проверка данных» в блоке инструментов «Работа с данными» на ленте.
- В запустившемся окне проверки данных переходим во вкладку «Параметры». В поле «Тип данных» выбираем значение «Список». В поле «Источник» в обычном случае нужно либо вручную вписать все элементы будущего выпадающего списка, либо дать ссылку на их перечень, если он расположен в документе. Это не очень удобно, особенно, если перечень располагается на другом листе. Но в нашем случае все намного проще, так как мы соответствующему массиву присвоили наименование. Поэтому просто ставим знак «равно» и записываем это название в поле. Получается следующее выражение:
=Модели
Жмем по «OK».
- Теперь при наведении курсора на любую ячейку диапазона, к которой мы применили проверку данных, справа от неё появляется треугольник. При нажатии на этот треугольник открывается список вводимых данных, который подтягивается из перечня на другом листе.
- Нам просто остается выбрать нужный вариант, чтобы значение из списка отобразилось в выбранной ячейке таблицы.
Именованный диапазон также удобно использовать в качестве аргументов различных функций. Давайте взглянем, как это применяется на практике на конкретном примере.
Итак, мы имеем таблицу, в которой помесячно расписана выручка пяти филиалов предприятия. Нам нужно узнать общую выручку по Филиалу 1, Филиалу 3 и Филиалу 5 за весь период, указанный в таблице.
- Прежде всего, каждой строке соответствующего филиала в таблице присвоим название. Для Филиала 1 выделяем область с ячейками, в которых содержатся данные о выручке по нему за 3 месяца. После выделения в поле имен пишем наименование «Филиал_1» (не забываем, что название не может содержать пробел) и щелкаем по клавише Enter. Наименование соответствующей области будет присвоено. При желании можно использовать любой другой вариант присвоения наименования, о котором шел разговор выше.
- Таким же образом, выделяя соответствующие области, даем названия строкам и других филиалов: «Филиал_2», «Филиал_3», «Филиал_4», «Филиал_5».
- Выделяем элемент листа, в который будет выводиться итог суммирования. Клацаем по иконке «Вставить функцию».
- Инициируется запуск Мастера функций. Производим перемещение в блок «Математические». Останавливаем выбор из перечня доступных операторов на наименовании «СУММ».
- Происходит активация окошка аргументов оператора СУММ. Данная функция, входящая в группу математических операторов, специально предназначена для суммирования числовых значений. Синтаксис представлен следующей формулой:
=СУММ(число1;число2;…)
Как нетрудно понять, оператор суммирует все аргументы группы «Число». В виде аргументов могут применяться, как непосредственно сами числовые значения, так и ссылки на ячейки или диапазоны, где они расположены. В случае применения массивов в качестве аргументов используется сумма значений, которая содержится в их элементах, подсчитанная в фоновом режиме. Можно сказать, что мы «перескакиваем», через действие. Именно для решения нашей задачи и будет использоваться суммирование диапазонов.
Всего оператор СУММ может насчитывать от одного до 255 аргументов. Но в нашем случае понадобится всего три аргумента, так как мы будет производить сложение трёх диапазонов: «Филиал_1», «Филиал_3» и «Филиал_5».
Итак, устанавливаем курсор в поле «Число1». Так как мы дали названия диапазонам, которые требуется сложить, то не нужно ни вписывать координаты в поле, ни выделять соответствующие области на листе. Достаточно просто указать название массива, который подлежит сложению: «Филиал_1». В поля «Число2» и «Число3» соответственно вносим запись «Филиал_3» и «Филиал_5». После того, как вышеуказанные манипуляции были сделаны, клацаем по «OK».
- Результат вычисления выведен в ячейку, которая была выделена перед переходом в Мастер функций.
Как видим, присвоение названия группам ячеек в данном случае позволило облегчить задачу сложения числовых значений, расположенных в них, в сравнении с тем, если бы мы оперировали адресами, а не наименованиями.
Конечно, эти два примера, которые мы привели выше, показывают далеко не все преимущества и возможности применения именованных диапазонов при использовании их в составе функций, формул и других инструментов Excel. Вариантов использования массивов, которым было присвоено название, неисчислимое множество. Тем не менее, указанные примеры все-таки позволяют понять основные преимущества присвоения наименования областям листа в сравнении с использованием их адресов.
Урок: Как посчитать сумму в Майкрософт Эксель
Управление именованными диапазонами
Управлять созданными именованными диапазонами проще всего через Диспетчер имен. При помощи данного инструмента можно присваивать имена массивам и ячейкам, изменять существующие уже именованные области и ликвидировать их. О том, как присвоить имя с помощью Диспетчера мы уже говорили выше, а теперь узнаем, как производить в нем другие манипуляции.
- Чтобы перейти в Диспетчер, перемещаемся во вкладку «Формулы». Там следует кликнуть по иконке, которая так и называется «Диспетчер имен». Указанная иконка располагается в группе «Определенные имена».
- После перехода в Диспетчер для того, чтобы произвести необходимую манипуляцию с диапазоном, требуется найти его название в списке. Если перечень элементов не очень обширный, то сделать это довольно просто. Но если в текущей книге располагается несколько десятков именованных массивов или больше, то для облегчения задачи есть смысл воспользоваться фильтром. Клацаем по кнопке «Фильтр», размещенной в правом верхнем углу окна. Фильтрацию можно выполнять по следующим направлениям, выбрав соответствующий пункт открывшегося меню:
- Имена на листе;
- в книге;
- с ошибками;
- без ошибок;
- Определенные имена;
- Имена таблиц.
Для того, чтобы вернутся к полному перечню наименований, достаточно выбрать вариант «Очистить фильтр».
- Для изменения границ, названия или других свойств именованного диапазона следует выделить нужный элемент в Диспетчере и нажать на кнопку «Изменить…».
- Открывается окно изменение названия. Оно содержит в себе точно такие же поля, что и окно создания именованного диапазона, о котором мы говорили ранее. Только на этот раз поля будут заполнены данными.
В поле «Имя» можно сменить наименование области. В поле «Примечание» можно добавить или отредактировать существующее примечание. В поле «Диапазон» можно поменять адрес именованного массива. Существует возможность сделать, как применив ручное введение требуемых координат, так и установив курсор в поле и выделив соответствующий массив ячеек на листе. Его адрес тут же отобразится в поле. Единственное поле, значения в котором невозможно отредактировать – «Область».
После того, как редактирование данных окончено, жмем на кнопку «OK».
Также в Диспетчере при необходимости можно произвести процедуру удаления именованного диапазона. При этом, естественно, будет удаляться не сама область на листе, а присвоенное ей название. Таким образом, после завершения процедуры к указанному массиву можно будет обращаться только через его координаты.
Это очень важно, так как если вы уже применяли удаляемое наименование в какой-то формуле, то после удаления названия данная формула станет ошибочной.
- Чтобы провести процедуру удаления, выделяем нужный элемент из перечня и жмем на кнопку «Удалить».
- После этого запускается диалоговое окно, которое просит подтвердить свою решимость удалить выбранный элемент. Это сделано во избежание того, чтобы пользователь по ошибке не выполнил данную процедуру. Итак, если вы уверены в необходимости удаления, то требуется щелкнуть по кнопке «OK» в окошке подтверждения. В обратном случае жмите по кнопке «Отмена».
- Как видим, выбранный элемент был удален из перечня Диспетчера. Это означает, что массив, к которому он был прикреплен, утратил наименование. Теперь он будет идентифицироваться только по координатам. После того, как все манипуляции в Диспетчере завершены, клацаем по кнопке «Закрыть», чтобы завершить работу в окне.
Применение именованного диапазона способно облегчить работу с формулами, функциями и другими инструментами Excel. Самими именованными элементами можно управлять (изменять и удалять) при помощи специального встроенного Диспетчера.
Массив значений (или константа массива или массив констант) – это совокупность чисел или текстовых значений, которую можно использовать в
формулах массива
. Константы массива необходимо вводить в определенном формате, например, для чисел {1:2:3:4:5} или для текстовых значений {«Север»:»ЮГ»:»Восток»:»Запад»}.
В обычную формулу можно ввести ссылку на ячейку, содержащую значение, или на само значение, называемое также константой. Подобным образом в
формулу массива
можно ввести или ссылку на массив, или
массив значений
, содержащихся в ячейках (в справке EXCEL его называют
константой массива
).
Константы массива
необходимо вводить в определенном формате.
Создание одномерного массива констант
Перед созданием
Массива констант
посмотрим повнимательнее на диапазон ячеек, содержащий обычные значения (см.
Файл примера
)
-
в диапазон ячеек
A
1:
A
5
введите, например, 5 последовательных чисел от 1 до 5.
-
в ячейке
B1
введите формулу
=A1:A5
;
-
в
Строке формул
выделите
A1:A5
и нажмите клавишу
F9
; -
получим некую запись {1:2:3:4:5}, представляющую собой набор значений из диапазона
A1:A5
Этот набор значений, как и
формулы массива
, обрамлен в фигурные скобки, сами значения разделены двоеточиями. Если бы значения были размещены в строке (в диапазоне
A1:E1
), а не в столбце, то значения были бы разделены точкой с запятой {1;2;3;4;5}.
Создадим
константу массива
в ячейке
B2
.
Для этого введем в ячейку выражение
={1:2:3:4:5}
и нажмем
ENTER
.
Массив значений
не заключается в скобки автоматически, как
формулы массива
после нажатия
CTRL+SHIFT+ENTER
. Это необходимо делать вручную. В ячейке отразится только первое значение массива, т.е. 1.
Обычно
массив значений
не вводят в одну ячейку, т.к. в этом случае невозможно вытащить отдельные значения. Чтобы отобразить все значения нашего
массива значений
нужно выделить 5 ячеек в столбце (например,
B1:B5
), в
Строке формул
ввести выражение
={1:2:3:4:5}
и нажать
CTRL+SHIFT+ENTER
.
Теперь попробуем удалить один элемент массива, например из ячейки
B
3
. Получим предупреждение «
Нельзя изменить часть массива
» — это определенного вида защита массива.
Чтобы избежать утомительного ввода
последовательных чисел
для
вертикального
массива констант можно воспользоваться формулой
=СТРОКА(1:5)
. Записав ее любой пустой ячейке, выделите ее в строке формул и нажмите
F9
, а затем нажмите
ENTER
. Получите массив констант
{1:2:3:4:5}
. Скопируйте содержимое ячейки в буфер обмена (
CTRL+C
), затем выделите вертикальный диапазон ячеек, соответствующий размерности массива, вставьте в активную ячейку содержимое
Буфера обмена
и нажмите
CTRL+SHIFT+ENTER.
Чтобы избежать утомительного ввода последовательных чисел для горизонтального массива констант используйте формулу
=ТРАНСП(СТРОКА(1:5))
или
=СТОЛБЕЦ(A:E)
. Получите массив констант
={1;2;3;4;5}
. Значения массива будут разделены точкой с запятой.
Применение массива констант
А. Умножение векторов (столбец на столбец, строку на строку)
С помощью
формулы массива
умножим столбец значений (
B
2:
B
6
) на
массив констант
{1:2:3:4:5} и просуммируем.
Массив констант
записан в «вертикальном» виде с использованием двоеточия, т.е. также представляет собой столбец. Размерности столбца и массива должны совпадать.
=СУММ(B2:B6*{1:2:3:4:5})
После ввода формулы необходимо нажать
CTRL+SHIFT+
ENTER
.
Формула массива
сначала выполнит поэлементное умножение значений из столбца и констант из массива. Эквивалентом данной формулы является следующее обычное выражение:
=СУММ(B2*1;B3*2; B4*3; B5*4; B6*5)
В последнюю очередь выполняется сложение значений при помощи функции
СУММ()
.
Б. Проверка значений
Проверим, равно ли значение в ячейке
А1
одному из определенных значений: 4, 6 или 9.
=ИЛИ(A1={4;6;9})
После ввода формулы нет необходимости нажимать
CTRL+SHIFT+ENTER
. Такая запись может существенно сократить время создания формулы по сравнению с использованием вложенных функций
ЕСЛИ()
.
Именование массива констант
Массиву констант
можно присвоить
Имя
. Обычно так поступают с константами, образующими группу однотипных значений, например последовательности с конечным количеством элементов
={1:2:3}
.
Чтобы присвоить
массиву констант
имя необходимо сделать следующее:
-
на вкладке
Формулы
в группе
Определенные имена
выберите команду
Присвоить имя
. -
В поле
Имя
введите
Массив123
. -
В поле
Диапазон
введите
массив констант
(не забудьте ввести скобки вручную), например
{1:2:3}
; - Нажмите кнопку ОК.
Пример, найдем
сумму 3-х наибольших значений
, записав формулу
=СУММПРОИЗВ(НАИБОЛЬШИЙ(A1:A10;Массив123))
.
Предполагается, что в диапазоне
A1:A10
имеется список числовых значений.
Создание двумерного массива констант
Чтобы создать двумерный массив констант необходимо сделать следующее:
-
выделите в книге диапазон ячеек из четырех столбцов и трех строк (
A1:D3
). -
в активной ячейке (
А1
), в
Cтроке формул
введите выражение
={1;2;3;4: 5;6;7;8: 9;10;11;12}
-
нажмите сочетание клавиш
CTRL+SHIFT+
ENTER
Мы получили двумерный массив констант, у которого нельзя удалить ни один элемент по отдельности – только все сразу. Как видно из формулы, строки в массиве разделяются двоеточиями, а элементы в строке – точкой с запятой.
Применение двумерного массива констант
Создадим небольшой
Справочник
, позволяющий по номеру месяца выводить его название.
Присвоим
Имя
Месяцы
двумерному массиву:
={1;»январь»:2;»февраль»:3;»март»:4;»апрель»:5;»май»:6;»июнь»: 7;»июль»:8;»август»:9;»сентябрь»:10;»октябрь»:11;»ноябрь»:12;»декабрь»}
Чтобы избежать утомительного ввода этого массива создайте два столбца, один с числами от 1 до 12, другой с названиями месяцев (см. статью
Текстовые последовательности
). Затем, в
Строке формул
введите ссылку на этот диапазон, нажмите
F9
и скопируйте в
Буфер обмена
.
Теперь записав формулу
=ВПР(A2;Месяцы;2)
, где в ячейке
A2
— номер месяца, получим желаемый результат.
Для желающих получить дополнительную информацию о константах массива —
]]>
ссылка на статью сайта Microsoft на английском языке
]]> .
Содержание
- Требования к именам ячеек
- Строка имен
- Использование контекстного меню
- Что такое именованный диапазон ячеек в Excel?
- Выделение диапазонов
- Сравнение диапазонов
- Задача
- Визуальное отображение динамического диапазона
- Функция СМЕЩ в Excel
- Что определяет функция СЧЕТ
- Манипуляции с именованными областями
- Создание именованного диапазона
- Примеры диапазона
- Заполнение диапазона
- Перемещение диапазона
- Именованный диапазон с абсолютной адресацией
- Именованный диапазон с относительной адресацией
Требования к именам ячеек
В программе процедура назначения ячейкам имен выполняется с помощью нескольких методов. Но при этом есть определенные требования к самим названиям:
- Нельзя использовать пробелы, запятые, двоеточия, точки с запятыми в качестве разделителя слов (выходом из ситуации может быть замена на нижнее подчеркивание или точку).
- Максимальная длина символов – 255.
- В начале названия должны быть буквы, нижнее подчеркивание или обратная косая черта (никаких цифр и прочих символов).
- Нельзя указывать адрес ячейки или диапазона.
- Название должно быть уникальным в рамках одной книги. При этом следует помнить, что буквы в разных регистрах программа будет воспринимать как полностью одинаковые.
Примечание: Если для ячейки (диапазона ячеек) задано какое-то имя, именно оно будет использоваться в качестве ссылки, например, в формулах.
Допустим, ячейке B2 присвоено имя “Продажа_1”.
Если она будет участвовать в формуле, то вместо B2 мы пишем “Продажа_1”.
Нажав клавишу Enter убеждаемся в том, что формула, действительно, рабочая.
Теперь перейдем, непосредственно, к самим методам, пользуясь которыми можно задавать имена.
Строка имен
Пожалуй самый простой способ присвоить имя ячейке или диапазону – ввести требуемое значение в строке имен, которое находится слева от строки формул.
- Любым удобным способом, например, с помощью зажатой левой кнопки мыши, выделяем требуемую ячейку или область.
- Щелкаем внутри строки имен и вводим нужное название согласно требованиям, описанным выше, после чего нажимаем клавишу Enter на клавиатуре.
- В результате мы присвоим выделенному диапазону название. И при выделении данной области в дальнейшем мы будем видеть именно это название в строке имен.
- Если имя слишком длинное и не помещается в стандартном поле строки, его правую границу можно сдвинуть с помощью зажатой левой кнопки мыши.
Примечание: при присвоении названия любым из способов ниже, оно также будет показываться в строке имен.
Использование контекстного меню
Использование контекстного меню в Эксель позволяет выполнить популярные команды и функции. Присвоить имя ячейке также можно через этот инструмент.
- Как обычно, для начала нужно отметить ячейку или диапазон ячеек, с которыми хотим выполнить манипуляции.
- Затем правой кнопкой мыши щелкаем по выделенной области и в открывшемся перечне выбираем команду “Присвоить имя”.
- На экране появится окно, в котором мы:
- пишем имя в поле напротив одноименного пункта;
- значение параметра “Поле” чаще всего остается по умолчанию. Здесь указывается границы, в которых будет идентифицироваться наше заданное имя – в пределах текущего листа или всей книги.
- В области напротив пункта “Примечание” при необходимости добавляем комментарий. Параметр не является обязательным для заполнения.
- в самом нижнем поле отображаются координаты выделенного диапазона ячеек. Адреса при желании можно отредактировать – вручную или с помощью мыши прямо в таблице, предварительно установив курсор в поле для ввода информации и стерев прежние данные.
- по готовности жмем кнопку OK.
- Все готово. Мы присвоили имя выделенному диапазону.
Именованный диапазон – это ячека, либо диапазон ячеек, которому присвоено имя. Имя – краткое, осмысленное обозначение. Имена ячеек и диапазонов могут использоваться при создании формул вместо адресов ячеек, а также при выделении нужных диапазонов. Присвоить имя диапазону можно различными способами, самый простой из которых – выделить нужную ячейку или диапазон и в адресном окошке строки формул написать имя для именованного диапазона.
По умолчанию имена диапазонов ячеек автоматически считаются абсолютными ссылками.
Для имен действует ряд ограничений:
– имя может содержать до 255 символов;
– первым символом в имени должна быть буква, знак подчеркивания (_) либо обратная косая черта (), остальные символы имени могутбыть буквами, цифрами, точками и знаками подчеркивания;
– имена не могут быть такими же, как ссылки на ячейки;
– пробелы в именах не допускаются;
– строчные и прописные буквы не различаются.
Управление существующими именованными диапазонами (создание, просмотр и изменение) можно осуществлять при помощи диспетчера имен. В Excel 2007 диспетчер находится на вкладке “Формулы”, в группе кнопок “Определенные имена”.
Выделение диапазонов
О том как выделять ячейки и группы ячеек уже рассказывалось в одной из наших публикаций. Также ранее рассматривалась тема о том как выделять строки в рабочих листах Excel, но строка является одним из частных видов диапазона ячеек. Рассмотрим несколько способов выделения диапазонов ячеек в общем виде.
Способ первый: для выделения небольшого диапазона ячеек, находящихся рядом, можно просто провести по ним курсор мыши в виде широкого белого креста при нажатой левой кнопке мыши. Первая ячейка диапазона при этом останется неподсвеченной и готовой к вводу информации.
Способ второй: для выделения большого диапазона ячеек необходимо щелкнуть по первой ячейке диапазона, после чего при нажатой клавише Shift, щелкнуть по последней ячейке диапазона. При этом можно использовать горячие клавиши для перехода в начало или конец строки, а также для перехода в начало или конец рабочего листа.
Способ третий: для выделения диапазона можно просто написать адрес этого диапазона в адресном окошке строки формул, а если диапазон именованный, то достаточно в адресном окошке написать его имя.
Сравнение диапазонов
Сравнение диапазонов – это одна из классических задач в Excel, которую рано или поздно приходится решать любому пользователю Excel. Задача по сравнению диапазонов может быть поставлена по разному. Когда-то нужно найти различия или совпадения в диапазонах при построчном их сравнении, а когда-то необходимо узнать есть ли что-то общее в сравниваемых диапазонах вообще. В зависимости от поставленной задачи различаются и методики её решения.
Например, для построчного сравнения часто используется логическая функция “ЕСЛИ” и какой-либо из операторов сравнения (также можно использовать и другие функции, например “СЧЕТЕСЛИ” из категории статистические для проверки вхождения элементов одного списка в другой).
Также для поиска отличий по столбцам или по строкам используется стандартное средство Excel, которое находится на вкладке “Главная”, в группе кнопок “Редактирование”, в меню кнопки “Найти и выделить”. Если в этом меню выбрать пункт “Перейти” и далее нажать кнопку “Выделить”, то в диалоговом окне “Выделение группы ячеек” можно выбрать одну из опций “Отличия по строкам” или “Отличия по столбцам”.
Для поиска повторяющихся или уникальных значений в двух диапазонах можно использовать условное форматирование.
Сравнение диапазонов можно провести и при помощи надстройки для Excel, которая позволяет находить и подсвечивать заливкой различия или совпадения в двух заданных диапазонах.
Задача
Имеется таблица продаж по месяцам некоторых товаров (см. Файл примера ):
Необходимо найти сумму продаж товаров в определенном месяце. Пользователь должен иметь возможность выбрать нужный ему месяц и получить итоговую сумму продаж. Выбор месяца пользователь должен осуществлять с помощью Выпадающего списка .
Для решения задачи нам потребуется сформировать два динамических диапазона : один для Выпадающего списка , содержащего месяцы; другой для диапазона суммирования.
Для формирования динамических диапазонов будем использовать функцию СМЕЩ() , которая возвращает ссылку на диапазон в зависимости от значения заданных аргументов. Можно задавать высоту и ширину диапазона, а также смещение по строкам и столбцам.
Создадим динамический диапазон для Выпадающего списка , содержащего месяцы. С одной стороны нужно учитывать тот факт, что пользователь может добавлять продажи за следующие после апреля месяцы (май, июнь…), с другой стороны Выпадающий список не должен содержать пустые строки. Динамический диапазон как раз и служит для решения такой задачи.
Для создания динамического диапазона:
- на вкладке Формулы в группе Определенные имена выберите команду Присвоить имя
- в поле Имя введите: Месяц
- в поле Область выберите лист Книга
- в поле Диапазон введите формулу =СМЕЩ(лист1!$B$5;;;1;СЧЁТЗ(лист1!$B$5:$I$5))
- нажмите ОК.
Теперь подробнее. Любой диапазон в EXCEL задается координатами верхней левой и нижней правой ячейки диапазона. Исходной ячейкой, от которой отсчитывается положение нашего динамического диапазона, является ячейка B5 . Если не заданы аргументы функции СМЕЩ() смещ_по_строкам, смещ_по_столбцам (как в нашем случае), то эта ячейка является левой верхней ячейкой диапазона. Нижняя правая ячейка диапазона определяется аргументами высота и ширина . В нашем случае значение высоты =1, а значение ширины диапазона равно результату вычисления формулы СЧЁТЗ(лист1!$B$5:$I$5) , т.е. 4 (в строке 5 присутствуют 4 месяца с января по апрель ). Итак, адрес нижней правой ячейки нашего динамического диапазона определен – это E 5 .
При заполнении таблицы данными о продажах за май , июнь и т.д., формула СЧЁТЗ(лист1!$B$5:$I$5) будет возвращать число заполненных ячеек (количество названий месяцев) и соответственно определять новую ширину динамического диапазона, который в свою очередь будет формировать Выпадающий список .
ВНИМАНИЕ! При использовании функции СЧЕТЗ() необходимо убедиться в отсутствии пустых ячеек! Т.е. нужно заполнять перечень месяцев без пропусков.
Теперь создадим еще один динамический диапазон для суммирования продаж.
Для создания динамического диапазона :
- на вкладке Формулы в группе Определенные имена выберите команду Присвоить имя
- в поле Имя введите: Продажи_за_месяц
- в поле Диапазон введите формулу = СМЕЩ(лист1!$A$6;;ПОИСКПОЗ(лист1!$C$1;лист1!$B$5:$I$5;0);12)
- нажмите ОК.
Функция ПОИСКПОЗ() ищет в строке 5 (перечень месяцев) выбранный пользователем месяц (ячейка С1 с выпадающим списком) и возвращает соответствующий номер позиции в диапазоне поиска (названия месяцев должны быть уникальны, т.е. этот пример не годится для нескольких лет). На это число столбцов смещается левый верхний угол нашего динамического диапазона (от ячейки А6 ), высота диапазона не меняется и всегда равна 12 (при желании ее также можно сделать также динамической – зависящей от количества товаров в диапазоне).
И наконец, записав в ячейке С2 формулу = СУММ(Продажи_за_месяц) получим сумму продаж в выбранном месяце.
Например, в мае.
Или, например, в апреле.
Примечание: Вместо формулы с функцией СМЕЩ() для подсчета заполненных месяцев можно использовать формулу с функцией ИНДЕКС() : = $B$5:ИНДЕКС(B5:I5;СЧЁТЗ($B$5:$I$5))
Формула подсчитывает количество элементов в строке 5 (функция СЧЁТЗ() ) и определяет ссылку на последний элемент в строке (функция ИНДЕКС() ), тем самым возвращает ссылку на диапазон B5:E5 .
Визуальное отображение динамического диапазона
Выделить текущий динамический диапазон можно с помощью Условного форматирования . В файле примера для ячеек диапазона B6:I14 применено правило Условного форматирования с формулой: = СТОЛБЕЦ(B6)=СТОЛБЕЦ(Продажи_за_месяц)
Условное форматирование автоматически выделяет серым цветом продажи текущего месяца , выбранного с помощью Выпадающего списка .
Функция СМЕЩ в Excel
Разберем более детально функции, которые мы вводили в поле диапазон при создании динамического имени.
Функция =СМЕЩ определяет наш диапазон в зависимости от количества заполненных ячеек в столбце B. 5 параметров функции =СМЕЩ(начальная ячейка; смещение размера диапазона по строкам; смещение по столбцам; размер диапазона в высоту; размер диапазона в ширину):
- «Начальная ячейка» – указывает верхнюю левую ячейку, от которой будет динамически расширяться диапазон как вниз, так и вправо (при необходимости).
- «Смещение по строкам» – параметр определяет, на какое количество нужно смещать диапазон по вертикали от начальной ячейки (первого параметра). Значения могут быть нулевыми и отрицательными.
- «Смещение по столбцам» – параметр определяет, на какое количество нужно смещать по горизонтали от начальной ячейки. Значения могут быть даже нулевыми и отрицательными.
- «Размер диапазона в высоту» – количество ячеек, на которое нужно увеличить диапазон в высоту. По сути, название говорит само за себя.
- «Размер диапазона в ширину» – количество ячеек, на которое нужно увеличить в ширину от начальной ячейки.
Последние 2 параметра функции являются необязательными. Если их не заполнять, то диапазон будет состоять из 1-ой ячейки. Например: =СМЕЩ(A1;0;0) – это просто ячейка A1, а параметр =СМЕЩ(A1;2;0) ссылается на A3.
Теперь разберем функцию: =СЧЕТ, которую мы указывали в 4-ом параметре функции: =СМЕЩ.
Что определяет функция СЧЕТ
Функция =СЧЕТ($B:$B) автоматически считает количество заполненных ячеек в столбце B.
Таким образом, мы с помощью функции =СЧЕТ() и =СМЕЩ() автоматизируем процесс формирования диапазона для имени «доход», что делает его динамическим. Теперь еще раз посмотрим на нашу формулу, которой мы присвоили имя «доход»: =СМЕЩ(Лист1!$B$2;0;0;СЧЁТ(Лист1!$B:$B);1)
Читать данную формулу следует так: первый параметры указывает на то, что наш автоматически изменяемый диапазон начинается в ячейке B2. Следующие два параметра имеют значения 0;0 – это значит, что динамический диапазон не смещается относительно начальной ячейки B2. А увеличивается только его размер по вертикали, о чем свидетельствует 4-тый параметр. В нем находится функция СЧЕТ и она возвращает число равно количеству заполненных ячеек в столбце B. Соответственно количество ячеек по вертикали в диапазоне будет равно числу, которое нам даст функция СЧЕТ. А за ширину диапазона у нас отвечает последний 5-тый параметр, где находиться число 1.
Благодаря функции СЧЕТ мы рационально загружаем в память только заполненные ячейки из столбца B, а не весь столбец целиком. Данный факт исключает возможные ошибки связанные с памятью при работе с данным документом.
Манипуляции с именованными областями
Именованный диапазон — это область ячеек, которой пользователем присвоено определенное название. При этом данное наименование расценивается Excel, как адрес указанной области. Оно может использоваться в составе формул и аргументов функций, а также в специализированных инструментах Excel, например, «Проверка вводимых значений».
Существуют обязательные требования к наименованию группы ячеек:
- В нём не должно быть пробелов;
- Оно обязательно должно начинаться с буквы;
- Его длина не должна быть больше 255 символов;
- Оно не должно быть представлено координатами вида A1 или R1C1
- В книге не должно быть одинаковых имен.
Наименование области ячеек можно увидеть при её выделении в поле имен, которое размещено слева от строки формул.
В случае, если наименование диапазону не присвоено, то в вышеуказанном поле при его выделении отображается адрес левой верхней ячейки массива.
Создание именованного диапазона
Прежде всего, узнаем, как создать именованный диапазон в Экселе.
- Самый быстрый и простой вариант присвоения названия массиву – это записать его в поле имен после выделения соответствующей области. Итак, выделяем массив и вводим в поле то название, которое считаем нужным. Желательно, чтобы оно легко запоминалось и отвечало содержимому ячеек. И, безусловно, необходимо, чтобы оно отвечало обязательным требованиям, которые были изложены выше.
- Для того, чтобы программа внесла данное название в собственный реестр и запомнила его, жмем по клавише Enter. Название будет присвоено выделенной области ячеек.
Выше был назван самый быстрый вариант наделения наименованием массива, но он далеко не единственный. Эту процедуру можно произвести также через контекстное меню
- Выделяем массив, над которым требуется выполнить операцию. Клацаем по выделению правой кнопкой мыши. В открывшемся списке останавливаем выбор на варианте «Присвоить имя…».
- Открывается окошко создания названия. В область «Имя» следует вбить наименование в соответствии с озвученными выше условиями. В области «Диапазон» отображается адрес выделенного массива. Если вы провели выделение верно, то вносить изменения в эту область не нужно. Жмем по кнопке «OK».
- Как можно видеть в поле имён, название области присвоено успешно.
Ещё один вариант выполнения указанной задачи предусматривает использование инструментов на ленте.
- Выделяем область ячеек, которую требуется преобразовать в именованную. Передвигаемся во вкладку «Формулы». В группе «Определенные имена» производим клик по значку «Присвоить имя».
- Открывается точно такое же окно присвоения названия, как и при использовании предыдущего варианта. Все дальнейшие операции выполняются абсолютно аналогично.
Последний вариант присвоения названия области ячеек, который мы рассмотрим, это использование Диспетчера имен.
- Выделяем массив. На вкладке «Формулы», клацаем по крупному значку «Диспетчер имен», расположенному всё в той же группе «Определенные имена». Или же можно вместо этого применить нажатие сочетания клавиш Ctrl+F3.
- Активируется окно Диспетчера имён. В нем следует нажать на кнопку «Создать…» в верхнем левом углу.
- Затем запускается уже знакомое окошко создания файлов, где нужно провести те манипуляции, о которых шёл разговор выше. То имя, которое будет присвоено массиву, отобразится в Диспетчере. Его можно будет закрыть, нажав на стандартную кнопку закрытия в правом верхнем углу.
Примеры диапазона
Диапазон представляет собой набор из двух и более ячеек.
- Для выбора диапазона B2:C4 кликните по нижнему правому углу ячейки В2 и протяните указатель мыши до ячейки C4.
- Чтобы выделить диапазон, состоящий из отдельных (несмежных) ячеек, зажмите клавишу Ctrl и кликните по каждой ячейке, которую хотите включить в диапазон.
Заполнение диапазона
Чтобы заполнить диапазон, следуйте инструкции ниже:
- Введите значение 2 в ячейку B2.
- Выделите ячейку В2, зажмите её нижний правый угол и протяните вниз до ячейки В8.
Результат:
Эта техника протаскивания очень важна, вы будете часто использовать её в Excel. Вот еще один пример:
- Введите значение 2 в ячейку В2 и значение 4 в ячейку B3.
- Выделите ячейки B2 и B3, зажмите нижний правый угол этого диапазона и протяните его вниз.
Excel автоматически заполняет диапазон, основываясь на шаблоне из первых двух значений. Классно, не правда ли? Вот еще один пример:
- Введите дату 13/6/2013 в ячейку В2 и дату 16/6/2013 в ячейку B3 (на рисунке приведены американские аналоги дат).
- Выделите ячейки B2 и B3, зажмите нижний правый угол этого диапазона и протяните его вниз.
Перемещение диапазона
Чтобы переместить диапазон, выполните следующие действия:
- Выделите диапазон и зажмите его границу.
- Перетащите диапазон на новое место.
Именованный диапазон с абсолютной адресацией
Пусть необходимо найти объем продаж товаров:
Присвоим Имя Продажи диапазону B2:B10 . При создании имени будем использовать абсолютную адресацию .
Для этого:
- выделите, диапазон B 2: B 10 на листе 1сезон
- на вкладке Формулы в группе Определенные имена выберите команду Присвоить имя
- в поле Имя введите: Продажи
- в поле Область выберите лист 1сезон (имя будет работать только на этом листе) или оставьте значение Книга , чтобы имя было доступно на любом листе книги;
- убедитесь, что в поле Диапазон введена формула =’1сезон’!$B$2:$B$10
- нажмите ОК.
Теперь в любой ячейке листа 1сезон можно написать формулу в простом и наглядном виде: =СУММ(Продажи) . Будет выведена сумма значений из диапазона B2:B10 .
Также можно, например, подсчитать среднее значение продаж, записав =СРЗНАЧ(Продажи) .
Обратите внимание, что EXCEL при создании имени использовал абсолютную адресацию $B$1:$B$10 . Абсолютная ссылка жестко фиксирует диапазон суммирования: в какой ячейке на листе Вы бы не написали формулу =СУММ(Продажи) – суммирование будет производиться по одному и тому же диапазону B1:B10 .
Иногда выгодно использовать не абсолютную, а относительную ссылку, об этом ниже.
Именованный диапазон с относительной адресацией
Теперь найдем сумму продаж товаров в четырех сезонах. Данные о продажах находятся на листе 4сезона (см. файл примера ) в диапазонах: B2:B10 , C 2: C 10 , D 2: D 10 , E2:E10 . Формулы поместим соответственно в ячейках B11 , C 11 , D 11 , E 11 .
По аналогии с абсолютной адресацией из предыдущей задачи, можно, конечно, создать 4 именованных диапазона с абсолютной адресацией, но есть решение лучше. С использованием относительной адресации можно ограничиться созданием только одного Именованного диапазона Сезонные_продажи .
Для этого:
- выделите ячейку B11 , в которой будет находится формула суммирования (при использовании относительной адресации важно четко фиксировать нахождение активной ячейки в момент создания имени
- на вкладке Формулы в группе Определенные имена выберите команду Присвоить имя
- в поле Имя введите: Сезонные_Продажи
- в поле Область выберите лист 4сезона (имя будет работать только на этом листе);
- убедитесь, что в поле Диапазон введена формула =’4сезона’!B$2:B$10
- нажмите ОК.
Мы использовали смешанную адресацию B$2:B$10 (без знака $ перед названием столбца). Такая адресация позволяет суммировать значения находящиеся в строках 2 , 3 ,… 10 , в том столбце, в котором размещена формула суммирования. Формулу суммирования можно разместить в любой строке ниже десятой (иначе возникнет циклическая ссылка).
Теперь введем формулу =СУММ(Сезонные_Продажи) в ячейку B11. Затем, с помощью Маркера заполнения , скопируем ее в ячейки С11 , D 11 , E 11 , и получим суммы продаж в каждом из 4-х сезонов. Формула в ячейках B 11, С11 , D 11 и E 11 одна и та же!
СОВЕТ: Если выделить ячейку, содержащую формулу с именем диапазона, и нажать клавишу F2 , то соответствующие ячейки будут обведены синей рамкой (визуальное отображение Именованного диапазона ).
Источники
- https://MicroExcel.ru/imena-yacheek/
- http://macros-vba.ru/nadstrojki/excel/183-diapazon-excel
- https://excel2.ru/articles/dinamicheskiy-diapazon-v-ms-excel
- https://exceltable.com/formuly/izmenyaemye-diapazony
- https://lumpics.ru/named-range-in-excel/
- https://office-guru.ru/excel/diapazon-v-excel-370.html
- https://excel2.ru/articles/imenovannyy-diapazon-v-ms-excel
Управление массивами в Microsoft Excel
Смотрите такжеNext i знаниями в той очищался используют конструкцию и строки. Т.е.UBound(iArray,2)Range(«A2») = «Февраль» службу построить отчет, диапазон формулы массива и те, что объявлении двумерного массиваКак это работает продемонстрировановозвращает значение элементаCtrl+Shift+Enter же изменить уже функций в Экселе
если у васВо время работы с
Операции с массивами
Next n теме, где Вы ReDim Preserve что есть наПавелRange(«A3») = «Март» параметры, оформление (т.е. в диапазон дают на выходе индексы его измерений ниже на примере из массива констант,, чтобы сохранить изменения. существующую формулу массива является не было цели таблицами Excel довольно’выгружаем наши новые с Nerv-ом мне
ReDim Preserve массив листе — то
ЛастикRange(«A4») = «Апрель»SSIS научу строить A10:H11 в нашем целый набор (массив) разделяются запятой: кода, который выводит
положение которого задано Формула будет отредактирована. в Excel?СУММ производить какие-либо изменения, часто приходится оперировать данные обратно на очень помогли), но (новая верхняя граница) и будет в
Создание формулы
: Давайте теперь рассмотримRange(«A5») = «Май» интеграционные пакеты. Расскажу случае) значений. Рассмотрим ихDim Jan_Sales_Figures(1 To имена каждого члена порядковым номером (оценкой).Очень часто возникает необходимостьКогда формула массива помещена. Её можно применять, а вы просто
с целыми диапазонами
лист иногда нужно перебратьВот пример. массиве. пример работы с
’переносим данные из о том какВспомните детство, школу, свою на простых примерах… 31, 1 To команды последовательно вДанная формула не является уменьшить или увеличить в одну ячейку, как для суммирования случайно дважды щелкнули данных. При этомRange(«F1»).Resize(UBound(myArr, 1), UBound(myArr,
строки целиком и1) Сперва мыС датами интересно ДВУМЕРНЫМ массивом диапазона А1:А5 в
- их делать. тетрадку по математике…Задача: рассчитать общую сумму 5) As Currency ячейки столбца формулой массива, хоть количество ячеек в
- то ее редактирование содержимого отдельных ячеек, мышью по ячейке некоторые задачи подразумевают, 2)) = myArr перебор выглядит как создаём пустой динамический -Sub TestArray5() массивКому это интересно На обороте тетради заказа. Если идтиОднако, если не указыватьA она и содержит
Изменение содержимого массива
формуле массива. Скажу в Excel обычно так и для диапазона. что вся группаEnd Sub то не очень массив — вв ячейке значениеDim iArray(1 ToiArray = Range(«A1:A5»).Value обращайтесь на почту на обложке было классическим путем, то начальный индекс дляактивного рабочего листа массив. Поэтому при сразу, что дело не представляет особой нахождения суммы целыхЕсли вы закроете, это ячеек должна бытьДанный метод - рационально. данном случае это 40909
5, 1 To’теперь наш массив [email protected] что? Таблица умножения нужно будет добавить обоих измерений массива Excel. ее вводе достаточно это не простое сложности. Здесь главное массивов. Синтаксис этого сообщение, нажав на преобразована буквально в намного быстрее, чемvikttur не обязательно, т.к.форматом выводит как 3) ‘объявляем двумерных iArray имеет размерностьЛастик вот такого вида:
- столбец, где перемножить и объявить егоFor i = нажать клавишу
- и в большинстве не забыть закончить оператора для массивов кнопку один клик. В обрабатывать каждую ячейку: Тему прошел «по Redim тоже создаёт 01.янв, массив с размерностью (1 to 5,: если честно, лучшаяПри помощи формул массива цену и количество, вот так: 1 To 20Enter
случаев будет проще редактирование комбинацией клавиш выглядит следующим образом:«OK» Экселе имеются инструменты, на листе.
- диагонали», может, это массива в массиве 1 To 5, 1) — 5 школа это: она вся делается а потом взятьDim Jan_Sales_Figures(31, 5) Cells(i,1).Value = Team_Members(i). удалить старый массивCtrl+Shift+Enter
- =СУММ(массив1;массив2;…), а потом попытаетесь которые позволяют проводитьТ.е. мы сперва
- упоминалось раньше.2) через Redim: a(1,1) : 1 To 3 строк и 11) делать какое-либо в одно движение: сумму по этому As Currency Next iКонечно же, мы в
- и создать новый..Данный оператор выводит результат переместить курсор с подобные операции. Давайте
Функции массивов
берём данные сНебольшое предостережение, недавно определяем границы массива #01.01.2012# : Variant/DateDim i As столбец. т.е. он задание для себявыделяем диапазон B2:K11 столбцу. Если жето эта запись будетОчевидно, что работа с силах скопировать даннуюПрежде чем удалять старыйЕсли же формула многоячеечная, в одну ячейку, помощью мышки, или выясним, как можно листа Excel в
сам из-за неопытности от 1 доСодержимое массивов удобно Long, n As у нас ДВУМЕРНЫЙ (по работе иливводим формулу =A2:A11*B1:K1 применить формулу массива, расценена, как двумерный массивом, в котором
формулу в остальные массив, скопируйте его т.е. возвращает массив, а поэтому для просто нажмете кнопку управлять массивами данных массив, обрабатываем их напоролся. 10 элементов смотреть в окне Long ‘2 числовые’давайте циклом посмотрим учёбе)жмем то все будет
массив, первое измерение сохранено 20 имён,
Оператор СУММ
ячейки и получить формулу как текст, то сразу возникают того, чтобы произвести«Enter» в этой программе. и обратно выгружаемМассив, заданный как3) заполняем массив Locals — сразу переменные для работы содержимое массива
2) задавать вопросы
Ctrl + Shift + гораздо красивее: которого содержит 32 значительно менее громоздка нужный нам результат: а затем используйте определенные трудности, особенно подсчет, после внесения, то информационное сообщениеСкачать последнюю версию на лист. Это M(a To b) данными
всё понятно, что с цикламиFor i =
Оператор ТРАНСП
на форуме и Enterвыделяем ячейку элемента с индексами и более аккуратна,Но грамотнее будет использовать ее в новом у начинающих пользователей. вводных данных достаточно появится опять. Не Excel быстрее, чем обращение формирует массив строки,4) увеличиваем верхнюю где.For i = LBound(iArray) To UBound(iArray) читать форум каждый, чтобы Excel воспринялС7 от 0 до чем использование 20 многоячеечную формулу массива. массиве. При громоздких Давайте рассмотрим несколько нажать кнопку получится также закрытьМассив – это группа к ячейкам листа но не столбца.
границу массива до
Ластик LBound(iArray, 1) To
‘цикл от нижней день ее как формулу
Оператор МОБР
вводим с клавиатуры 31, а второе отдельных переменных. А Выглядеть она будет формулах такой подход правил, которые необходимо«OK» окно программы или данных, которая расположенаR Dmitry Если задать M(a 15 элементов: угу, но я UBound(iArray, 1) ‘т.е. границе массива доЯ прочитал по массива=СУММ( измерение массива содержит что, если этих следующим образом: позволит сэкономить уйму усвоить, прежде чемв окне аргументов сохранить документ. Все на листе в: Паш есть способ
To b;1), тогда
Sub TestArary6() не стал писать от 1 до
верхней границы массива
Excel и VBAи получаем результат:
выделяем диапазон 6 элементов с имён не 20,Мы можем пойти еще времени. начать редактирование массива. функции или клавишу время будет появляться смежных ячейках. По чуть проще :) a To bDim myArray() ‘объявляем об этом, чтобы 5MsgBox i & книг 20, ноПосмотрите как при помощиB2:B5 индексами от 0 а 1000? А дальше и присвоитьЕсли же необходимо изменитьНельзя изменять содержимое однойEnter это назойливое сообщение,
большому счету, любую
lumpics.ru
Редактирование формул массива в Excel
для данного примера, — строки. динамический массив на начальном этапеFor n = «-й элемент массива все прочитанные знания одной формулы массивавводим знак умножения ( до 5. если, вдобавок, требуется массиву констант имя. расположение массива на
Правила редактирования формул массива
ячейки, содержащей формулу, если ввод выполнялся которое блокирует любые таблицу можно считать но ты правЕще момент, наDim i As не запутывать. LBound(iArray, 2) To равен: » &
быстро забываются, если красиво и легкозвездочкаВсе массивы в рассмотренных сохранить отдельно фамилии Имя назначается точно рабочем листе, не массива. Но к вручную.
- действия. А выход массивом, но не на все сто%%%%%%% котором время тратил, Long
- А определение взял UBound(iArray, 2) ‘т.е. iArray(i, 1) ‘i их не применять
- выбираются данные по) выше примерах имеют и отчества?! Ясно,
- так же, как меняя его размерность, каждой ячейке можноУрок:
- из ситуации есть каждый из них[a1:d1] = [a1:d1* пытаясь разобраться, почемуReDim myArray(1 To из Wikipedia
от 1 до — строка, 1 на практике. Я определенному товару ивыделяем диапазон фиксированное количество измерений. что вскоре станет и обычной константе, просто переместите его применить свое форматирование.
Выделение массива в Excel
Как посчитать сумму в и он довольно является таблицей, так 2] созданный массив на 10) ‘переопределяем размерVDM 3 — это столбец
- отдал все свои заказчику:C2:C5 Однако, во многих совершенно невозможно справиться через диалоговое окно
- как обычный диапазон.Нельзя удалять ячейки, которые Экселе прост как он можетHugo лист выгружается на массива (от 0: У меня вотiArray(i, n) =Next i книги и перешёл
В данном случае формулаи закрываем скобку случаях мы не с таким объёмомСоздание имениСуществует несколько подходов к входят в формулу
Функция
- Закройте информационное окно, нажав являться просто диапазоном.: Вот нашёл пример столбец правее: до 10 элементов)
Как удалить формулу массива
ещё какой вопросы i * n’а теперь давайте на форум, читая массива синхронно пробегает функции СУММ - знаем заранее, какого данных в коде: редактированию размеров массива,
Как отредактировать формулу массива
массива. Можно удалитьТРАНСП на кнопку По своей сущности кода (не записал,M(a;1) — этоFor i = есть по массивам:Next n
выгрузим обратно наш ответы на вопросы
- по всем элементам в итоге должно размера должен быть VBA без помощиНе забывайте указывать знак
- которые, возможно, Вам только весь массив.является типичным оператором«OK» такие области могут где применял) - не первый столбец, 1 To 10Если двумерный массив
- Next i массив на лист
- других людей и диапазонов C3:C21 и получиться так: наш массив. Можно массива.
Изменение размеров формулы массива
равенства в поле пригодятся. Подходы приведеныНельзя перемещать ячейки, которые массивов. Она позволяет. быть одномерными или тут нужно было второй. Первый «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
несколько полезных правил строки и столбцы, исключительно вывод результата
и представляет собойВо втором — вDim tm: tm: Пока отвечал HUGO, 102. Можно ли’iArray(2,2) столбецSub TestArray() равенства ноль, если Enter решение потребует много массивы могут иметь
Как видите, в некоторых
по работе с в диапазон массива. в диапазон ячеек, пиктограмму в виде нескольких одновременно. = Timer
получил ещё 2Next i оперировать целой строкой
’iArray(2,3)’логика — Ячейка(С1).РасширитьДиапазон(кол-воDim iArray() ‘объявляем совпадение есть, тоВуаля! лишней памяти и
множество измерений. Например, случаях массивы констант ними. Если желаетеНельзя использовать многоячеечные формулы поэтому после введения крестика. Также можноКроме того, среди одномерныхDim r As
ответа:)MsgBox «Значение 10-его или столбцом массива,’.. строк, кол-во столбцов)
массив единица. Таким образомТ.е. Excel произвел попарное может замедлить работу
двумерный массив можно бывают даже очень получить еще больше массива в таблицах, данного оператора обязательно нажать на кнопку массивов выделяют горизонтальный Range, a(), b(),Во общем решил,
элемента массива равно: аналог EntireColumn, EntireRow’.. = наш_массивReDim iArray(1 To суммы всех сделок,
умножение элементов массивов программы. Есть решение
сравнить с сеткой полезны. информации о массивах созданных с помощью
нужно применять сочетание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)).ValueHugo
Многомерные массивы в 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() AsDim 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.ReDimJan_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
- в цикле -По-английски данное условие
- он спец по пройдитесь по коду
- по индексу. границе массива до
- excel уверенный пользователь, развернуть таблицу на выполнения кода потребуется
- элемента, содержащего показателиАвтор: Антон Андроновмассивами константВыделить диапазон массива вручную,Функция то ничего не
- того, чтобы умножить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) типа. Доступ кЧтобы создать массив констант,
- Выделить группу ячеек
- как и у
- . Формула будет изменена. сложения, вычитания, деленияЭто были только выкрутиться. changing the lower copymemory по столбцам
тестировать код. См.
Пример 4. Выборочное суммирование
Если к Одномерному’массив можно заполнить захожу сюда и помощи формулы массива End IfТаким же образом можно
записям массива осуществляется введите его элементы. Для этого выделите предыдущего. Но важноДля удаления формулы массива и другие арифметические числа, т.е. вНо если бы bound causes anDeclare 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 Lengthvikttur массиву нужно обращаться границе массива до 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}выберите пункт и если её
Затем нажать на первая и последняя — я не про массивы, если
то через ReDimarr = 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)Nextnerv 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 нельзя. Кроме того,состоит из 20String ошибки
массивом в 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 — относятся
HugoiArray = 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
возвращают одно значение
Как задать в именах массив значений? |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
- Что такое формула массива в Excel
- Массивы в Excel
- Отличие массивов от диапазонов в Excel
- Размерность массивов
- Виды массивов
- Методы создания массивов
- Массив констант, созданный вручную
- Именованный массив констант
- С помощью функций
- С помощью математических операторов
- С помощью операторов сравнения
- С помощью других массивов
- С помощью комбинаций указанных методов
- Вывод массива на лист
- Взаимодействие функций Excel с массивами
- Формулы массива – примеры формул
Формулы массива – загадочная и, казалось бы, сложнейшая сущность в Excel. Но на практике все очень просто, нужно только понять принцип их работы и рассмотреть несколько примеров.
Не знаю, новичок вы в Excel или уже опытный пользователь, но коль судьба привела вас на эту страницу, в ходе прочтения вы:
- узнаете все о формулах массива;
- увидите множество примеров таких формул;
- сможете начать активно их применять на практике.
Поехали!
Формула массива (array formula) – это такая формула, в процессе вычисления которой создается один или несколько массивов. При этом не обязательно как результат вычисления, но и как промежуточный этап.
Будьте на 100% уверены: если формула
- принимает массив на вход,
- создает его как промежуточную сущность
- или выводит как результат вычислений
– это формула массива.
Слишком очевидно и все еще непонятно? Не беда – читаем далее.
На деле, прежде, чем говорить о формулах массива, нужно упомянуть сами массивы и их отличие от диапазонов. Т.к. многие не до конца понимают разницу.
Массивы в Excel
Массив (array) – это фиксированный набор элементов с фиксированным порядком. Иными словами, все элементы массива, включая их положение в нем, являются его неотъемлемой частью, их порядок и количество нельзя изменить.
Отличие массивов от диапазонов в Excel
В отличие от массива, диапазон (range) – это просто метод адресации к ячейкам в Excel, никак не связанный с самим их содержимым.
Между ячейками диапазона можно вставить дополнительные столбцы и строки, сделав его длиннее и шире, а ссылка на такой диапазон изменится автоматически.
Содержимое диапазона также можно свободно сортировать, если в нем нет объединенных ячеек.
Если же на лист Excel выведен массив, ни сортировка строк, ни вставка строк и столбцов в середину диапазона, в который он выведен, не возможна – это нарушило бы само его определение.
При попытке изменения порядка элементов массива Excel выдаст ошибку. К сожалению, она не очень информативна и не сообщает, какой массив или массивы имеются в виду. Текст ошибки:
Нельзя изменить часть массива.
Размерность массивов
Как массивы, так и диапазоны в Excel могут быть одномерными (вектор), двумерными (таблица) и трехмерными (многослойная таблица).
Одномерные массивы (векторы) в свою очередь могут быть вертикальными и горизонтальными.
Трехмерные массивы – довольно редко используемая на практике сущность.
Виды массивов
По типам элементов в них:
По типу данных –
- числовой массив (массив чисел)
- строковый массив (текстовые значения)
- булевый массив (значения ИСТИНА-ЛОЖЬ)
- смешанного типа
По изменяемости элементов –
- массив констант,
- вычисляемый массив
Методы создания массивов
Создать массив в Excel можно множеством способов. Ниже – подробнее с примерами. Все перечисленные выражения в них являются формулами массива, даже если не содержат в себе функций.
Массив констант, созданный вручную
Одномерные и двумерные массивы констант можно создавать вручную и сразу выводить на лист безо всяких дополнительных операций над ними.
При этом разделителем между элементами слева направо является точка с запятой, а разделителем строк – двоеточие.
Двумерные массивы вводятся построчно, т.е. сначала первая строка через точку с запятой, далее двоеточие, вторая строка через точку с запятой, и так далее.
Именованный массив констант
Если приходится один и тот же набор сущностей использовать часто в формулах, его можно сохранить в книге как именованный массив.
Массив цифр как в примере ниже, поможет быстро найти цифры в текстовых ячейках.
Это позволит больше не вводить его вручную, а обращаться к нему по его имени. Более того, Microsoft Excel помогает при их вводе всплывающими подсказками.
С помощью функций
Указанные выше методы создания массивов довольно редки на практике. Чаще всего массивы создаются автоматически при обращении различных функций к диапазонам в Excel.
Единственное условие для создания массива с помощью функции – функция не должна обладать агрегирующим свойством. Например, СУММ, СРЗНАЧ не создадут массив при обращении к диапазону.
На этом сайте есть статья – как дописать символ, слово или текст к нескольким ячейкам. Там рассматриваются несколько способов, в том числе без создания дополнительного столбца. Но вот еще один – с помощью функции СЦЕПИТЬ и формулы массива:
Кавычки-ёлочки в этой формуле нам помогает создать функция СИМВОЛ.
С помощью математических операторов
Достаточно применить любую из математических операций к диапазону – и будет создан массив, аналогичный по размерам.
С помощью операторов сравнения
Аналогично математическим операторам, массивы создаются при сравнении диапазонов с константой или значением ячейки. Результатом операции сравнения являются значения ИСТИНА или ЛОЖЬ.
С помощью других массивов
В двух предыдущих примерах массивы создавались на основе взаимодействия диапазона ячеек и некой константы.
Но можно создать массив и по принципу наоборот – на основе одной ячейки, произведя ее взаимодействие (операторами или функциями) с массивом констант.
Размер результирующего массива в таком случае будет аналогичен размеру массива констант.
Еще раз обратите внимание на разделители строк и столбцов в массивах. Столбцы разделяются точкой с запятой, строки – двоеточием.
С помощью комбинаций указанных методов
Как вы уже догадались, возможности фантазии безграничны – можно строить какие угодно комбинации перечисленных выше методов, производя операции над массивами и диапазонами.
Вывод массива на лист
Для корректного вывода массива на лист нужно выделить диапазон ячеек эквивалентной размерности и размера, использовать метод создания массива (вручную или формулой), и нажать
Ctrl+Shift+Enter
Если выделить недостаточное количество ячеек – будут выведены не все элементы массива, а только те, что соответствуют по порядку.
Если выделить избыточное количество – лишние ячейки выдадут ошибку #Н/Д.
На примере результирующий массив должен быть размером 5*5, но перед вводом формулы массива был выделен диапазон 6*6.
Взаимодействие функций Excel с массивами
Как мы уже выяснили чуть ранее, некоторые функции могут создавать массивы, если их применить к диапазону ячеек. Они обычно обращаются к одной ячейке, и таких функций в Excel большинство.
Однако, есть ряд функций, называемых агрегирующими. Если им на вход подается диапазон или массив, они возвращают единственное результирующее значение. Самая популярная – функция СУММ. Но есть и множество других.
Из раздела математических функций к таковым также относятся ПРОИЗВЕД, СУММПРОИЗВ, СУММЕСЛИ, СУММЕСЛИМН.
Практически все статистические функции по природе берут на вход диапазон или массив и возвращают одно число. Наиболее популярные из них – СРЗНАЧ, МИН, МАКС, СЧЁТ, СЧЁТЗ, СЧЁТЕСЛИ.
Среди логических функций агрегирующим свойством обладают функция И и функция ИЛИ.
Ну и особняком можно выделить функции поиска. Их нельзя в полной мере назвать агрегирующими, но их взаимодействие с массивами весьма похоже. Ведь они тоже:
- учитывают весь массив
- выводят одно значение
ВЫБОР, ВПР, ГПР, ИНДЕКС, ПОИСКПОЗ – эти функции поиска используются наиболее часто.
Формулы массива – примеры формул
Ну что ж, теперь, когда основной понятийный аппарат рассмотрен, приступим к практическому этапу. Я покажу на нескольких задачках из реальной жизни, как их решать, используя комбинации функций и массивов, которые они создают и обсчитывают.
Приступаем к практическим шагам:
Учимся формулам массива 1/4:
Как создать алфавит в Excel