Функция - это предустановленная формула в Excel и Google Таблицах, предназначенная для выполнения определенных вычислений в ячейке, в которой она находится.
Информация в этой статье относится к Excel 2019, Excel 2016, Excel 2013 и Google Sheets.
Синтаксис функции и аргументы
Синтаксис функции относится к структуре функции и включает в себя имя функции, скобки, разделители-запятые и аргументы. Как и все формулы, функции начинаются со знака равенства (=), за которым следует имя функции и ее аргументы:
- Имя функции сообщает Excel, какие вычисления выполнять.
- Аргументы заключаются в круглые или круглые скобки и сообщают функции, какие данные использовать в этих вычислениях.
Например, одной из наиболее часто используемых функций в Excel и Google Таблицах является функция СУММ:
=СУММ (D1: D6)
В этом примере:
- Имя сообщает Excel, что нужно сложить данные в выбранных ячейках.
- Аргумент (D1:D6) добавляет содержимое диапазона ячеек D1 в D6.
Вложенные функции в формулах
Полезность встроенных функций Excel можно расширить, вложив одну или несколько функций внутрь другой функции в формуле. Эффект вложенных функций заключается в том, чтобы разрешить выполнение нескольких вычислений в одной ячейке рабочего листа.
Для этого вложенная функция действует как один из аргументов основной или самой внешней функции. Например, в следующей формуле функция СУММ вложена в функцию ОКРУГЛ.
=ОКРУГЛ(СУММА (D1: D6), 2)
При оценке вложенных функций Excel сначала выполняет самую глубокую или самую внутреннюю функцию, а затем продвигается наружу. В результате приведенная выше формула теперь будет выглядеть так:
- Найти сумму значений в ячейках от D1 до D6.
- Округлите результат до двух знаков после запятой.
Начиная с Excel 2007 разрешено до 64 уровней вложенных функций. В предыдущих версиях было разрешено семь уровней вложенных функций.
Рабочий лист и пользовательские функции
В Excel и Google Sheets есть два класса функций:
- Функции рабочего листа
- Пользовательские или определяемые пользователем функции
Функции рабочего листа встроены в программу, например функции SUM и ROUND, рассмотренные выше. С другой стороны, пользовательские функции - это функции, написанные или определенные пользователем.
В Excel пользовательские функции написаны на встроенном языке программирования: Visual Basic for Applications или сокращенно VBA. Функции создаются с помощью редактора Visual Basic, который устанавливается вместе с Excel.
Пользовательские функции Google Sheets написаны на Apps Script, форме JavaScript, и создаются с помощью редактора скриптов, расположенного в разделе Toolsменю.
Пользовательские функции обычно, но не всегда, принимают некоторую форму ввода данных и возвращают результат в ячейке, где он находится.
Ниже приведен пример определяемой пользователем функции, которая вычисляет скидки покупателя, записанные в коде VBA. Исходные пользовательские функции, или UDF, опубликованы на веб-сайте Microsoft:
Функция Скидка(количество, цена)
Если количество >=100 Тогда
Скидка=количествоцена0.1
Другое
Скидка=0
End If
Discount=Application. Round(Discount, 2)End Function
Ограничения
В Excel пользовательские функции могут возвращать значения только в те ячейки, в которых они расположены. Они не могут выполнять команды, изменяющие операционную среду Excel, такие как изменение содержимого или форматирование ячейки.
В базе знаний Microsoft перечислены следующие ограничения для пользовательских функций:
- Вставка, удаление или форматирование ячеек на листе.
- Изменение значения данных в другой ячейке.
- Перемещение, переименование, удаление или добавление листов в рабочую книгу.
- Изменение любых параметров среды, таких как режим расчета или виды экрана.
- Установка свойств или выполнение большинства методов.
Определяемые пользователем функции и макросы в Excel
Хотя Google Таблицы в настоящее время не поддерживают их, в Excel макросы представляют собой серию записанных шагов, которые автоматизируют повторяющиеся задачи рабочего листа. Примеры задач, которые можно автоматизировать, включают форматирование данных или операции копирования и вставки.
Несмотря на то, что оба используют язык программирования Microsoft VBA, они отличаются двумя аспектами:
- UDF выполняют вычисления, а макросы выполняют действия. Как упоминалось выше, пользовательские функции не могут выполнять операции, влияющие на среду программы, в то время как макросы могут.
-
В окне редактора Visual Basic их можно различить, потому что:
UDF начинаются с оператора Function и заканчиваются оператором End Function..
- Макросы начинаются с оператора Sub и заканчиваются оператором End Sub.