Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Часть 2. Основы офисного программирования.doc
Скачиваний:
14
Добавлен:
01.05.2025
Размер:
4 Мб
Скачать
☆

8.3.3. Использование функций

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

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

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

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

Если функция вычисляется для значений нескольких аргументов, то они перечисляются через разделитель – точку с запятой (;) (например: выражение =СРЗНАЧ(10; 11; 12; 13; 14) вычисляет среднее значение из всех перечисленных в скобках значений) или указывается диапазон ячеек, значения которых должны рассматриваться как аргументы функции (выражение =МИН(B1:B15) дает минимальное значение из всех значений, содержащихся в заданном диапазоне ячеек).

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

Вызовы функций в формуле могут быть вложенными (то есть в качестве аргумента какой-либо функции может быть использовано значение другой функции соответствующего типа).

8.3.4. Создание пользовательских функций рабочего листа

Возможности Excel можно расширить с помощью VBA, используя функции, разработанные пользователем.

Функции рабочего листа, определенные разработчиком, – это процедуры Function, включенные в модуль проекта. Эти функции можно использовать в формулах, хранящихся в ячейках рабочих листов, точно так же, как и стандартные функции Excel. В частности, если при вычислениях используются сложные формулы, их можно реализовать в виде функций, записывая в ячейках вместо этих формул вызовы соответствующих функций с параметрами. Чтобы функции были доступны в рамках проекта, их следует описать с ключевым словом Public. Функции, описанные в одной рабочей книге, можно использовать в других рабочих книгах, установив ссылки на них.

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

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

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

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

Public Function Надбавка(ByVal CurrentCell As Range) As Single

Dim WR As Byte, _

RN As Byte, _

F As Single

RN = CurrentCell.Row

WR = Worksheets("Список").Cells(RN, 2).Value

F = Worksheets("Коэффициенты").Cells(WR + 1, 2).Value

Надбавка = F * Worksheets("Коэффициенты").Cells(9, 2).Value

End Function

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

ФИО

Надбавка

Иванов

150,00

Петров

110,00

Сидоров

125,00

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