Может ли функция не иметь аргумента excel

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

Функция может:

• не иметь ни одного аргумента;
• иметь один аргумент;
• иметь фиксированное количество аргументов;
• иметь неограниченное количество аргументов;
• иметь необязательные аргументы.

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

=СЛЧИС()

Если функция имеет больше одного аргумента, то все они отделяются друг от друга точкой с запятой. В функции НАИБОЛЬШИЙ, которая возвращает n-ое по величине значение из множества данных, используются два аргумента. Первый из них задает диапазон значений, а второй – значение n. Приведенная ниже формула возвращает третье по величине значение ячеек диапазона А1:А100:

=НАИБОЛЬШИЙ(А1:А100;3)

Примечание

Символы разделителей определяются в окне региональных стандартов Windows. Если в этом окне установлен русский формат, разделителем списка служит точка с запятой, а десятичным разделителем – запятая. Если же установлен формат США, разделителем списка будет запятая, а десятичным разделителем – точка. Переключите формат в Windows, и вы увидите, что символы разделителей в формулах автоматически изменятся. Кроме разделителей, установленный формат влияет на отображение дат, времени, денежных значений и т.д.

В помощь пользователям, работавшим в Lotus 1-2-3

Если вам приходилось работать в одной из версий Lotus 1-2-3 (или Quattro Pro компании Corel), то вы, наверное, помните, что в этих электронных таблицах перед именем функции должен стоять символ @. Программа Excel способна распознать функцию и без отличительного символа.

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

В качестве оператора ссылки на диапазон в Lotus 1-2-3 и Quattro Pro используются две точки (..), например A1..A10. Excel позволяет использовать такой оператор при вводе формулы. Однако как только формула будет введена, Excel заменит его собственным оператором ссылки на диапазон – двоеточием (:).

Использование имен в качестве аргументов

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

=СУММ(А1:А20)

Если диапазон А1:А20 имеет имя (например, Продажи), то оно может быть использовано вместо ссылки на диапазон:

=СУММ(Продажи)

Использование столбцов и строк в качестве аргументов

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

=СУММ(В:В)

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

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

Использование литералов в качестве аргументов

Литерал – это числовое значение или текстовая строка, которые указаны непосредственно в выражении. Например, функция КОРЕНЬ, которая возвращает значение квадратного корня, имеет один аргумент. В следующем примере в качестве аргумента функции используется литерал:

=КОРЕНЬ(225)

В некоторых случаях использование литерального аргумента лишает формулу всякого смысла. Эта формула всегда возвращает одно и то же значение, поэтому ее можно просто заменить цифрой 15. Использовать такую формулу можно разве что в случае, когда вы хотите дать понять, что 15 – это квадратный корень из 225.

Использование литералов оправдано, если формула имеет два и более аргументов. Функция ЛЕВСИМВ, имеющая два аргумента, возвращает крайние левые символы текстовой строки, являющейся первым аргументом функции. Второй аргумент определяет количество возвращаемых символов. Если ячейка А1 содержит текст Бюджет, следующая формула возвращает первую букву, т.е. Б:

=ЛЕВСИМВ(А1;1)

Использование выражений в качестве аргументов

Excel позволяет использовать в качестве аргументов выражения. Такие выражения следует рассматривать как формулы в формуле. Если в качестве аргумента используется выражение, Excel сначала вычисляет значение этого выражения, а затем использует его в качестве аргумента. Рассмотрим следующий пример:

=КОРЕНЬ((А1^2)+(А2^2))

В этой формуле используется функция КОРЕНЬ, единственным аргументом которой выступает следующее математическое выражение:

(А1^2)+(А2^2)

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

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

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

=SIN(РАДИАНЫ(В9))

Функция РАДИАНЫ преобразует градусы в радианы – единицы измерения, которые используются во всех тригонометрических функциях Excel. Если в ячейке В9 задан угол в градусах, функция РАДИАНЫ преобразует градусы в радианы, а затем функция SIN вычисляет синус этого угла.

