Как создать пользовательскую функцию в Microsoft Excel

Оглавление:

Как создать пользовательскую функцию в Microsoft Excel
Как создать пользовательскую функцию в Microsoft Excel

Видео: Как создать пользовательскую функцию в Microsoft Excel

Видео: Как создать пользовательскую функцию в Microsoft Excel
Видео: Что такое бинарный файл прошивки? 2024, Май
Anonim

Microsoft Excel имеет множество встроенных функций, таких как СУММ, ВПР и ВЛЕВО. Когда вы начнете использовать Excel для более сложных задач, вы можете обнаружить, что вам нужна функция, которой не существует. Вот тут-то и пригодятся кастомные функции! Из этой статьи вы узнаете, как создавать собственные функции в Microsoft Excel.

Шаги

259250 1
259250 1

Шаг 1. Откройте книгу Excel

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

259250 2
259250 2

Шаг 2. Нажмите Alt + F11. (Windows) или Fn + ⌥ Opt + F11 (Mac).

Откроется редактор Visual Basic.

259250 3
259250 3

Шаг 3. Щелкните меню «Вставка» и выберите «Новый модуль»

Это открывает окно модуля на правой панели редактора.

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

259250 4
259250 4

Шаг 4. Создайте заголовок вашей функции

В первой строке вы назовете функцию и определите наш диапазон. Замените «FunctionName» именем, которое вы хотите присвоить своей пользовательской функции. Функция может иметь столько параметров, сколько вы хотите, и их типы могут быть любыми базовыми данными Excel или типами объектов, такими как Range:

Функция FunctionName (param1 As type1, param2 As type2) As return Type

Вы можете думать о параметрах как о «операндах», над которыми будет действовать ваша функция. Например, когда вы используете SIN (45) для вычисления синуса 45 градусов, 45 будет принято в качестве параметра. Затем код вашей функции будет использовать это значение для вычисления чего-то еще и представления результата

259250 5
259250 5

Шаг 5. Добавьте код функции

Убедитесь, что вы используете значения, указанные в параметрах, назначьте результат имени функции и закройте функцию с помощью «End Function». Обучение программированию на VBA или на любом другом языке может занять некоторое время и подробное руководство. Однако функции обычно имеют небольшие блоки кода и используют очень мало возможностей языка. Вот некоторые полезные элементы:

  • Блок If, который позволяет выполнить часть кода только при выполнении условия. Обратите внимание на элементы в блоке кода If: условие IF THEN code ELSE code END IF. Ключевое слово Else вместе со второй частью кода необязательно:

    Функция Результат курса (оценка как целое число) в виде строки, если оценка> = 5, то CourseResult = "Approved" Else CourseResult = "Rejected" End If End Function

  • Блок Do, который выполняет часть кода Пока или Пока не будет выполнено условие. В приведенном ниже примере кода обратите внимание на элементы DO code LOOP WHILE / UNTIL condition. Также обратите внимание на вторую строку, в которой объявлена переменная. Вы можете добавлять переменные в свой код, чтобы использовать их позже. Переменные действуют как временные значения внутри кода. Наконец, обратите внимание на объявление функции как BOOLEAN, что является типом данных, который допускает только значения TRUE и FALSE. Этот метод определения того, является ли число простым, далеко не самый оптимальный, но я оставил его таким, чтобы код было легче читать.

    Функция IsPrime (значение как целое число) как логическое Dim i как целое число i = 2 IsPrime = True Do If value / i = Int (value / i) Then IsPrime = False End If i = i + 1 Loop While i <value And IsPrime = Функция True End

  • Блок For выполняет часть кода указанное количество раз. В следующем примере вы увидите элементы FOR переменная = нижний предел TO верхний предел кода NEXT. Вы также увидите добавленный элемент ElseIf в операторе If, который позволяет вам добавлять дополнительные параметры в код, который должен быть выполнен. Кроме того, объявление функции и переменной результат как Long. Тип данных Long допускает значения, намного превышающие Integer:

    Общедоступная функция Factorial (значение как целое число) As Long Dim result As Long Dim i As Integer If value = 0 Then result = 1 ElseIf value = 1 Then result = 1 Else result = 1 For i = 1 To value result = result * i Next Конец Если Факториал = результат Конец Функция

259250 6
259250 6

Шаг 6. Закройте редактор Visual Basic

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

259250 7
259250 7

Шаг 7. Введите вашу функцию

Сначала щелкните ячейку, в которую вы хотите ввести функцию. Затем щелкните панель функций в верхней части Excel (та, с которой слева находится fx) и введите = FUNCTIONNAME (), заменив FUNCTIONNAME именем, которое вы присвоили своей пользовательской функции.

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

259250 8
259250 8

Шаг 8. Введите параметры в круглые скобки

Например, = NumberToLetters (A4). Параметры могут быть трех типов:

  • Постоянные значения, вводимые непосредственно в формуле ячейки. В этом случае строки должны быть заключены в кавычки.
  • Ссылки на ячейки, такие как B6, или ссылки на диапазоны, такие как A1: C3. Параметр должен иметь тип данных Range.
  • Другие функции вложены в вашу функцию. Ваша функция также может быть вложена в другие функции. Пример: = Факториал (МАКС (D6: D8)).
259250 9
259250 9

Шаг 9. Нажмите ↵ Enter. или ⏎ Вернитесь, чтобы запустить функцию.

Результаты отобразятся в выбранной ячейке.

Видео - с помощью этой службы некоторая информация может быть передана YouTube

подсказки

  • Используйте имя, которое еще не определено как имя функции в Excel, иначе вы сможете использовать только одну из функций.
  • Каждый раз, когда вы пишете блок кода внутри такой структуры управления, как If, For, Do и т. Д., Убедитесь, что вы делаете отступ для блока кода, используя несколько пробелов или клавишу Tab. Это упростит понимание вашего кода, и вам будет намного проще выявлять ошибки и вносить улучшения.
  • Если вы не знаете, как написать код для функции, см. Как написать простой макрос в Microsoft Excel.
  • Функция может не требовать всех параметров для вычисления результата. В этом случае вы можете использовать ключевое слово Optional перед именем параметра в заголовке функции. Вы можете использовать IsMissing (имя_параметра) внутри кода, чтобы определить, было ли параметру присвоено значение или нет.
  • В Excel есть множество встроенных функций, и большинство вычислений можно выполнять, используя их по отдельности или в комбинации. Обязательно ознакомьтесь со списком доступных функций, прежде чем начинать кодировать свои собственные. Выполнение может быть быстрее, если вы используете встроенные функции.

Предупреждения

  • Функции, используемые в этой статье, ни в коем случае не являются лучшим способом решения связанных проблем. Они использовались здесь только для объяснения использования управляющих структур языка.
  • VBA, как и любой другой язык, помимо Do, If и For, имеет несколько других структур управления. Они были объяснены здесь только для того, чтобы прояснить, какие вещи можно делать внутри исходного кода функции. Существует множество онлайн-руководств, в которых вы можете изучить VBA.
  • Из-за мер безопасности некоторые люди могут отключать макросы. Убедитесь, что вы сообщили своим коллегам, что в книге, которую вы им отправляете, есть макросы, и что они могут быть уверены, что не повредят их компьютеры.

Рекомендуемые: