Функции vba excel. Основы VBA: встроенные и пользовательские функции. Создание функции в VBA с одним аргументом

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

Выделив таблицу и нажав на значок «Промежуточные итоги», Excel выдаст окно:

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

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

Ниже располагается 3 чекбокса (флага):

  • Заменить текущие итоги – если установлен, то итоги, подведенные ранее, будут заменены, если нет, то к старым результатам добавятся новые;
  • Конец страницы между группами – если установлен, то при выводе на печать каждая отдельная группа с итогом будет располагаться на новом листе;
  • Итоги под данными – если установлен, то результат будет располагаться в конце группы, если нет, то в начале.

Кнопка «Убрать все» удаляет всю структуру данных.

Так преобразовалась таблица, после применения к ней описываемой функции:

Добавленные новые ячейки содержат в себе математическую функцию ПРОМЕЖУТОЧНЫЕ.ИТОГИ() , ознакомиться с которой можно в статье про математические функции - Математические функции Excel .

Механизм подведения промежуточных итогов имеет общие черты с другим более мощным инструментом приложения Excel –

В этой статье описаны синтаксис формулы и использование функции ПРОМЕЖУТОЧНЫЕ.ИТОГИ в Microsoft Excel.

Описание

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

Синтаксис

Аргументы функции ПРОМЕЖУТОЧНЫЕ.ИТОГИ описаны ниже.

    Номер_функции - обязательный аргумент. Число от 1 до 11 или от 101 до 111, которое обозначает функцию, используемую для расчета промежуточных итогов. Функции с 1 по 11 учитывают строки, скрытые вручную, в то время как функции с 101 по 111 пропускают такие строки; отфильтрованные ячейки всегда исключаются.

Номер_функции
(с включением скрытых значений)

Номер_функции
(с исключением скрытых значений)

Функция

ПРОИЗВЕД

СТАНДОТКЛОН

СТАНДОТКЛОНП

Примечания

    Если уже имеются формулы подведения итогов внутри аргументов "ссылка1;ссылка2;..." (вложенные итоги), эти вложенные итоги игнорируются, чтобы избежать двойного суммирования.

    Для констант "номер_функции" от 1 до 11 функция ПРОМЕЖУТОЧНЫЕ.ИТОГИ учитывает значения строк, скрытых с помощью команды Скрыть строки (меню Формат , подменю Скрыть или отобразить ) в группе Ячейки на вкладке Главная в настольном приложении Excel. Эти константы используются для получения промежуточных итогов с учетом скрытых и нескрытых чисел списка. Для констант "номер_функции" от 101 до 111 функция ПРОМЕЖУТОЧНЫЕ.ИТОГИ исключает значения строк, скрытых с помощью команды Скрыть строки . Эти константы используются для получения промежуточных итогов с учетом только нескрытых чисел списка.

    Функция ПРОМЕЖУТОЧНЫЕ.ИТОГИ исключает все строки, не включенные в результат фильтра, независимо от используемого значения константы "номер_функции".

    Функция ПРОМЕЖУТОЧНЫЕ.ИТОГИ применяется к столбцам данных или вертикальным наборам данных. Она не предназначена для строк данных или горизонтальных наборов данных. Так, при определении промежуточных итогов горизонтального набора данных с помощью значения константы "номер_функции" от 101 и выше (например, ПРОМЕЖУТОЧНЫЕ.ИТОГИ(109;B2:G2)), скрытие столбца не повлияет на результат. Однако на него повлияет скрытие строки при подведении промежуточного итога для вертикального набора данных.

Пример

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

Данные

Формула

Описание

Результат

ПРОМЕЖУТОЧНЫЕ.ИТОГИ(9;A2:A5)

Значение промежуточного итога диапазона ячеек A2:A5, полученное с использованием числа 9 в качестве первого аргумента.

ПРОМЕЖУТОЧНЫЕ.ИТОГИ(1;A2:A5)

Среднее значение промежуточного итога диапазона ячеек A2:A5, полученное с использованием числа 1 в качестве первого аргумента.

Примечания

