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

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

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

Доброго времени суток друзья!

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

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

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

Вариант 2: Настраиваемая сортировка

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

  1. Вы можете не выделять заранее столбец, если для него задано название. Вызовите то же меню редактирования, но на этот раз нажмите по «Настраиваемая сортировка».

  2. Выберите вариант с расширением или сохранением диапазона, если предварительно выделили столбец.

  3. Вы увидите первый уровень сортировки, который и стоит настроить с самого начала.

  4. Выберите столбец для сортировки из первого выпадающего списка.

  5. Далее укажите вариант сортировки. Это может быть значение, цвет шрифта или ячейки, знаки условного форматирования.

  6. В завершение укажите, в каком порядке необходимо отсортировать данные.

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

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

Программная работа с Excel из 1Сv8 — кнопки, макросы, области, отображение листов и полос прокрутки при открытии

Буду краток, представленная информация здесь это пример работы с Excel программно из 1С, от начала — создание COMОбъект(«Excel.Application»), до конца его закрытия. Тут представлен пример, как создать кнопку, присвоить ей макрос, затем добавить лист, прописать в ячейки необходимую информацию, затем установка нужного листа в момент при открытии Excel, корректное отображение листов и полосы прокрутки, затем сохранение файла в необходимый формат. Данная статья не уникальна, само собой, но в данном контексте она консолидирует информацию от различных источников и призвана только помочь в познании методов программной работы с Excel как полноценный законченный пример. Предполагается, что читатель уже имеет опыт в создании СКД отчетов.

1 стартмани

45

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

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

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

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

Обратите внимание, что загрузить значения в диапазон ячеек рабочего листа через оператор присваивания (=) можно только из двумерного массива

2.4. Доступ к частям матрицы

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

OFFSET / СМЕЩ

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


Синтаксис 

OFFSET(reference,
rows, cols )
 

Примечания 

  • Если
    аргументы height или width
    опущены, то предполагается, что используется
    такая же высота или ширина, как в аргументе
    reference;

  • Аргумент
    reference – это ссылка на область,
    которая должна быть реальным, а не виртуальным массивом, т.е.
    находиться где-то на листе. 

Пример


Рис.29 Функция OFFSET

OFFSET является функцией массива и ее ввод должен
завершаться нажатием комбинации CTRL+SHIFT+ENTER.

INDEX / ИНДЕКС

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


Синтаксис 

INDEX (reference
)

Примечания 

  • Если
    аргумент row_num опущен, то выбирается
    весь столбец;

  • Если
    аргумент col_num опущен, то выбирается вся строка;

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

  • Аргумент
    reference может быть ссылкой, как на
    область, так и на виртуальный массив.

Пример


Рис.30 Функция INDEX

INDEX является функцией массива и ее ввод должен
завершаться нажатием комбинации CTRL+SHIFT+ENTER.

Выделение диапазона ячеек с помощью поля «Имя»

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

Щелкните поле ячейки «Имя» в левом верхнем углу книги под лентой главного меню управления настройками приложения «Microsoft Excel».

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

«Первая ячейка:Последняя ячейка» (без использования пробелов).

В представленном ниже примере мы выделяем следующий диапазон ячеек: от ячейки B2 (самая верхняя левая ячейка) до G17 (самая нижняя правая ячейка).

Нажмите на клавиатуре клавишу «Ввод» и указанный диапазон ячеек будет выделен.

Первый вариант использования функции ВПР.

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

Перед тем, как вызвать функцию ВПР, выбираем нужную нам ячейку, в которой будет находиться наша формула функции и соответственно значение, которое мы хотим увидеть. В нашем случае это ячейка G3. Эта ячейка находиться в столбце Цена, Таблица №2. Функция ВПР позволит взять из Таблицы №1 цену Конфеты А и вставить эту цену в столбец Цена, Таблицы №2, напротив Конфеты А.

Вызываем функцию ВПР, как описано выше.

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

В следующем примере мы с помощью формулы массива получим среднюю, минимальную и максимальную цену по каждому товару. Причем, если среднюю цену можно найти с помощью встроенной функции СРЗНАЧЕСЛИ, то функций МИНЕСЛИ и МАКСЕСЛИ не предусмотрено.

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

{=СРЗНАЧ(ЕСЛИ($A$2:$A$17=F2;$B$2:$B$17))}