Формула может содержать не более 64 уровней вложенных функций. Вряд ли вы когда-либо напишете такое длинное выражение.

Использование массивов в качестве аргументов

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

=ИЛИ(А1={1;3;5})

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

=ЕСЛИ(А1=1;ИСТИНА;ЕСЛИ(А1=3;ИСТИНА;ЕСЛИ(А1=5;ИСТИНА;ЛОЖЬ)))

В начало

Полезное

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

  • Функции делают простые, но громоздкие формулы легкими в использовании. Например, вам необходимо вычислить сумму ряда ячеек от A1 до A100. Очень неудобно будет вводить формулу =A1+A2+...+A100. Для такого случая есть альтернатива — функция СУММ(), в которую надо просто занести интервал A1:A100.
  • Функции позволяют нам включать в рабочие книги сложные математические вычисления без необходимости написания заново формул для них. Например нахождение синуса угла.
  • Функции позволяют вам включать в проект и служебную информацию. Например, с помощью функции =ИНФОРМ() вы сможете увидеть версию Excel или операционной системы и многое другое.

Каждая функция имеет следующую базовую структуру: ФУНКЦИЯ (аргумент1; аргумент2; …).

ФУНКЦИЯ — это непосредственное название функции, которое всегда вводится заглавными буквами. При этом вам не обязательно использовать заглавные буквы при вводе функции, Excel автоматически произведет необходимую конвертацию.

Элементы, которые вводятся в скобках и разделяются точкой с запятой, — это аргументы функции. Аргументы — это входные значения функции — информация, необходимая для работы функции. В отношении аргументов функции делятся на два типа:

  • Без аргументов — множество функций вообще не требуют аргументов для работы. Например, функция =СЕГОДНЯ() возвращает текущую дату и не требует ввода аргументов.
  • С одним или более аргументом — большинство функций требуют как минимум 1 аргумент, а некоторые из них даже 9 или 10 аргументов. Аргументы делятся на обязательные и опциональные. Обязательные аргументы должны присутствовать в необходимом количестве в скобках, иначе Excel сгенерирует ошибку. Опциональные, или необязательные, аргументы вы можете использовать по мере необходимости.

Рассмотрим пример. Функция LOG() вычисляет значение логарифма по заданному основанию. Вот ее структура: LOG (число; основание), число — это необходимое значение для вычисления логарифма; основание — необязательный параметр, указывает основание, по которому происходит вычисление логарифма (по умолчанию параметр равен 10).

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

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

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

  1. Арифметические значения
  2. Выражения
  3. Ссылки на ячейки
  4. Имена диапазонов
  5. Массивы
  6. Результаты работы других функций

Функция работает на основе входных данных и возвращает результат. Например, на рис. 4.1 находится пример расчета общей стоимости инвестиций на основе периодических затрат и процентной ставки с помощью функции =БС. Выходные значения — процентная ставка, количество периодов и периодические затраты — задаются с помощью ячеек D2, D3 и D4.

Рис. 4.1. Пример работы функции

Рис. 4.1. Пример работы функции

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

  1. Вы можете задавать название функции маленькими или заглавными буквами. Excel всегда конвертирует названия к заглавным буквам.
  2. Всегда заключайте аргументы функции в скобки.
  3. Всегда разделяйте аргументы точками с запятой (вы можете при этом использовать пробелы для улучшения читаемости формул).
  4. Вы всегда можете использовать функцию как аргумент для другой функции. Например, функция =СРЗНАЧ(СУММ(A1:A10);СУММ(В1:В10)) вычисляет сумму чисел в двух колонках и возвращает среднее значение из двух сумм.

При вводе функции Excel автоматически предложит вам завершить ввод одной из функций, начинающейся на вводимые буквы (см. рис. 4.2).

Рис. 4.2. Автоматическое завершение ввода функции

Рис. 4.2. Автоматическое завершение ввода функции

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

Рис. 4.3. Подсказка с указанием текущего аргумента для ввода

Рис. 4.3. Подсказка с указанием текущего аргумента для ввода

После нажатия на Tab или непосредственного ввода функции, при вводе первой раскрывающейся кавычки Excel выведет на экран подсказку в виде синтаксиса функции. Текущий аргумент для ввода будет выделен жирным шрифтом — см. рис. 4.3. Когда вы закончите ввод аргумента и введете точку с запятой, Excel переместит подсказку на следующий аргумент.

Лабораторная посуда химика — тоже вещь непостоянная. Сколько радости и слез дарит она, пока чей-нибудь неуклюжий локоть не превратит ее одним движением в осколки — осколки надежд… А ведь когда-то стекло было предметом роскоши, и такая хрупкость считалась его достоинством. Однажды, как гласит легенда, к римскому императору Тиберию явился некто и принес подарок. Это была изготовленная им небьющаяся бутылка, и гость продемонстрировал ее уникальные свойства, ударив оземь. Император с восторгом проделал то же самое — бутылка не разбилась. И тогда, уточнив у гостя, нет ли еще у кого-нибудь такой игрушки, он тут же повелел несчастного казнить. Так исчез секрет получения первого ударопрочного стекла. Сегодня буквально из стекла строятся умопомрачительные небоскребы, сверкают витрины торговых центров, стены, двери и даже пол с потолком. Стекло повсюду! Многое можно сделать из этого прозрачного материала. Главное, как сохранить хрупкую красоту?

Zemanta Related Posts ThumbnailФункции представляют собой зависимость одного элемента (результата) от других элементов (аргументов,.. тех, что внутри :-)). Это как бы понятно. Для того чтобы использовать какую-либо функцию в Excel, следует ввести ее как формулу (нюансы описаны тут) или как часть формулы в ячейку рабочего листа.

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

Правила синтаксиса при записи функций

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

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

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

Функция Excel

Функция Excel

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

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

Например, в приведенной ниже формуле осуществляется суммирование значений в ячейках В2, В3, В4, В5 и Е7, причем часть ячеек — от В2 до В5, представлены как непрерывный диапазон.

Рассмотрим работу функции ОКРУГЛ(арг1;арг2), которая возвращает число, округленное до заданного количества знаков после запятой, и имеет два аргумента:

арг1 – адрес ячейки с числом (или само число), которое нужно округлить;

арг2 – количество цифр после запятой у числа после округления.
Чтобы округлить число 2,71828, находящееся в ячейке A1, с точностью до одного, двух или трех знаков после запятой и записать результаты вычислений соответственно в ячейки B1, C1 и D1, необходимо действовать следующим образом.

  1. Ввести число 2,71828 в ячейку A1.
  2. Ввести в ячейки B1, C1 и D1 формулы следующего вида:

=ОКРУГЛ(A1;1)

=ОКРУГЛ(A1;2)

=ОКРУГЛ(A1;3)

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

Например, просуммируем значения ячеек А1 и А2, предварительно округлив эти значения до двух десятичных знаков:

=СУММ(ОКРУГЛ(A1;2);ОКРУГЛ(A2;2))

Здесь функция ОКРУГЛ является вложенной аж два раза, но это не страшно, в формулах Excel можно использовать до семи уровней вложенности функций.

Стоит отметить, что в Excel существуют функции, которые не имеют аргументов. Примерами таких функций являются ПИ (возвращает значение числа π, округленное до 15 знаков) или СЕГОДНЯ (возвращает текущую дату). При использовании подобных функций следует в строке формул сразу после названия функции ставить пустые круглые скобки без аргументов. Другими словами, чтобы получить в ячейках значение числа p или текущую дату, следует ввести формулы такого вида:

=ПИ()

=СЕГОДНЯ()

Типы функций Excel

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

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

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

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

В Excel широко представлены Математические функции и некоторые я уже привел в примерах.

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

Excel для Microsoft 365 Excel для Microsoft 365 для Mac Excel для Интернета Excel 2021 Excel 2021 для Mac Excel 2019 Excel 2019 для Mac Excel 2016 Excel 2016 для Mac Excel 2013 Excel 2010 Excel 2007 Еще…Меньше

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

Пользовательские функции (как и макросы) записываются на языке программирования Visual Basic для приложений (VBA). Они отличаются от макросов двумя вещами. Во-первых, в них используются процедуры Function, а не Sub. Это значит, что они начинаются с оператора Function, а не Sub, и заканчиваются оператором End Function, а не End Sub. Во-вторых, они выполняют различные вычисления, а не действия. Некоторые операторы (например, предназначенные для выбора и форматирования диапазонов) исключаются из пользовательских функций. Из этой статьи вы узнаете, как создавать и применять пользовательские функции. Для создания функций и макросов используется редактор Visual Basic (VBE), который открывается в отдельном окне.

Предположим, что ваша компания предоставляет скидку в размере 10 % клиентам, заказавшим более 100 единиц товара. Ниже мы объясним, как создать функцию для расчета такой скидки.

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

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

Чтобы создать пользовательскую функцию DISCOUNT в этой книге, сделайте следующее:

  1. Нажмите клавиши ALT+F11 (или FN+ALT+F11 на Mac), чтобы открыть редактор Visual Basic, а затем щелкните Insert (Вставка) > Module (Модуль). В правой части редактора Visual Basic появится окно нового модуля.

  2. Скопируйте указанный ниже код и вставьте его в новый модуль.

    Function DISCOUNT(quantity, price)
       If quantity >=100 Then
         DISCOUNT = quantity * price * 0.1
       Else
         DISCOUNT = 0
       End If
     
     DISCOUNT = Application.Round(Discount, 2)
    End Function
    

Примечание: Чтобы код было более удобно читать, можно добавлять отступы строк с помощью клавиши TAB. Отступы необязательны и не влияют на выполнение кода. Если добавить отступ, редактор Visual Basic автоматически вставит его и для следующей строки. Чтобы сдвинуть строку на один знак табуляции влево, нажмите SHIFT+TAB.

Теперь вы готовы использовать новую функцию DISCOUNT. Закройте редактор Visual Basic, выделите ячейку G7 и введите следующий код:

=DISCOUNT(D7;E7)

Excel вычислит 10%-ю скидку для 200 единиц по цене 47,50 ₽ и вернет 950,00 ₽.

В первой строке кода VBA функция DISCOUNT(quantity, price) указывает, что функции DISCOUNT требуется два аргумента: quantity (количество) и price (цена). При вызове функции в ячейке листа необходимо указать эти два аргумента. В формуле =DISCOUNT(D7;E7) аргумент quantity имеет значение D7, а аргумент price — значение E7. Если скопировать формулу в ячейки G8:G13, вы получите указанные ниже результаты.

Рассмотрим, как Excel обрабатывает эту функцию. При нажатии клавиши ВВОД Excel ищет имя DISCOUNT в текущей книге и определяет, что это пользовательская функция в модуле VBA. Имена аргументов, заключенные в скобки (quantity и price), представляют собой заполнители для значений, на основе которых вычисляется скидка.

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

Оператор If в следующем блоке кода проверяет аргумент quantity и сравнивает количество проданных товаров со значением 100:

If quantity >= 100 Then
 DISCOUNT = quantity * price * 0.1
Else
 DISCOUNT = 0
End If

Если количество проданных товаров не меньше 100, VBA выполняет следующую инструкцию, которая перемножает значения quantity и price, а затем умножает результат на 0,1:

Discount = quantity * price * 0.1

Результат хранится в виде переменной Discount. Оператор VBA, который хранит значение в переменной, называется оператором назначения, так как он вычисляет выражение справа от знака равенства и назначает результат имени переменной слева от него. Так как переменная Discount называется так же, как и процедура функции, значение, хранящееся в переменной, возвращается в формулу листа, из которой была вызвана функция DISCOUNT.

Если значение quantity меньше 100, VBA выполняет следующий оператор:

Discount = 0

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

Discount = Application.Round(Discount, 2)

В VBA нет функции округления, но она есть в Excel. Чтобы использовать округление в этом операторе, необходимо указать VBA, что метод (функцию) Round следует искать в объекте Application (Excel). Для этого добавьте слово Application перед словом Round. Используйте этот синтаксис каждый раз, когда нужно получить доступ к функции Excel из модуля VBA.

Пользовательские функции должны начинаться с оператора Function и заканчиваться оператором End Function. Помимо названия функции, оператор Function обычно включает один или несколько аргументов. Однако вы можете создать функцию без аргументов. В Excel доступно несколько встроенных функций (например, СЛЧИС и ТДАТА), в которых нет аргументов.

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

Количество ключевых слов VBA, которые можно использовать в пользовательских функциях, меньше числа, используемого в макросах. Настраиваемые функции не могут выполнять другие задачи, кроме возврата значения в формулу на этом или в выражение, используемом в другом макросе или функции VBA. Например, пользовательские функции не могут изменять размер окна, редактировать формулу в ячейке, а также изменять шрифт, цвет или узор текста в ячейке. Если в процедуру функции включить такой код действия, функция возвращает #VALUE! ошибку «#ВЫЧИС!».

Единственное действие, которое может выполнять процедура функции (кроме вычислений), — это отображение диалогового окна. Чтобы получить значение от пользователя, выполняющего функцию, можно использовать в ней оператор InputBox. Кроме того, с помощью оператора MsgBox можно выводить сведения для пользователей. Вы также можете использовать настраиваемые диалоговые окна (UserForms), но эта тема выходит за рамки данной статьи.

Даже простые макросы и пользовательские функции может быть сложно понять. Чтобы сделать эту задачу проще, добавьте комментарии с пояснениями. Для этого нужно ввести перед текстом апостроф. Например, ниже показана функция DISCOUNT с комментариями. Благодаря подобным комментариями и вам, и другим будет впоследствии проще работать с кодом VBA. Так, код будет легче понять, если потребуется внести в него изменения.

Пример функции VBA с примечаниями

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

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

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

Для использования настраиваемой функции должна быть открыта книга, содержащая модуль, в котором она была создана. Если книга не открыта, вы получите #NAME? при попытке использования функции. Если вы ссылались на функцию в другой книге, ее имя должно предшествовать названию книги, в которой она находится. Например, при создании функции DISCOUNT в книге Personal.xlsb и вызове ее из другой книги необходимо ввести =personal.xlsb!discount(),а не просто =discount().

Чтобы вставить пользовательскую функцию быстрее (и избежать ошибок), ее можно выбрать в диалоговом окне «Вставка функции». Пользовательские функции доступны в категории «Определенные пользователем»:

Диалоговое окно "Вставка функции"

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

  1. Создав нужные функции, выберите Файл > Сохранить как.

    В Excel 2007 нажмите кнопку Microsoft Office, а затем щелкните Сохранить как.

  2. В диалоговом окне Сохранить как откройте раскрывающийся список Тип файла и выберите значение Надстройка Excel. Сохраните книгу с запоминающимся именем, таким как MyFunctions, в папке AddIns. Она будет автоматически предложена в диалоговом окне Сохранить как, поэтому вам потребуется только принять расположение, используемое по умолчанию.

  3. Сохранив книгу, выберите Файл > Параметры Excel.

    В Excel 2007 нажмите кнопку Microsoft Office и щелкните Параметры Excel.

  4. В диалоговом окне Параметры Excel выберите категорию Надстройки.

  5. В раскрывающемся списке Управление выберите Надстройки Excel. Затем нажмите кнопку Перейти.

  6. В диалоговом окне Надстройки установите флажок рядом с именем книги, как показано ниже.

    Диалоговое окно "Надстройки"

  1. Создав нужные функции, выберите Файл > Сохранить как.

  2. В диалоговом окне Сохранить как откройте раскрывающийся список Тип файла и выберите значение Надстройка Excel. Сохраните книгу с запоминающимся именем, таким как MyFunctions.

  3. Сохранив книгу, выберите Сервис > Надстройки Excel.

  4. В диалоговом окне Надстройки нажмите кнопку «Обзор», найдите свою надстройку, нажмите кнопку Открыть, а затем установите флажок рядом с надстройкой в поле Доступные надстройки.

После этого пользовательские функции будут доступны при каждом запуске Excel. Если вы хотите добавить его в библиотеку функций, вернимся в Visual Basic редактора. Если вы заглянуть в Visual Basic редактора Project проводника под заголовком VBAProject, вы увидите модуль с именем файла надстройки. У надстройки будет расширение XLAM.

Именованный модуль в vbe

Дважды щелкните модуль в Project Explorer, чтобы вывести код функций. Чтобы добавить новую функцию, установите точку вставки после оператора End Function, который завершает последнюю функцию в окне кода, и начните ввод. Вы можете создать любое количество функций, и они будут всегда доступны в категории «Определенные пользователем» диалогового окна Вставка функции.

Эта статья основана на главе книги Microsoft Office Excel 2007 Inside Out, написанной Марком Доджем (Mark Dodge) и Крейгом Стинсоном (Craig Stinson). В нее были добавлены сведения, относящиеся к более поздним версиям Excel.

Дополнительные сведения

Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.

Нужна дополнительная помощь?

    1. .Аргументы функций

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

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

Если при описании
синтаксиса функции за аргументом следует
многоточие (…), то это означает, что
может быть несколько аргументов такого
же типа. Некоторые функции могут иметь
до 30 аргументов, при условии, что общее
количество символов в формуле не
превышает 1024. Например, синтаксис функции
МАКС имеет следующий вид:

МАКС(число1;число2;
…)

Любая из следующих
формул является допустимой:

МАКС(26)

МАКС(26;31)

МАКС(26;31;29)

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

Многие имена
аргументов в описании синтаксиса функции
намекают на то, какую информацию следует
задавать в качестве фактического
значения аргумента. Например, у функции
ОКРУГЛ(число; количество_цифр) первый
аргумент должен быть числом и второй
также должен быть числом.

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

Использование
аргументов

Аргументом может
быть все, что доставляет значение
требуемого типа. Например, функция СУММ,
которая суммирует свои аргументы, может
воспринять от 1 до 30 аргументов. Функции
СУММ могут быть переданы аргументы
любого из следующих четырех видов, лишь
бы они доставляли число или числа:

– значение, которое
является числом, например: СУММ(1;10;100);

– формула, которая
своим результатом имеет число, например:
СУММ(0,5+0,5;СРЗНАЧ(5;5);10^2).
Функции, которые используются в качестве
аргументов других функций, как в
предшествующем примере, называются
вложенными функциями. В этом примере
функция СРЗНАЧ
является аргументом функции СУММ.
Уровень вложенности функций в формулах
может достигать семи;

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

СУММ(A1;A2)

СУММ(A1:A5)

Второй пример
эквивалентен формуле СУММ(A1;A2;A3;A4;A5).
Преимущество использования интервала
состоит в том, что аргумент A1:A5
считается за один аргумент, в то время
как А1, А2, А3,
А4, А5
считаются
за пять аргументов. Если требуется
сложить более 30 чисел, то придется
использовать интервалы, потому что
функция не может иметь более 30 аргументов;

– имя, которое
ссылается на значение, формулу, ячейку
или интервал ячеек, содержащие числа
или формулы, доставляющие числа, например:
СУММ(Основание;
Приращение).

Типы аргументов.
Аргументами
функций могут быть любые из следующих
объектов.

Числа.
Примерами чисел являются 5,003, 0, 150,286 и
-30,05. Числа без десятичной запятой
называются целыми. Примерами целых
являются 5, 0, 150, и -30. Числа могут иметь
до 15 значащих цифр.

Текст.
Примерами текстов являются «а»,
«Слово», «знак/пунктуации» и
«» (пустой текст). Текстовые значения,
используемые в формулах, должны быть
заключены в двойные кавычки. Если сам
текст содержит двойные кавычки, то их
следует удваивать. Например, чтобы
определить длину (в символах) текста «в
«доброе» старое время», можно
использовать формулу:

ДЛСТР(«в
«»доброе»» старое время»)

Текстовые значения
могут иметь до 32000 символов, считая
двойные кавычки. Текстовая константа,
которая не содержит символов, записывается
так: «» и называется «пустой
текст».

Примечание.
Если текст, используемый в качестве
аргумента, не заключен в двойные кавычки,
то Microsoft
Excel
предполагает,
что это имя, и пытается подставить вместо
него значение, на которое имя ссылается.
Если текст без кавычек не является
именем, и, следовательно, не имеет
значения, Microsoft
Excel
вернет значение ошибки #ИМЯ?.

Логические
значения.

Логическими значениями являются ИСТИНА
и ЛОЖЬ. Логическими аргументами могут
быть также выражения, такие, как B10>20,
значениями которых являются значения
ИСТИНА или ЛОЖЬ.

Значения ошибки.
Значениями ошибки являются #ДЕЛ/0!,
#Н/Д, #ИМЯ?, #ПУСТО!, #ЧИСЛО!, #ССЫЛКА!

и #ЗНАЧ!.

Ссылки.
Примерами
ссылок являются $А$10,
A10, $A10, A$10, R1C1

или R[10]C[-10].
Ссылки могут указывать на отдельные
ячейки, интервалы ячеек или множественные
выделения ячеек и могут быть относительными,
абсолютными или смешанными. Если ссылка
используется в качестве аргумента,
который должен быть числом, текстом,
логическим значением или значением
ошибки, то в качестве фактического
аргумента используется содержимое
ячейки, определяемой ссылкой.

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

СУММ((E5:E8;E10:E18);
СРЗНАЧ(A1:A5))

Массивы.
Массивы позволяют управлять тем, как
аргументы и функции вводятся в ячейки.
Использование массивов позволяет
упростить разработку некоторых формул
рабочего листа и позволяет экономить
память. В Microsoft
Excel определены
два типа массивов: диапазоны массива и
диапазоны констант. Диапазоном массива
называется непрерывный диапазон ячеек,
использующих общую формулу; диапазон
констант представляет собой набор
констант, используемых в качестве
аргументов функций.

Использование
точек с запятой в списке аргументов

Отдельные аргументы
должны быть разделены точками с запятой,
но при этом не должно быть лишних точек
с запятой. Если точка с запятой используется
только для того, чтобы отметить место
аргумента, а сам аргумент не указывается,
то Microsoft
Excel
подставляет значение по умолчанию для
этого аргумента, если только аргумент
не является обязательным. Например,
если ввести (;арг2;арг3) в качестве списка
аргументов для функции с тремя аргументами,
то Microsoft
Excel
подставит подходящее значение вместо
арг1. Если ввести (арг1;;), то будут
подставлены подходящие значения вместо
арг2 и арг3.

Для тех функций,
которые считают количество аргументов
до вычисления, лишние точки с запятой
будут учитываться при подсчете числа
аргументов и, следовательно, будут
влиять на способ вычисления значения
функции. Например, СРЗНАЧ(1;2;3;4;5)
равно 3, но СРЗНАЧ(;;1;2;3;4;5)
равно 2,14.

Для большинства
аргументов значение, подставляемое
вместо опущенного аргумента, это 0, ЛОЖЬ
или «» (пустой текст), в зависимости
от того, каков должен быть тип аргумента.
Для опущенного ссылочного аргумента
значением по умолчанию обычно является
активная ячейка или выделение.

Соседние файлы в папке Справочные материалы

  • #
  • #
  • #
  • #

Понравилась статья? Поделить с друзьями:
  • Может ли функция excel сама быть аргументом для другой функции
  • Может ли функция excel не иметь аргументов тест
  • Может ли функция excel не иметь аргументов да нет
  • Может ли интернет браузер загрузить web страницу созданную с помощью ms word
  • Может ли в файле подготовленном программой microsoft excel содержаться несколько листов