В качестве первого аргумента функции ПРОМЕЖУТОЧНЫЕ.ИТОГИ необходимо использовать числовое значение (1–11, 101–111). Этот числовой аргумент используется для промежуточного итога значений (диапазонов ячеек, именованных диапазонов), указанных в качестве следующих аргументов.

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

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

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

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

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

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

  1. Отмечаем любую ячейку таблицы, переключаемся во вкладку “Данные”, находим раздел “Структура”, щелкаем по нему и в раскрывшемся перечне нажимаем по варианту “Промежуточный итог”.
  2. В итоге появится окно, где мы осуществим дальнейшие настройки согласно нашей задаче.
  3. Итак, нам требуется произвести расчет ежедневных продаж всех наименований продукции. Информация о дате продажи размещается в одноименном столбце. Исходя из этого, заполняем требуемые поля настроек.
  4. В результате проделанных действий в таблице будут отображены промежуточные итоги по группам (по датам). Напротив каждой группы можно увидеть значок минуса, при нажатии на который строки внутри нее сворачиваются.
  5. При желании можно убрать лишние данные из поля видимости, оставив только общий итог и промежуточные суммы. Нажатием кнопки “плюс” можно обратно развернуть строки внутри групп.

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

  1. Для начала отмечаем ячейку, где должен быть выведен итог подсчета. Далее нажимаем на значок «Вставить функцию» (fx ) рядом со строкой формул с левой стороны от нее.
  2. Откроется Мастер функций. Выбираем категорию “Полный алфавитный перечень”, находим из предложенного перечня функцию “ПРОМЕЖУТОЧНЫЕ.ИТОГИ”, ставим на нее курсор и нажимаем OK.
  3. Теперь нужно задать настройки функции. В поле «Номер_функции» указываем цифру, которой соответствует нужному варианту обработки информации. Всего опций одиннадцать:
  4. В поле «Ссылка 1» указываем координаты диапазона, для которого требуется просчитать итоги. Всего можно указать до 255 диапазонов. После введения координат первой ссылки, появится строка для добавления следующей. Прописывать координаты вручную не совсем удобно, к тому же, велика вероятность ошибиться. Поэтому просто ставим курсор в поле для ввода информации и затем левой кнопкой мыши отмечаем нужную область данных. Аналогичным образом можно добавить следующие ссылки, если потребуется. По завершении подтверждаем настройки нажатием кнопки OK.
  5. В итоге в ячейке с формулой будет выведен результат подсчета промежуточных итогов.

Примечание: Как и другие функции Эксель, использовать “ПРОМЕЖУТОЧНЫЕ.ИТОГИ” можно, не прибегая к помощи Мастера функций. Для этого в нужной ячейке вручную прописываем формулу, которая выглядит следующим образом.

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

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

Кстати, чтобы эффективнее работать с таблицами можете ознакомиться с нашим материалом .

Excel содержат большое количество информации. Часто просматривать и искать данные неудобно.

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

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

Обобщить несколько групп листа можно с помощью функции «Промежуточные итоги» .

Рассмотрим детальнее принцип работы этой функции и её реализацию Excel .

Синтаксис функции

В программе Excel опция отображается в виде ПРОМЕЖУТОЧНЫЕ.ИТОГИ (№; ссылка 1; ссылка 2; ссылка3;…;ссылка N ) , где номер – обозначение функции, ссылка – столбец, по которому подводится итог.

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

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

Синтаксис опции итогов указан в таблице:

Синтаксис

Действие

1-СРЗНАЧ

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

2-СЧЁТ

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

3-СЧЁТЗ

Подсчёт всех непустых аргументов.

4-МАКС

Показ максимального значения из определяемого набора чисел.

5-МИН

Показ минимального значения из определяемого набора чисел.

6-ПРОИЗВЕД

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

7-СТАНД ОТКЛОН

Анализ стандартного отклонения каждой выборки.

8-СТАД ОТКЛОН П

Анализ отклонения по общей совокупности данных.

9-СУММ

Возвращает сумму выбранных чисел.

10-ДИСП

Анализ выборочной дисперсии.

11-ДИСПР

Анализ общей дисперсии.

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

Пример реализации промежуточных итогов

Выполнение промежуточных итогов включает в себя такие операции:

  • Группировка данных;
  • Создание итогов;
  • Создание уровней для групп.

Группировка таблиц

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

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

1 С помощью мышки выделите столбцы А, В, С , как показано на рисунке ниже.

2 Теперь, сохраняя выделение, откройте на панели инструментов программы поле «Данные». Затем в правой части окна опций найдите иконку «Структура» и нажмите на неё;

3 В выпадающем списке нажмите на «Группировать» . Если вы ошиблись на этапе выделения нужных столбиков таблицы, нажмите на «Разгруппировать» и повторите операцию заново.

4 В новом окне выберите пункт «Строки» и нажмите на «ОК» ;

5 Теперь снова выделите столбцы А, В, С и проведите группировку, но уже по столбцам:

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

Создание промежуточных итогов

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

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

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

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

    Определите, для каких данных нужно проводит итоговые вычисления. В нашем случае это столбец «Размер». Его содержимое нужно отсортировать. Сортировка проводится от большего элемента к меньшему. Выделяем столбец «Размер» ;

    Найдите поле «Сортировка» и нажмите на него;

    В появившемся окне выберите пункт «Сортировать в диапазоне указных значений» и нажмите на клавишу «ОК» .

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

Теперь перейдем к реализации функции «Промежуточный итог»:

  • На панели инструментов программы откройте поле «Данные» ;
  • Выберите плитку «Структура» ;
  • Нажмите на «Промежуточные итоги» ;

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

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

    В писке «Добавить итоги по» вы выбираете тот столбец, в котором будут отображаться промежуточные итоги. Выбираем пункт «Размер» ;

    После настройки всех параметров еще раз перепроверьте введённые значения и нажмите на ОК .

В результате, на листе отобразится таблица в сгруппированном по размерам виде. Теперь очень легко посмотреть все заказанные вещи размера Small , Extra Large и так далее.

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

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

Итог для одежды с размером Small – 5 штук, для одежды с размером Extra Large – 2 штуки. Под таблицей показывается и общее количество элементов.

Уровни групп

Просматривать группы можно еще и по уровням.

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

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

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

Удаление итогов

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

Старые промежуточные итоги и тип их расчета будет неактуален, поэтому их нужно удалить.

Чтобы удалить итог, выберите вкладку «Данные» -«Структура» -«Промежуточные итоги» .

В открывшемся окне нажмите на клавишу «Убрать все» и подтвердите действие кнопкой «ОК» .

Рис.13 – удаление данных

Тематические видеоролики:

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

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

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

Создание промежуточных итогов в Excel

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

  1. Выделяем любую ячейку в таблице и переходим на вкладку «Данные» . Нажимаем по кнопке «Промежуточный итог» , которая расположена на ленте в блоке инструментов «Структура» .
  2. Откроется окно, в котором нужно настроить выведение промежуточных итогов. В нашем примере нам надо просмотреть сумму общей выручки по всем товарам за каждый день. Значение даты расположено в одноименной колонке. Поэтому в поле «При каждом изменении в» выбираем столбец «Дата» .
  3. В поле «Операция» выбираем значение «Сумма» , так как нам требуется подбить именно сумму за день. Кроме суммы доступны многие другие операции, среди которых можно выделить: количество, максимум, минимум, произведение.
  4. Так как значения выручки выводятся в столбец «Сумма выручки, руб.» , то в поле «Добавить итоги по» , выбираем именно его из списка столбцов таблицы.
  5. Кроме того, надо установить галочку, если ее нет, около параметра «Заменить текущие итоги» . Это позволит при пересчете таблицы, если вы проделываете с ней процедуру подсчетов промежуточных итогов не в первый раз, не дублировать многократно запись одних и тех же итогов.
  6. Если поставить галочку в пункте «Конец страницы между группами» , при печати каждый блок таблицы с промежуточными итогами будет распечатываться на отдельной странице.
  7. При добавлении галочки напротив значения «Итоги под данными» промежуточные итоги будут устанавливаться под блоком строк, сумма которых в них подбивается. Если же снять галочку, тогда они будут показываться над строками. Для большинства удобнее размещение под строками, но сам выбор сугубо индивидуален.
  8. По завершении жмем на «OK» .
  9. В результате промежуточные итоги появились в нашей таблице. Кроме того, все группы строк, объединенные одним промежуточным итогом, можно свернуть, просто кликнув по знаку «-« слева от таблицы напротив конкретной группы.
  10. Так можно свернуть все строки в таблице, оставив видимыми только промежуточные и общие итоги.
  11. Следует также отметить, что при изменении данных в строчках таблицы пересчет промежуточных итогов будет производиться автоматически.
  12. Формула «ПРОМЕЖУТОЧНЫЕ.ИТОГИ»

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

    1. Предварительно кликнув по ячейке, где будут выводиться промежуточные итоги, жмем указанную кнопку, которая расположена слева от строки формул.
    2. Откроется «Мастер функций» , где среди списка функций ищем пункт «ПРОМЕЖУТОЧНЫЕ.ИТОГИ» . Выделяем его и кликаем «OK» .
    3. В новом окне понадобится ввести аргументы функции. В строке «Номер функции» впишите номер одного из одиннадцати вариантов обработки данных, а именно:
      • 1 — среднее арифметическое значение;
      • 2 — количество ячеек;
      • 3 — количество заполненных ячеек;
      • 4 — максимальное значение в выбранном массиве данных;
      • 5 — минимальное значение;
      • 6 — произведение данных в ячейках;
      • 7 — стандартное отклонение по выборке;
      • 8 — стандартное отклонение по генеральной совокупности;
      • 9 — сумма;
      • 10 — дисперсия по выборке;
      • 11 — дисперсия по генеральной совокупности.
    4. В графе «Ссылка 1» укажите ссылку на тот массив ячеек, для которого вы хотите установить промежуточные значения. Допускается введение до четырех разрозненных массивов. При добавлении координат диапазона ячеек сразу появляется окно для возможности добавления следующего диапазона. Так как вводить диапазон вручную не во всех случаях удобно, можно просто кликнуть по кнопке, расположенной справа от формы ввода.
    5. Окно аргументов функции свернется и можно просто выделить курсором нужный массив данных. После того, как он автоматически занесется в форму, кликните по кнопке, размещенной справа.
    6. Опять появится окно аргументов функции. Если понадобилось добавить еще один или несколько массивов данных, воспользуйтесь тем же алгоритмом, который был описан выше. В обратном случае просто нажмите «OK» .
    7. Промежуточные итоги выделенного диапазона данных будут сформированы в ячейке, в которой находится формула.
    8. Синтаксис самой функции выглядит следующим образом: ПРОМЕЖУТОЧНЫЕ.ИТОГИ(номер_функции;адреса_массивов_ячеек) . В нашей ситуации формула будет выглядеть так: «ПРОМЕЖУТОЧНЫЕ.ИТОГИ(9;C2:C6)» . Эту функцию, используя этот синтаксис, можно вводить в ячейки и вручную, без вызова «Мастера функций» . Только важно не забывать перед формулой в ячейке ставить знак «=» .

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