Формула расшифровывается так: если в диапазоне $A$2:$A$17 значение очередной ячейки совпадает с значением в ячейке F2, то для соответствующих   ячеек из диапазона $B$2:$B$17 вычислить среднее значение. Excel загрузит таблицу, уберет из нее все строки, которые не содержат нужное нам наименование. После этого по оставшимся строкам в цене – а $B$2:$B$17 это диапазон с ценами – вычисляется   среднее значение.

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

Это значит, что формула написана верно. Поменяв в ней СРЗНАЧ на МИН, мы можем найти минимальное значение цены для выбранного товара, поменяв на МАКС – максимальное значение цены, ну и так далее.

В примере ниже для адреса ячейки с наименование товара применена смешанная адресация с закреплением только столбца. Такой трюк позволил вначале протянуть полученную формулу вправо, после чего поменять в ней вариант вычисления на нужный именно в текущем столбце. К примеру, для минимального использовалась функция МИН, а для максимального значения – функция МАКС. Затем все результаты выбрали вместе и протянули вниз.

 С помощью фактически ОДНОЙ ФОРМУЛЫ получили несколько РАЗНЫХ ВАРИАНТОВ итоговых значений. Это и минимум, и максимум, и среднее. Удобно? Конечно!

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

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

3.6. Установка надстроек

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

В первой фазе файлы, входящие в пакет надстройки
размещают на компьютере. В некоторых пакетах имеется программа
Setup.exe, которая выполняет это автоматически. В других файлы нужно
размещать самостоятельно. Объясним, как это нужно сделать. В состав
пакета обязательно входит файл с расширением XLA и несколько
вспомогательных файлов с расширениями DLL, HLP и др. Все вспомогательные
файлы должны  размещаться в следующих директориях:
C:\Windows, или  C:\Windows\System или
C:\Windows\System32. Основной файл (с расширением XLA) может, в
принципе, находится в любом месте, но две директории являются
предпочтительными.

Microsoft рекомендует размещать файлы XLA в директории
C:\Documents and Settings\User\Application
Data\Microsoft\AddIns, где User – это
имя, под которым происходит вход в систему. Тогда этот файл можно быстро
загрузить на второй фазе установки. Однако, если рабочие книги
используются на нескольких компьютерах, с разными именами
User, то, при смене компьютера, связи с
основным файлом надстройки теряются и их приходится

обновлять.

Поэтому мы предлагаем поместить файл
Chemometrics.xla в директорию, которая имеет одно и то же имя на
разных компьютерах, например C:\Program
Files\Chemometrics. Автоматическая установка надстройки
Chemometrics Add-In
описана здесь.

Вторая фаза проводится из открытой книги Excel. В версии
2003 нужно выполнить последовательность команд
Tools-Add-Ins, а в версии 2007 последовательность:
Office Button-Excel Options-Add-Ins-Go. В
появившемся окне (см Рис. 45) нужно нажать Browse
и найти в компьютере нужный файл XLA.  


Рис.45 Установка надстройки

После того, как надстройка установлена, ее можно
активировать и деактивировать устанавливая отметку напротив имени. Для
удаления надстройки нужно снять галочку против ее имени в окне
Add-Ins, закрыть Excel и удалить все ранее
установленные файлы с компьютера.  

Заключение

Мы рассмотрели основные приемы работы с матрицами в
системе Excel

За рамками пособия осталось еще много всего важного. Частично заполнить эти пробелы поможет пособие Проекционные методы в
системе Excel

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

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

  1. Выделяем диапазон Е3:Е8.
  2. В строку формул вводим следующую формулу: =C3:C8*D3:D8.
  3. Нажимаем одновременно клавиши: Ctrl + Shift + Enter. Промежуточные итоги посчитаны:

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

Если попытаться изменить данные в какой-либо ячейке столбца «К оплате» — ничего не выйдет. Формула в массиве защищает значения диапазона от изменений. На экране появляется соответствующая запись:

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

  1. Выделяем ячейку Е9 (напротив «Итого»).
  2. Вводим формулу вида: =СУММ(C3:C8*D3:D8).
  3. Нажимаем сочетание клавиш: Ctrl + Shift + Enter. Результат:

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

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

Рассмотрим ее синтаксис:

Функция НЕ

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

Функция NOT меняет значение своего аргумента. Так что, если логическое значение ИСТИНА, тогда оно возвращает ЛОЖЬ. И если логическое значение ЛОЖЬ, оно вернет ИСТИНА.

Это будет легче объяснить на некоторых примерах.

Структура функции НЕ имеет вид;

  = НЕ (логическое) 

НЕ Функциональный Пример 1

В этом примере представьте, что у нас есть головной офис в Лондоне, а затем много других региональных сайтов. Мы хотим отобразить слово «Да», если на сайте есть что-то, кроме Лондона, и «Нет», если это Лондон.

Функция NOT была вложена в логический тест функции IF ниже, чтобы сторнировать ИСТИННЫЙ результат.

  = ЕСЛИ (НЕ (B2 = "London"), "Да", "Нет") 

Это также может быть достигнуто с помощью логического оператора NOT <>. Ниже приведен пример.

  = ЕСЛИ (В2 <> "Лондон", "Да", "Нет") 

НЕ Функциональный Пример 2

Функция NOT полезна при работе с информационными функциями в Excel. Это группа функций в Excel, которые что-то проверяют и возвращают TRUE, если проверка прошла успешно, и FALSE, если это не так.

Например, функция ISTEXT проверит, содержит ли ячейка текст, и вернет TRUE, если она есть, и FALSE, если нет. Функция NOT полезна, потому что она может отменить результат этих функций.

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

Функция ISTEXT используется для проверки наличия текста. Это возвращает TRUE, если текст есть, поэтому функция NOT переворачивает это на FALSE. И если ИФ выполняет свой расчет.

  = ЕСЛИ (НЕ (ISTEXT (В2)), В2 * 5%, 0) 

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

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

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

​ что массив –​​ существующую формулу массива​ константа, а потом​ не Boston Crab​ входящие в формулу​ столбца, то надо​ Enter​Формулы массива​Перед вводом формулы всегда​Тип автомобиля​ массива. Вы также​ формулу массива.​ курс (ячейки B3–I3),​ значения в диапазоне​Урок подготовлен для Вас​ это не простое​Самое простое, что Вы​ это одно целое.​ в Excel?​ вторая.​ Meat умножаются на​ массива или добавлять​

​ выделить диапазон пустых​Вуаля!​в Excel -​ следует выбирать ячейки​Число проданных единиц​ можете попробовать:​Введите необходимую формулу.​ а затем складывает​ чисел, определенном верхней​ командой сайта office-guru.ru​ и в большинстве​ можете сделать с​ Если не выполнить,​Когда формула массива помещена​Например, из «​ ноль и суммируются​

​ новые строки-столбцы-ячейки в​ ячеек размером 2​

​Т.е. Excel произвел попарное​ это специальные формулы​ для результатов.​Цена за единицу​Правила изменения формул массива​В формулах массива используется​

​ массивом в Excel​ хотя бы одно​ в одну ячейку,​ «&A1&​ только нужные заказы.​ диапазон формулы массива​ строки на 8​ умножение элементов массивов​ для обработки данных​»Всегда» значит в 100​Итоги продаж​ (это может быть​ синтаксис обычных формул.​ сумму 53 184.​суммировать все​

Создание формулы массива для вычисления одного результата

​ B2:B5 и C2:C5​ из таких массивов.​ процентах случаев.​Ильина​ кропотливой работой)​ Они все начинаются​ В этом примере​

​n​Примечание:​ и создать новый.​ его. Для этого​ Excel не даст​ в Excel обычно​

​ час., 30 мин.​ объединяющую скобку?​ A10:H11 в нашем​вводим функцию транспонирования =ТРАНСП(​ и образовал новый​ Формулы массива делятся​Введите следующую формулу. Для​Седан​Удаление формулы массива (можно​ со знака равенства​ используется формула массива,​

​-е значения в диапазоне​

​Мы стараемся как​Прежде чем удалять старый​ достаточно выделить нужный​​ отредактировать массив и​​ не представляет особой​

​ 00 ч»;» 5​​Bagira​ случае)​ ​ массив стоимостей (в​ на две категории​ этого достаточно просто​5​ также нужно нажимать​ (=) и могут​ расположенная только в​ значений.​​ можно оперативнее обеспечивать​​ массив, скопируйте его​ массив и нажать​ выдаст следующее предупреждение:​ сложности. Здесь главное​ час., 30 мин.​: я так поняла,​Вспомните детство, школу, свою​в качестве аргумента функции​ памяти компьютера), а​

Создание формулы массива для вычисления нескольких результатов

​ — те, что​ начать ввод (со​2200​ клавиши Ctrl +​ содержать встроенные функции​ одной ячейке.​В программе Excel существует​ вас актуальными справочными​ формулу как текст,​

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

​ что тебе надо​ тетрадку по математике. ​ выделяем наш массив​ затем сложил все​ возвращают одно значение​ знака равенства), и​=C2:C11*D2:D11​

​ Shift + Ввод)​ Excel.​Нажмите клавиши CTRL+SHIFT+ВВОД.​ два типа формул​ материалами на вашем​ а затем используйте​

​ массива, то первое,​ редактирование комбинацией клавиш​* означает, что​решить систему уравнений.​​ На обороте тетради​

​ ячеек A1:B8​​ элементы этого нового​ и те, что​ формула появится в​Купе​Использование констант массива в​В приведенном ниже примере​Формула автоматически вставляется между​ массива: массива формулы​ языке. Эта страница​ ее в новом​.​​ что нужно сделать​​Ctrl+Shift+Enter​ первый из результатов​ этот символ так​ на обложке было​жмем​ массива.​ дают на выходе​ последней выбранной ячейке.​4​

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

​На рисунке ниже представлена​ – это выделить​.​

​ умножается на 60,​ механически не используются​ что? Таблица умножения​Ctrl + Shift +​

​Обратите внимание на фигурные​ целый набор (массив)​ Вы также можете​1800​

Попробуйте попрактиковаться

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

​ а второй -​ в решении, тут​ вот такого вида:​ Enter​ скобки, появившиеся в​ значений. Рассмотрим их​ ввести ее строке​Егоров​ полезными)​ каждого столбца, формула​​

​ значения и формулы​ содержать неточности и​ позволит сэкономить уйму​ складывает значения двух​ содержится массив. В​ т.е. возвращает массив,​ на 1. СУММ​​ иной подход.​При помощи формул массива​​и получаем «перевернутый​ формуле — отличительный​ на простых примерах. ​ формул:​

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

Константа это та же переменная, лишь не меняющая значение. Если значение переменной можно поменять в хоть какое время, то константа задается один раз и больше не изменяется. Наверняка, самая популярная константа – число Пи.

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

  • – это обыденный массив;
  • – это массив констант.

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

  • Имя – имя спектра;
  • Область – пространство, где данное имя будет доступно;
  • Примечание – комментарий. Текст, введенный тут, будет высвечиваться при выбирании имени массива из определенной для него области;
  • Спектр – сам массив в виде ссылки на спектр или массив констант «=».

Опосля наполнения формы, нажмите «OK».

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

О том, как их использовать рассказывается далее.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  1. Для удаления формулы массива нужно точно так же, как и в предыдущем случае, выделить курсором весь диапазон ячеек, в котором она находится. Затем нажать на кнопку Delete на клавиатуре.
  2. После этого формула будет удалена со всей области. Теперь в неё можно будет вводить любые данные.

Назначение значений массиву

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

Пример

Добавьте кнопку и добавьте следующую функцию.

Private Sub Constant_demo_Click()
   Dim arr(5)
   arr(0) = "1"           'Number as String
   arr(1) = "VBScript"    'String
   arr(2) = 100 		   'Number
   arr(3) = 2.45 		   'Decimal Number
   arr(4) = #10/07/2013#  'Date
   arr(5) = #12.45 PM#    'Time
  
   msgbox("Value stored in Array index 0 : " & arr(0))
   msgbox("Value stored in Array index 1 : " & arr(1))
   msgbox("Value stored in Array index 2 : " & arr(2))
   msgbox("Value stored in Array index 3 : " & arr(3))
   msgbox("Value stored in Array index 4 : " & arr(4))
   msgbox("Value stored in Array index 5 : " & arr(5))
End Sub

Когда вы выполняете вышеуказанную функцию, она производит следующий вывод.

Filter

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

СинтаксисПараметры и Описание

  • Inputstrings — обязательный параметр. Этот параметр соответствует массиву строк для поиска.
  • Значение — требуемый параметр. Этот параметр соответствует строке для поиска по параметру inputstrings.
  • Include — необязательный параметр. Это логическое значение, которое указывает, следует ли возвращать подстроки, которые включают или исключают.
  • Compare — Необязательный параметр. Этот параметр описывает, какой метод сравнения строк должен использоваться.
  • = vbBinaryCompare — выполняет двоичное сравнение
  • 1 = vbTextCompare — выполняет текстовое сравнение

пример

Добавьте кнопку и добавьте следующую функцию.

Private Sub Constant_demo_Click()
   Dim a,b,c,d as Variant
   a = array("Red","Blue","Yellow")
   b = Filter(a,"B")
   c = Filter(a,"e")
   d = Filter(a,"Y")
  
   For each x in b
      msgbox("The Filter result 1: " & x)
   Next
  
   For each y in c
      msgbox("The Filter result 2: " & y)
   Next
  
   For each z in d
      msgbox("The Filter result 3: " & z)
   Next
End Sub

Когда вы выполняете вышеуказанную функцию, она производит следующий вывод.p

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

Split

Функция Split возвращает массив, который содержит определенное количество значений, разделенных на основе разделителя.

СинтаксисПараметры и Описание

  • Выражение — требуемый параметр. Строковое выражение, которое может содержать строки с разделителями.
  • Разделитель — необязательный параметр. Параметр, который используется для преобразования в массивы на основе разделителя.
  • Count — необязательный параметр. Количество подстрок, которые нужно вернуть, и если указано как -1, то возвращаются все подстроки.
  • Compare — Необязательный параметр. Этот параметр указывает, какой метод сравнения следует использовать.
  • = vbBinaryCompare — выполняет двоичное сравнение
  • 1 = vbTextCompare — выполняет текстовое сравнение

пример

Добавьте кнопку и добавьте следующую функцию.

Private Sub Constant_demo_Click()
   ' Splitting based on delimiter comma '$'
   Dim a as Variant
   Dim b as Variant
   
   a = Split("Red $ Blue $ Yellow","$")
   b = ubound(a)
   
   For i = 0 to b
      msgbox("The value of array in " & i & " is :"  & a(i))
   Next
End Sub

Когда вы выполняете вышеуказанную функцию, она производит следующий вывод.

Функция, которая возвращает массив, содержащий указанное количество значений. Разделить на разделитель.

2.8. Критическая ошибка в Excel 2003

В Excel 2003 функции TREND и
LINEST при определенных
условиях дают неверный результат.

Так происходит когда одновременно:

  • среднее значение по каждой переменной в матрице
    предикторов X равно нулю;

  • среднее значение отклика Y
    не равно нулю.

На показан как раз такой
случай: средние значения по всем столбцам матрицы Xc
равны нулю, а среднее по столбцу Yc отлично от нуля..

Пример 
 


Рис.37 Ошибка в регрессионных функциях Excel
2003

Ситуацию можно исправить, применяя функцию
TREND к
центрированным значениям отклика, с последующей коррекцией результата.
Для этого можно использовать формулу
=TREND(Yc-ym,
Xc)+ym, применение которой показано на том же рисунке.

Удивительно, но эта ошибка не была замечена
пользователями. Однако в новой версии 2007 она исправлена.  

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  1. Для удаления формулы массива нужно точно так же, как и в предыдущем случае, выделить курсором весь диапазон ячеек, в котором она находится. Затем нажать на кнопку Delete на клавиатуре.
  2. После этого формула будет удалена со всей области. Теперь в неё можно будет вводить любые данные.

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

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

  1. Выделяем диапазон Е3:Е8.
  2. В строку формул вводим следующую формулу: =C3:C8*D3:D8.
  3. Нажимаем одновременно клавиши: Ctrl + Shift + Enter. Промежуточные итоги посчитаны:

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

Если попытаться изменить данные в какой-либо ячейке столбца «К оплате» — ничего не выйдет. Формула в массиве защищает значения диапазона от изменений. На экране появляется соответствующая запись:

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

  1. Выделяем ячейку Е9 (напротив «Итого»).
  2. Вводим формулу вида: =СУММ(C3:C8*D3:D8).
  3. Нажимаем сочетание клавиш: Ctrl + Shift + Enter. Результат:

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

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

Рассмотрим ее синтаксис:

Заключение.

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

Однако не стоит забывать, что такие формулы применяют тогда, когда надо стразу применить один и тот же расчет к множеству данных ОДНОГО типа. Если значения в диапазоне разного типа, то формула может и не сработать. В то же время — это мощное оружие в руках пользователя, и применять его для решения мелких задач все равно что из пушки стрелять по воробьям. Кроме этого, не забывайте, что для ввода формул массива обязательно требуется комбинация «Ctrl + Shift + Enter».

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

На этом наш урок завершен. Всем хорошего дня и успехов в работе! Если вас заинтересовал материал, то встретимся на занятиях в нашем учебном центре для еще более углубленного обучения возможностям Excel на практике.

Понравилась статья? Поделиться с друзьями:
Самоучитель Брин Гвелл
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: