Перейти к содержимому

Как создать свою функцию в excel

  • автор:

Полные сведения о формулах в Excel

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

Ваш браузер не поддерживает видео. Установите Microsoft Silverlight, Adobe Flash Player или Internet Explorer 9.

Важно: Вычисляемые результаты формул и некоторые функции листа Excel могут несколько отличаться на компьютерах под управлением Windows с архитектурой x86 или x86-64 и компьютерах под управлением Windows RT с архитектурой ARM. Подробнее об этих различиях.

Важно: В этой статье мы обсудим XLOOKUP и ВПР, которые похожи. Попробуйте использовать новую функцию ПРОСМОТРX, улучшенную версию функции ВПР, которая работает в любом направлении и по умолчанию возвращает точные совпадения, что делает ее проще и удобнее в использовании, чем предшественницу.

Создание формулы, ссылающейся на значения в других ячейках

  1. Выделите ячейку.
  2. Введите знак равенства » ocpAlert»>Примечание: Формулы в Excel начинаются со знака равенства.

выбор ячейки

Выберите ячейку или введите ее адрес в выделенной.

следующая ячейка

  • Введите оператор. Например, для вычитания введите знак «минус».
  • Выберите следующую ячейку или введите ее адрес в выделенной.

    Просмотр формулы

    При вводе в ячейку формула также отображается в строке формул.

    Строка формул

    Просмотр строки формул

      Чтобы увидеть формулу в строке формул, выберите ячейку.

    Ввод формулы, содержащей встроенную функцию

    диапазон

    1. Выделите пустую ячейку.
    2. Введите знак равенства «=», а затем — функцию. Например, чтобы получить общий объем продаж, нужно ввести «=СУММ».
    3. Введите открывающую круглую скобку «(«.
    4. Выделите диапазон ячеек, а затем введите закрывающую круглую скобку «)».

    Скачивание книги «Учебник по формулам»

    Мы подготовили для вас книгу Начало работы с формулами, которая доступна для скачивания. Если вы впервые пользуетесь Excel или даже имеете некоторый опыт работы с этой программой, данный учебник поможет вам ознакомиться с самыми распространенными формулами. Благодаря наглядным примерам вы сможете вычислять сумму, количество, среднее значение и подставлять данные не хуже профессионалов.

    Подробные сведения о формулах

    Чтобы узнать больше об определенных элементах формулы, просмотрите соответствующие разделы ниже.

    Части формулы Excel

    Формула также может содержать один или несколько таких элементов, как функции, ссылки, операторы и константы.

    Части формулы

    1. Функции. Функция ПИ() возвращает значение числа пи: 3,142.

    2. Ссылки. A2 возвращает значение ячейки A2.

    3. Константы. Числа или текстовые значения, введенные непосредственно в формулу, например 2.

    4. Операторы. Оператор ^ (крышка) применяется для возведения числа в степень, а * (звездочка) — для умножения.

    Использование констант в формулах Excel

    Константа представляет собой готовое (не вычисляемое) значение, которое всегда остается неизменным. Например, дата 09.10.2008, число 210 и текст «Прибыль за квартал» являются константами. выражение или его значение константами не являются. Если формула в ячейке содержит константы, а не ссылки на другие ячейки (например, имеет вид =30+70+110), значение в такой ячейке изменяется только после редактирования формулы. Обычно лучше помещать такие константы в отдельные ячейки, где их можно будет легко изменить при необходимости, а в формулах использовать ссылки на эти ячейки.

    Использование ссылок в формулах Excel

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

      Стиль ссылок A1 По умолчанию Excel использует стиль ссылок A1, в котором столбцы обозначаются буквами (от A до XFD, не более 16 384 столбцов), а строки — номерами (от 1 до 1 048 576). Эти буквы и номера называются заголовками строк и столбцов. Для ссылки на ячейку введите букву столбца, и затем — номер строки. Например, ссылка B2 указывает на ячейку, расположенную на пересечении столбца B и строки 2.

    Ячейка или диапазон Использование
    Ячейка на пересечении столбца A и строки 10 A10
    Диапазон ячеек: столбец А, строки 10-20. A10:A20
    Диапазон ячеек: строка 15, столбцы B-E B15:E15
    Все ячейки в строке 5 5:5
    Все ячейки в строках с 5 по 10 5:10
    Все ячейки в столбце H H:H
    Все ячейки в столбцах с H по J H:J
    Диапазон ячеек: столбцы А-E, строки 10-20 A10:E20

    1. Ссылка на лист «Маркетинг». 2. Ссылка на диапазон ячеек от B1 до B10 3. Восклицательный знак (!) отделяет ссылку на лист от ссылки на диапазон ячеек.

    Примечание: Если указанный лист содержит пробелы или числа, необходимо добавить апострофы (‘) до и после имени листа, например =’123′! A1 или =’Январь доход’! A1.

      Относительные ссылки . Относительная ссылка в формуле, например A1, основана на относительной позиции ячейки, содержащей формулу, и ячейки, на которую указывает ссылка. При изменении позиции ячейки, содержащей формулу, изменяется и ссылка. При копировании или заполнении формулы вдоль строк и вдоль столбцов ссылка автоматически корректируется. По умолчанию в новых формулах используются относительные ссылки. Например, при копировании или заполнении относительной ссылки из ячейки B2 в ячейку B3 она автоматически изменяется с =A1 на =A2. Скопированная формула с относительной ссылкой
    • При помощи трехмерных ссылок можно создавать ссылки на ячейки на других листах, определять имена и создавать формулы с использованием следующих функций: СУММ, СРЗНАЧ, СРЗНАЧА, СЧЁТ, СЧЁТЗ, МАКС, МАКСА, МИН, МИНА, ПРОИЗВЕД, СТАНДОТКЛОН.Г, СТАНДОТКЛОН.В, СТАНДОТКЛОНА, СТАНДОТКЛОНПА, ДИСПР, ДИСП.В, ДИСПА и ДИСППА.
    • Трехмерные ссылки нельзя использовать в формулах массива.
    • Трехмерные ссылки нельзя использовать вместе с оператор пересечения (один пробел), а также в формулах с неявное пересечение.

    Что происходит при перемещении, копировании, вставке или удалении листов . Нижеследующие примеры поясняют, какие изменения происходят в трехмерных ссылках при перемещении, копировании, вставке и удалении листов, на которые такие ссылки указывают. В примерах используется формула =СУММ(Лист2:Лист6!A2:A5) для суммирования значений в ячейках с A2 по A5 на листах со второго по шестой.

    • Вставка или копирование . Если вставить листы между листами 2 и 6, Microsoft Excel прибавит к сумме содержимое ячеек с A2 по A5 на новых листах.
    • Удаление . Если удалить листы между листами 2 и 6, Microsoft Excel не будет использовать их значения в вычислениях.
    • Перемещение . Если листы, находящиеся между листом 2 и листом 6, переместить таким образом, чтобы они оказались перед листом 2 или после листа 6, Microsoft Excel вычтет из суммы содержимое ячеек с перемещенных листов.
    • Перемещение конечного листа . Если переместить лист 2 или 6 в другое место книги, Microsoft Excel скорректирует сумму с учетом изменения диапазона листов.
    • Удаление конечного листа . Если удалить лист 2 или 6, Microsoft Excel скорректирует сумму с учетом изменения диапазона листов.
    Ссылка Значение
    R[-2]C относительная ссылка на ячейку, расположенную на две строки выше в том же столбце
    R[2]C[2] Относительная ссылка на ячейку, расположенную на две строки ниже и на два столбца правее
    R2C2 Абсолютная ссылка на ячейку, расположенную во второй строке второго столбца
    R[-1] Относительная ссылка на строку, расположенную выше текущей ячейки
    R Абсолютная ссылка на текущую строку

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

    Вы всегда можете задать вопрос эксперту в Excel Tech Community или получить поддержку в сообществах.

    Как создать свою функцию в excel

    Argument ‘Topic id’ is null or empty

    Сейчас на форуме

    © Николай Павлов, Planetaexcel, 2006-2023
    info@planetaexcel.ru

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

    ООО «Планета Эксел»
    ИНН 7735603520
    ОГРН 1147746834949
    ИП Павлов Николай Владимирович
    ИНН 633015842586
    ОГРНИП 310633031600071

    Создание пользовательских функций в Excel

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

    Пользовательская функция — это общий термин, который является взаимозаменяемым с определяемой пользователем функцией. Оба условия применяются к надстройкам VBA, COM и Office.js. В документации по надстройкам Office термин «настраиваемая функция » используется при обращении к пользовательским функциям, использующим API JavaScript для Office.

    Обратите внимание, что настраиваемые функции доступны в Excel на следующих платформах.

    • Office для Windows
      • Подписка на Microsoft 365
      • Розничный бессрочный Office 2016 и более поздних версий

      В настоящее время пользовательские функции Excel не поддерживаются в следующих приложениях:

      • Office для iPad
      • корпоративные бессрочные версии Office 2019 или более ранних версий

      Ниже на анимированном изображении показано, как рабочая книга вызывает функцию, созданную вами с помощью JavaScript или TypeScript. В этом примере пользовательская функция =MYFUNCTION.SPHEREVOLUME рассчитывает объем сферы.

      Приведенный ниже код определяет пользовательскую функцию =MYFUNCTION.SPHEREVOLUME .

      /** * Returns the volume of a sphere. * @customfunction * @param radius */ function sphereVolume(radius) < return Math.pow(radius, 3) * 4 * Math.PI / 3; >

      Как определена пользовательская функция в коде

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

      Файл Формат файла Описание
      ./src/functions/functions.js
      или
      ./src/functions/functions.ts
      JavaScript
      или
      TypeScript
      Содержит код, который определяет пользовательские функции.
      ./src/functions/functions.html HTML Предоставляет со ссылкой на файл JavaScript, который определяет пользовательские функции.
      ./manifest.xml XML Указывает расположение нескольких файлов, которые используются пользовательскими функциями, например JavaScript, JSON и HTML-файлов. А также среду выполнения, которую должны использовать пользовательские функции, расположение файлов области задач и командных файлов.

      Генератор Yeoman для надстроек Office предлагает несколько проектов пользовательских функций Excel . Рекомендуется выбрать тип проекта Excel Custom Functions с помощью общей среды выполнения и типа скрипта JavaScript.

      Файл скрипта

      Файл скрипта (./src/functions/functions.js или ./src/functions/functions.ts) содержит код, определяющий пользовательские функции, и комментарии, определяющие функцию.

      Приведенный ниже код определяет пользовательскую функцию add . Примечания кода используются для создания файла метаданных JSON с описанием пользовательской функции для Excel. Обязательный комментарий @customfunction объявлен первым, чтобы указать, что это пользовательская функция. Затем объявляются еще два параметра: first и second , за которыми следуют их свойства description . Наконец, дается описание returns . Дополнительные сведения о том, какие комментарии являются обязательными для вашей пользовательской функции, см. в статье Автоматическое создание метаданных JSON для пользовательских функций.

      /** * Adds two numbers. * @customfunction * @param first First number. * @param second Second number. * @returns The sum of the two numbers. */ function add(first, second)

      Файл манифеста

      Файл манифеста XML для надстройки, определяющий пользовательские функции (./manifest.xml в проекте, созданном генератором Yeoman для надстроек Office), выполняет несколько задач.

      • Определяет пространство имен для пользовательских функций. Пространство имен добавляется к пользовательским функциям, чтобы клиенты могли определить ваши функции в рамках надстройки.
      • Использует и , уникальные для манифеста пользовательских функций. Эти элементы содержат сведения о расположении JavaScript, JSON и HTML-файлов.
      • Указывает, какую среду выполнения использовать для пользовательской функции. Рекомендуется всегда использовать общую среду выполнения, если нет особой потребности в использовании другой среды, так как общая позволяет делиться данными между функциями и областью задач.

      Полный рабочий манифест из примера надстройки можно просмотреть в одном из репозиториев Github для примеров надстроек Office.

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

      • Указать URL-адреса, соответствующие среде.
      • Настроить значения метаданных, такие как DisplayName , и метки в Resources для указания среды, чтобы конечные пользователи могли определить соответствующую среду надстройки, загруженной без публикации.
      • Настроить пользовательские функции namespace , чтобы указать среду, если ваша надстройка определяет пользовательские функции.

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

      Совместное редактирование

      Excel для Интернета и Windows, подключенный к подписке Microsoft 365, дает конечным пользователям возможность совместно редактировать данные в Excel. Если книга пользователя использует пользовательскую функцию, то коллеге этого пользователя по совместному редактированию будет предложено загрузить надстройку с соответствующими пользовательскими функциями. После загрузки этой надстройки обоими пользователями эта пользовательская функция будет предоставлять результаты обоим пользователям с помощью совместного редактирования.

      Дополнительные сведения о совместном редактировании см. в статье О совместном редактировании в Excel.

      Дальнейшие действия

      Хотите попробовать пользовательские функции? Ознакомьтесь с простым кратким руководством по началу работы с пользовательскими функциями или с более глубоким руководством по пользовательским функциям, если вы этого еще не сделали.

      Еще одно простое средство ознакомления с пользовательскими функциями — Script Lab, надстройка, в которой можно экспериментировать с пользовательскими функциями прямо в Excel. Вы можете попробовать создать собственные пользовательские функции или поиграть с готовыми примерами.

      См. также

      • Сведения о программе для разработчиков Microsoft 365
      • Наборы обязательных элементов пользовательских функций
      • Правила именования пользовательских функций
      • Создание пользовательских функций, совместимых с функциями XLL, определенными пользователями
      • Настройка надстройки Office для использования общей среды выполнения
      • Среды выполнения в надстройках Office

      Совместная работа с нами на GitHub

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

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

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

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

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

      1. Открыть редактор языка VBA с помощью комбинации клавиш ALT+F11.
      2. В открывшемся окне выбрать пункт Insert и подпункт Module, как показано на рисунке: VBA.
      3. Новый модуль будет создан автоматически, при этом в основной части окна редактора появится окно для ввода кода: Новый модуль.
      4. При необходимости можно изменить название модуля.
      5. В отличие от макросов, код которых должен находиться между операторами Sub и End Sub, пользовательские функции обозначают операторами Function и End Function соответственно. В состав пользовательской функции входят название (произвольное имя, отражающее ее суть), список параметров (аргументов) с объявлением их типов, если они требуются (некоторые могут не принимать аргументов), тип возвращаемого значения, тело функции (код, отражающий логику ее работы), а также оператор End Function. Пример простой пользовательской функции, возвращающей названия дня недели в зависимости от указанного номера, представлен на рисунке ниже: Function и End Function.
      6. После ввода представленного выше кода необходимо нажать комбинацию клавиш Ctrl+S или специальный значок в левом верхнем углу редактора кода для сохранения.
      7. Чтобы воспользоваться созданной функцией, необходимо вернуться к табличному редактору Excel, установить курсор в любую ячейку и ввести название пользовательской функции после символа «=»:

      UserFunctExample.

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

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

      1. Создайте новый макрос (нажмите комбинацию клавиш Alt+F8), в появившемся окне введите произвольное название нового макроса, нажмите кнопку Создать: Создайте новый макрос.
      2. В результате будет создан новый модуль с заготовкой, ограниченной операторами Sub и End Sub. Sub и End Sub.
      3. Введите код, как показано на рисунке ниже, указав требуемое количество переменных (в зависимости от числа аргументов пользовательской функции): Введите код макроса.
      4. В качестве «Macro» должна быть передана текстовая строка с названием пользовательской функции, в качестве «Description» — переменная типа String с текстом описания возвращаемого значения, в качестве «ArgumentDescriptions» — массив переменных типа String с текстами описаний аргументов пользовательской функции.
      5. Для создания описания пользовательской функции достаточно один раз выполнить созданный выше модуль. Теперь при вызове пользовательской функции (или SHIFT+F3) отображается описание возвращаемого результата и переменной: Description.

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

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

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

      Вид исходной таблицы данных:

      Пример 1.

      Каждому работнику полагается 24 выходных дня с выплатой S=N*24/(365-n), где:

      • N – суммарная зарплата за год;
      • n – число праздничных дней в году.

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

      Создадим пользовательскую функцию.

      Public Function Otpusknye(summZp As Long , holidays As Long ) As Long
      If IsNumeric(holidays) = False Or IsNumeric(summZp) = False Then
      Otpusknye = «Введены нечисловые данные»
      Exit Function
      ElseIf holidays Otpusknye = «Отрицательное число или 0»
      Exit Function
      Else
      Otpusknye = summZp * 24 / (365 — holidays)
      End If
      End Function

      Сохраним функцию и выполним расчет с ее использованием:

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

      Otpusknye.

      Калькулятор расчета калорий в Excel

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

      Вид исходной таблицы данных:

      Пример 2.

      Для расчета используем формулу Миффлина — Сан Жеора, которую запишем в коде пользовательской функции с учетом пола участника. Код примера:

      Public Function CaloriesPerDay(sex As String , age As Integer , weight As Integer , height As Integer ) As Integer
      If sex = «женский» Then
      CaloriesPerDay = 10 * weight + 6.25 * height — 5 * age — 161
      ElseIf sex = «мужской» Then
      CaloriesPerDay = 10 * weight + 6.25 * height — 5 * age + 5
      Else : CaloriesPerDay = 0
      End If
      End Function

      Проверки корректности введенных данных упущены для упрощения кода. Если пол не определен, функция вернет результат 0 (нуль).

      Пример расчета для первого участника:

      В результате использования автозаполнения получим следующие результаты:

      CaloriesPerDay.

      Пользовательская функция для решения квадратных уравнений в Excel

      Пример 3. Создать функцию, которая возвращает результаты решения квадратных уравнений для указанных в ячейках коэффициентах a, b и c уравнения типа ax2+bx+c=0.

      Вид исходной таблицы:

      Пример 3.

      Для решения создадим следующую пользовательскую функцию:

      создадим следующую пользовательскую функцию.

      Найдем корни первого уравнения:

      Выполним расчеты для остальных уравнений. Полученные результаты:

      SquareEquation.

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

      • Создать таблицу
      • Форматирование
      • Функции Excel
      • Формулы и диапазоны
      • Фильтр и сортировка
      • Диаграммы и графики
      • Сводные таблицы
      • Печать документов
      • Базы данных и XML
      • Возможности Excel
      • Настройки параметры
      • Уроки Excel
      • Макросы VBA
      • Скачать примеры
  • Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *