Как сделать функцию в excel: Создание пользовательских функций в Excel
Создание пользовательских функций в Excel
Теперь вы готовы использовать новую функцию 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.
Создаем свою первую функцию в Excel
Что такое функция в VBA?
Функция написанная на VBA — это код, который выполняет вычисления и возвращает значение (или массив значений). Создав функцию вы можете использовать ее тремя способами:
- В качестве формулы на листе, где она может принимать аргументы и возвращать значения.
- Как часть вашей подпрограммы VBA. В процедуре Sub или внутри других функций.
- В правилах условного форматирования.
Хотя Excel уже содержит более 450 встроенных функций, но их тоже периодически не хватает. Иногда встроенные функции не могут выполнить то, что вы хотите сделать. Иногда для достижения результата необходимо создать огромную и сложную формулу, которая не понятна окружающим. В этом случае вы можете создать пользовательскую функцию, которую легко читать и использовать.
Обратите внимание, что пользовательские функции, созданные с помощью VBA, как правило значительно медленнее, чем встроенные функции. Следовательно, они лучше всего подходят для ситуаций, когда вы не можете получить результат, используя встроенные функции или вычислений не много и снижение производительности не критично.
Встроенными функциями можете пользоваться не только вы, но и ваши коллеги. Написанные вами функции будут появляться наряду с другими в диалоговом окне Мастер функций. Возможно вас пугает процесс создания функций, но спешу вас уверить, что это достаточно просто.
В чем отличие процедуры (Sub) от функции (Function)?
Основное отличие в том, что процедура (sub) используется для выполнения набора команд, и не призвана в отличие от функции (function) возвращать значение (или массив значений).
Для демонстрации приведем пример. Например есть ряд чисел от 1 до 100 и необходимо отделить четные от нечетных.
С помощью процедуры (sub) вы можете, к примеру, пройтись по ячейкам и выделить нечетные с помощью заливки. А функцию можно использовать в соседнем столбце и она вернет ИСТИНА или ЛОЖЬ в зависимости от того четное значение или нет. Т.е. вы не сможете изменить цвет заливки с помощью функции на листе.
Создание простой пользовательской функции в VBA
Давайте создадим простую пользовательскую функцию на VBA и посмотрим как там все работает.
Ниже представлен код функции, которая из текста оставляет только цифры, отбрасывая буквенные значения.
Function Цифры(Текст As String) As Long Dim i As Long Dim result As String For i = 1 To Len(Текст) If IsNumeric(Mid(Текст, i, 1)) Then result = result & Mid(Текст, i, 1) Next Цифры = CLng(result) End Function
Чтобы у вас все заработало, необходимо вставить данный код в модуль книги. Если вы не знаете как это сделать, то начните со статьи Как записать макрос в Excel.
Теперь посмотрим как функция работает, попробуем использовать ее на листе:
Прежде чем разбирать саму функцию отметим 2 приятных момента, которые появились после создания:
- Она стала доступна, как и любая другая встроенная функция (как создать скрытую функцию, расскажем далее).
- Когда вы ввели знак «=» и начинаете вводить имя функции, то Excel выводит все совпадения и показывает не только встроенные функции, но и пользовательские.
Разбираем функцию пошагово
Теперь давайте глубоко погрузимся и посмотрим, как эта функция создавалась. Начинается функция со строки
Function Цифры(Текст As String) As Long
Слово Function говорит о начале функции, далее идет ее название, в нашем случае Цифры.
- Имя функции не может содержать пробелов. Кроме того, вы не можете назвать функцию, если она сталкивается с именем ссылки на ячейку. Например, вы не можете назвать функцию ABC123, так как это имя также относится к ячейке в листе Excel.
- Вы не должны указывать на свою функцию то же имя, что и у существующей функции. Если вы это сделаете, Excel будет отдавать предпочтение встроенной функции.
- Вы можете использовать символ подчеркивания, если хотите разделить слова. Например, Сумма_Прописью является допустимым именем.
После названия в круглых скобках описываются аргументы функции. По аналогии со встроенными функциями Excel. В нашем случае используется единственный аргумент Текст. После названия аргумента мы указали As String, это означает, что наш аргумент — текстовое значение или ссылка на ячейку, содержащее текстовое значение. Если вы не укажете тип данных, VBA рассмотрит его как Variant (что означает, что вы можете использовать любой тип данных, VBA его определит самостоятельно).
Последняя часть первой строки As Long задает тип данных, которая возвращает функция. В нашем случае функция будет возвращать целые значения. Это также не обязательно.
Вторая и третья строка функции объявляет дополнительные внутренние переменные, которые мы будем использовать.
Dim i As Long Dim result As String
Переменную i мы буем использовать для перебора символов. А переменную result для хранения промежуточного результата функции.
Задача функции — пройти по всем символам переменной Текст и сохранить только те, что являются цифрами. Поэтому начнем цикл с 1 и до последнего символа.
For i = 1 To Len(Текст)
Len — функция, которая определяет количество символов.
Основная строка функции — это проверка является ли очередной символ текста цифрой и если да — то сохранение его в переменной result
If IsNumeric(Mid(Текст, i, 1)) Then result = result & Mid(Текст, i, 1)
Для этого нам потребуется функция IsNumeric — она возвращает True если текст — число и False в противном случае.
Функция Mid берет из аргумента Текст i-ый символ (значение 1, указывает что функция Mid берет только 1 символ)/
Функция Next — закрывает цикл For тут все понятно.
Цифры = CLng(result)
Этой строкой мы преобразовываем текстовую переменную result, которая содержит все цифры аргумента Текст, в числовое значение. И говорим какой результат должна вывести наша функция Цифры.
Последняя строка кода — End Function. Это обязательная строка кода, которая сообщает VBA, что код функции заканчивается здесь.
В приведенном выше коде описаны различные части типичной пользовательской функции, созданной в VBA. В следующих статьях мы более подробно разберем эти элементы, а также рассмотрим различные способы выполнения функции VBA в Excel.
Скачать
Примеры как создать пользовательскую функцию в Excel
В Excel содержится множество встроенных функций, которые могут быть использованы для инженерных, статистических, финансовых, аналитических и прочих расчетов. Иногда условия поставленных задач требуют более гибкого инструмента для поиска решения, тогда на помощь приходят макросы и пользовательские функции.
Пример создания своей пользовательской функции в Excel
Подобно макросам, пользовательские функции могут быть созданы с использованием языка VBA. Для реализации данной задачи необходимо выполнить следующие действия:
- Открыть редактор языка VBA с помощью комбинации клавиш ALT+F11.
- В открывшемся окне выбрать пункт Insert и подпункт Module, как показано на рисунке:
- Новый модуль будет создан автоматически, при этом в основной части окна редактора появится окно для ввода кода:
- При необходимости можно изменить название модуля.
- В отличие от макросов, код которых должен находиться между операторами Sub и End Sub, пользовательские функции обозначают операторами Function и End Function соответственно. В состав пользовательской функции входят название (произвольное имя, отражающее ее суть), список параметров (аргументов) с объявлением их типов, если они требуются (некоторые могут не принимать аргументов), тип возвращаемого значения, тело функции (код, отражающий логику ее работы), а также оператор End Function. Пример простой пользовательской функции, возвращающей названия дня недели в зависимости от указанного номера, представлен на рисунке ниже:
- После ввода представленного выше кода необходимо нажать комбинацию клавиш Ctrl+S или специальный значок в левом верхнем углу редактора кода для сохранения.
- Чтобы воспользоваться созданной функцией, необходимо вернуться к табличному редактору Excel, установить курсор в любую ячейку и ввести название пользовательской функции после символа «=»:
Встроенные функции Excel содержат пояснения как возвращаемого результата, так и аргументов, которые они принимают. Это можно увидеть на примере любой функции нажав комбинацию горячих клавиш SHIFT+F3. Но наша функция пока еще не имеет формы.
Чтобы задокументировать пользовательскую функцию, необходимо выполнить следующие действия:
- Создайте новый макрос (нажмите комбинацию клавиш Alt+F8), в появившемся окне введите произвольное название нового макроса, нажмите кнопку Создать:
- В результате будет создан новый модуль с заготовкой, ограниченной операторами Sub и End Sub.
- Введите код, как показано на рисунке ниже, указав требуемое количество переменных (в зависимости от числа аргументов пользовательской функции):
- В качестве «Macro» должна быть передана текстовая строка с названием пользовательской функции, в качестве «Description» — переменная типа String с текстом описания возвращаемого значения, в качестве «ArgumentDescriptions» — массив переменных типа String с текстами описаний аргументов пользовательской функции.
- Для создания описания пользовательской функции достаточно один раз выполнить созданный выше модуль. Теперь при вызове пользовательской функции (или SHIFT+F3) отображается описание возвращаемого результата и переменной:
Описания функций создавать не обязательно. Они необходимы в случаях, если пользовательские функции будут часто использоваться другими пользователями.
Примеры использования пользовательских функций, которых нет в Excel
Пример 1. Рассчитать сумму отпускных для каждого работника, проработавшего на предприятии не менее 12 месяцев, на основе суммы общей заработной платы и числа выходных дней в году.
Вид исходной таблицы данных:
Каждому работнику полагается 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 <= 0 Or summZp <= 0 Then
Otpusknye = "Отрицательное число или 0"
Exit Function
Else
Otpusknye = summZp * 24 / (365 - holidays)
End If
End Function
Сохраним функцию и выполним расчет с ее использованием:
=Otpusknye(B3;C3)
Растянем формулу на остальные ячейки с целью получения результатов для остальных работников:
Калькулятор расчета калорий в Excel
Пример 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(B3;C3;D3;E3)
В результате использования автозаполнения получим следующие результаты:
Пользовательская функция для решения квадратных уравнений в Excel
Пример 3. Создать функцию, которая возвращает результаты решения квадратных уравнений для указанных в ячейках коэффициентах a, b и c уравнения типа ax2+bx+c=0.
Вид исходной таблицы:
Для решения создадим следующую пользовательскую функцию:
Код примера:
Public Function SquareEquation(a As Integer, b As Integer, c As Integer) As String
Dim answer1 As String
Dim answer2 As String
If a = 0 Then
answer1 = "Единственный корень - "
SquareEquation = answer1 & "(" & -c / b & ")"
ElseIf c = 0 Then
answer1 = "Единственный корень - "
SquareEquation = answer1 & "(" & -b / a & ")"
ElseIf b = 0 And c < 0 Then
answer1 = "Единственный корень - "
SquareEquation = answer1 & "(" & Sqr(a / c) & ")"
ElseIf b ^ 2 - 4 * a * c >= 0 Then
answer1 = "Первый корень - "
answer2 = "Второй корень - "
SquareEquation = answer1 & "(" & (-b + Sqr(b ^ 2 - 4 * a * c)) / (2 * a) & ")" & "; " & _
answer2 & "(" & (-b - Sqr(b ^ 2 - 4 * a * c)) / (2 * a) & ")"
Else:
SquareEquation = "Решений нет"
End If
End Function
Найдем корни первого уравнения:
=SquareEquation(A3;B3;C3)
Выполним расчеты для остальных уравнений. Полученные результаты:
Скачать примеры создания пользовательский функций в Excel
Мы создали свою пользовательскую функцию для расчета квадратных уравнений, которой раньше не было в Excel по умолчанию.
Использование функций и вложенных функций в формулах Excel
Синтаксис функции Excel
В приведенном ниже примере функции ОКРУГЛ , округленной на число в ячейке A10, показан синтаксис функции.
1. Structure. Структура функции начинается со знака равенства (=), за которым следует имя функции, открывающую круглую скобку, аргументы функции, разделенные запятыми, и закрывающая круглая скобка.
2. имя функции. Чтобы просмотреть список доступных функций, щелкните ячейку и нажмите клавиши SHIFT + F3, чтобы открыть диалоговое окно Вставка функции .
3. аргументы. Аргументы могут быть числами, текстом, логическими значениями, такими как Истина или ложь, массивами, значениями ошибок, например #N/a или ссылками на ячейки. Используемый аргумент должен возвращать значение, допустимое для данного аргумента. В качестве аргументов также используются константы, формулы и другие функции.
4. всплывающая подсказка аргумента. При вводе функции появляется всплывающая подсказка с синтаксисом и аргументами. Например, всплывающая подсказка появляется после ввода выражения =ОКРУГЛ(. Всплывающие подсказки отображаются только для встроенных функций.
Примечание: Вам не нужно вводить функции во все прописные буквы, например = «ОКРУГЛИТЬ», так как Excel автоматически заполнит ввод имени функции после нажатия кнопки «Добавить». Если вы неправильно наводите имя функции, например = СУМА (a1: A10), а не = сумм (a1: A10), Excel вернет #NAME? Если позиция, которую вы указали, находится перед первым или после последнего элемента в поле, формула возвращает ошибку #ССЫЛКА!.
Ввод функций Excel
Диалоговое окно Вставить функцию упрощает ввод функций при создании формул, в которых они содержатся. После выбора функции в диалоговом окне Вставка функции Excel запустит мастер функций, который выведет на экран имя функции, каждый из ее аргументов, описание функции и каждый аргумент, текущий результат функции и текущий результат всей формулы.
Для упрощения создания и редактирования формул, а также для минимизации ошибок ввода и синтаксиса используйте Автозаполнение формул. После ввода знака = (знак равенства) и начальных букв функции Excel отобразит динамический раскрывающийся список допустимых функций, аргументов и имен, соответствующих этим буквам. Затем вы можете выбрать один из раскрывающегося списка, и приложение Excel введет его автоматически.
Вложение функций Excel
В некоторых случаях может потребоваться использовать функцию в качестве одного из аргументов другой функции. Например, в следующей формуле используется вложенная функция СРЗНАЧ , а результат сравнивается со значением 50.
1. Функции СРЗНАЧ и СУММ вложены в функцию ЕСЛИ.
Допустимые типы вычисляемых значений Вложенная функция, используемая в качестве аргумента, должна возвращать соответствующий ему тип данных. Например, если аргумент должен быть логическим, т. е. иметь значение ИСТИНА либо ЛОЖЬ, вложенная функция также должна возвращать логическое значение (ИСТИНА или ЛОЖЬ). В противном случае Excel выдаст ошибку «#ЗНАЧ!».
<c0>Предельное количество уровней вложенности функций</c0>. В формулах можно использовать до семи уровней вложенных функций. Если функция Б является аргументом функции А, функция Б находится на втором уровне вложенности. Например, функция СРЗНАЧ и функция сумм являются функциями второго уровня, если они используются в качестве аргументов функции если. Функция, вложенная в качестве аргумента в функцию СРЗНАЧ, будет функцией третьего уровня, и т. д.
Как построить график функции в Excel
Построение графиков функции в Excel – тема не сложная и Эксель с ней может справиться без проблем. Главное правильно задать параметры и выбрать подходящую диаграмму. В данном примере будем строить точечную диаграмму в Excel.
Учитывая, что функция – зависимость одного параметра от другого, зададим значения для оси абсцисс с шагом 0,5. Строить график будем на отрезке [-3;3]. Называем столбец «х», пишем первое значение «-3», второе – «-2,5». Выделяем их и тянем вниз за черный крестик в правом нижнем углу ячейки.
Будем строить график функции вида y=х^3+2х^2+2. В ячейке В1 пишем «у», для удобства можно вписать всю формулу. Выделяем ячейку В2, ставим «=» и в «Строке формул» пишем формулу: вместо «х» ставим ссылку на нужную ячейку, чтобы возвести число в степень, нажмите «Shift+6». Когда закончите, нажмите «Enter» и растяните формулу вниз.
У нас получилась таблица, в одном столбце которой записаны значения аргумента – «х», в другом – рассчитаны значения для заданной функции.
Перейдем к построению графика функции в Excel. Выделяем значения для «х» и для «у», переходим на вкладку «Вставка» и в группе «Диаграммы» нажимаем на кнопочку «Точечная». Выберите одну из предложенных видов.
График функции выглядит следующим образом.
Теперь покажем, что по оси «х» установлен шаг 0,5. Выделите ее и кликните по ней правой кнопкой мши. Из контекстного меню выберите пункт «Формат оси».
Откроется соответствующее диалоговое окно. На вкладке «Параметры оси» в поле «цена основных делений», поставьте маркер в пункте «фиксированное» и впишите значение «0,5».
Чтобы добавить название диаграммы и название для осей, отключить легенду, добавить сетку, залить ее или выбрать контур, поклацайте по вкладкам «Конструктор», «Макет», «Формат».
Построить график функции в Эксель можно и с помощью «Графика». О том, как построить график в Эксель, Вы можете прочесть, перейдя по ссылке.
Давайте добавим еще один график на данную диаграмму. На этот раз функция будет иметь вид: у1=2*х+5. Называем столбец и рассчитываем формулу для различных значений «х».
Выделяем диаграмму, кликаем по ней правой кнопкой мыши и выбираем из контекстного меню «Выбрать данные».
В поле «Элементы легенды» кликаем на кнопочку «Добавить».
Появится окно «Изменение ряда». Поставьте курсор в поле «Имя ряда» и выделите ячейку С1. Для полей «Значения Х» и «Значения У» выделяем данные из соответствующих столбцов. Нажмите «ОК».
Чтобы для первого графика в Легенде не было написано «Ряд 1», выделите его и нажмите на кнопку «Изменить».
Ставим курсор в поле «Имя ряда» и выделяем мышкой нужную ячейку. Нажмите «ОК».
Ввести данные можно и с клавиатуры, но в этом случае, если Вы измените данные в ячейке В1, подпись на диаграмме не поменяется.
В результате получилась следующая диаграмма, на которой построены два графика: для «у» и «у1».
Думаю теперь, Вы сможете построить график функции в Excel, и при необходимости добавлять на диаграмму нужные графики.
Оценить статью:
Загрузка…
Поделиться новостью в соцсетях
Об авторе: Олег Каминский
Вебмастер. Высшее образование по специальности «Защита информации». Создатель портала comp-profi.com. Автор большинства статей и уроков компьютерной грамотности
Функции и формулы в Excel с примерами
Описание функций в Excel с картинками и готовыми примерами их применения на практике.
Функции для эффективных расчетов
Функция ПОРОГ для определения порогового значения в Excel.
Примеры методов расчетов пороговых значений с помощью формул с использованием специальной функции ПОРОГ. Как определить пороговые значения показателей?
Функция ЧСТРОК возвращает количество строк в диапазоне Excel.
Примеры использования функции ЧСТРОК для подсчета количества строк листа в диапазоне ячеек. Как узнать сколько строк в массиве при условии.
Функция ФИ и плотность стандартного нормального распределения в Excel.
Пример построения графика функций плотности стандартного нормального распределения с помощью формулы ФИ. Альтернативная функция для НОРМ.СТ.РАСП.
Примеры формул тригонометрических функций ASIN и ASINH в Excel.
Примеры как работают основные тригонометрические функции ASIN и ASINH и при каких условиях их используют для расчетов или вычислений значений.
Функция МВСД для определения скорости обращения денег в Excel.
Примеры финансовых анализов и определения модифицированной внутренней скорости денежного обращения в инвестиционных проектах. Сравнение уровней доходности акций и облигаций.
Функция НОРМАЛИЗАЦИЯ возвращает нормализованное значения в Excel.
Примеры формул для вычисления нормализированного значения вероятности в процентах с помощь функции НОРМАЛИЗАЦИЯ. Как использовать эту функцию и при каких условиях?
Функция СКОС и коэффициент асимметрии распределения в Excel .
Примеры вычисления коэффициент асимметрии несимметричности распределения числовых значений относительно среднего с помощью функции СКОС.
Функция ВЕЙБУЛЛ для расчета распределения Вейбулла в Excel.
Примеры использования функции ВЕЙБУЛЛ для нахождения плотности случайной величины, при расчете параметров распределения по закону Вейбулла в теории надежности.
Функция ЕСНД для проверки ячеек на ошибки НД в Excel.
Как исправить или удалить шибки с кодом #Н/Д в формулах и ячейках таблицы? Примеры использования формул с логической функцией ЕСНД для обработки ошибок недоступных данных.
ОБЩДОХОД для расчета общей суммы погашение инвестиций в Excel.
Пример расчетов общей суммы платежей на погашение основной стоимости инвестиций с использованием функции ОБЩДОХОД. Как рассчитать досрочное погашение части выплачиваемого кредита?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Мастер функций в MS Excel: где находится, использование
Возможности Эксель позволяют не только создавать и редактировать таблицы, но и производить всевозможные расчеты: математические, финансовые, статистические и т.д. Делается это с помощью формул или функций (операторов), для выбора и настройки которых предусмотрен специальный инструмент под названием “Мастер функций”. Алгоритм его использования мы и разберем в данной статье.
Шаг 1: вызов Мастера функций
Для начала выбираем ячейку, в которую планируется вставить функцию.
Затем у нас есть несколько способов открытия Мастера функций:
- Первый способ, пожалуй, пользуется наибольшей популярностью. Независимо от того, в какой вкладке программы мы находимся, слева от строки формул есть значок “fx (Вставить функцию)”. Именно по нему и следует щелкнуть.
- Также мы можем переключиться во вкладку “Формулы”, в которой представлена аналогичная кнопка в левом углу ленты программы (группа “Библиотека функций”).
- Все в той же вкладке и группе (“Формулы” – “Библиотека функций”) представлены категории функций. Кликаем по требуемому варианту и в раскрывшемся перечне можем выбрать нужный оператор. Но т.к. нам нужен именно Мастер функций, то кликаем по пункту “Вставить функцию” в самом конце списка.
- И напоследок, можно воспользоваться комбинацией Shift+F3, хотя не все пользователи готовы запоминать горячие клавиши для работы в Excel.
Шаг 2: выбор функции
Итак, независимо от того, какой из описанных выше способов был выбран, перед нами появится окно Мастера функций (Вставка функции). Оно состоит из следующих элементов:
- В самом верху расположено поле для поиска конкретной функции. Все что мы делаем – это набираем название (например, “сумм”) и жмем “Найти”. Результаты отобразятся в поле под надписью “Выберите функцию”.
- Параметр “Категория”. Щелкаем по текущему значению и в раскрывшемся списке выбираем категорию, к которой относится наша функция (допустим, “Математические”).Всего предлагается 15 вариантов:
- финансовые;
- дата и время;
- математические;
- статистические;
- ссылки и массивы;
- работа с базой данных;
- текстовые;
- логические;
- проверка свойств и значений;
- инженерные;
- аналитические;
- совместимость;
- интернет.
- Также у нас есть возможность отобразить 10 недавно использовавшихся функций или представить все доступные операторы в алфавитном порядке без разбивки на категории.Примечание: “Совместимость” – это категория, в которую включены функции из более ранних версий программы (причем у них уже есть современные аналоги). Сделано это для того, чтобы сохранялась совместимость и работоспособность документов, которые были созданы в устаревших версиях Excel.
- После того, как категория задана, остается только определиться с функцией в поле “Выберите функцию” (выбираем ее с помощью щелчка левой кнопкой мыши). Когда все готово, жмем кнопку OK (или Enter).
Шаг 3: заполнение аргументов функции
В следующем окне предстоит заполнить аргументы (один или несколько), перечень и тип которых зависит от выбранной функции.
Рассмотрим на примере “СРЗНАЧ” (для вычисления среднего арифметического значения), работающего с числовыми данными.
Поле напротив аргумента можно заполнить вручную, введя конкретное число (или несколько числовых значений, разделенных точкой с запятой) с помощью клавиш на клавиатуре.
Либо можно указать ссылку на ячейку или диапазон ячеек, содержащих числа.
Здесь возможны два варианта – это можно сделать либо вручную (т.е. с помощью клавиатуры), либо с помощью мыши. Последний вариант удобнее – просто щелкаем по нужному элементу в самой таблице, находясь в поле напротив нужного аргумента.
Возможна комбинация способов заполнения значений аргументов, а переключаться между ними можно с помощью щелчков мыши внутри нужного поля или клавиши Tab.
Примечания:
- В нижней части окна представлено описание функции, а также комментарии/рекомендации касательно того, как именно следует заполнить тот или иной аргумент.
- Иногда количество аргументов может увеличиться. Например, как это произошло в нашем случае с функцией “СРЗНАЧ”. По умолчанию предусмотрено всего два аргумента, но если мы перейдем к заполнению второго, добавится третий и т.д.
- Принцип заполнения текстовых данных в других функциях, где это предполагается, аналогичен рассмотренному выше – либо мы указываем конкретные значения, либо ссылки на ячейки или диапазоны ячеек.
Шаг 4: выполнение функции
Как только все аргументы заполнены, жмем OK.
Окно Мастера функций закроется. И если все сделано правильно, мы увидим в выбранной ячейке результат согласно заданным значениям аргументов.
А в строке формул будет отображаться автоматически заполненная формула функции.
Заключение
Таким образом, Мастер функций позволяет максимально упростить работу с функциями, что делает его одним из самых незаменимых инструментов в Excel. Благодаря нему не нужно запоминать сложные формулы и правила их написания, т.к. все предельно просто реализовано через заполнение специальных полей.
Создание пользовательских функций в Excel
Теперь вы готовы использовать новую функцию СКИДКА. Закройте редактор Visual Basic, выберите ячейку G7 и введите следующее:
= СКИДКА (D7, E7)
Excel рассчитывает 10-процентную скидку на 200 единиц по цене 47,50 долларов за единицу и возвращает 950 долларов.
В первой строке кода VBA, Function DISCOUNT (количество, цена), вы указали, что для функции DISCOUNT требуется два аргумента: количество и цена .Когда вы вызываете функцию в ячейке листа, вы должны включить эти два аргумента. В формуле = СКИДКА (D7, E7), D7 — это аргумент количества , а E7 — аргумент цены . Теперь вы можете скопировать формулу DISCOUNT в G8: G13, чтобы получить результаты, показанные ниже.
Давайте посмотрим, как Excel интерпретирует эту процедуру функции. Когда вы нажимаете , введите , Excel ищет имя DISCOUNT в текущей книге и обнаруживает, что это настраиваемая функция в модуле VBA.Имена аргументов, заключенные в круглые скобки, количество и цена , являются заполнителями для значений, на которых основывается расчет скидки.
Оператор If в следующем блоке кода проверяет аргумент количество и определяет, является ли количество проданных товаров больше или равно 100:
Если количество> = 100 Тогда СКИДКА = количество * цена * 0,1 Еще СКИДКА = 0 Конец, если
Если количество проданных товаров больше или равно 100, VBA выполняет следующий оператор, который умножает значение количества на значение цены , а затем умножает результат на 0.1:
Скидка = количество * цена * 0,1
Результат сохраняется как переменная Discount . Оператор VBA, который хранит значение в переменной, называется оператором присваивания , потому что он оценивает выражение справа от знака равенства и присваивает результат имени переменной слева. Поскольку переменная Discount имеет то же имя, что и процедура функции, значение, хранящееся в переменной, возвращается в формулу рабочего листа, которая вызвала функцию DISCOUNT.
Если количество меньше 100, VBA выполняет следующий оператор:
Скидка = 0
Наконец, следующий оператор округляет значение, присвоенное переменной Discount , до двух десятичных знаков:
Discount = Application.Round (Скидка, 2)
VBA не имеет функции ROUND, но Excel имеет. Следовательно, чтобы использовать ROUND в этом операторе, вы указываете VBA искать метод (функцию) Round в объекте Application (Excel).Вы делаете это, добавляя слово Application перед словом Round. Используйте этот синтаксис всякий раз, когда вам нужно получить доступ к функции Excel из модуля VBA.
.
Как создавать собственные функции Excel
- Программное обеспечение
- Microsoft Office
- Excel
- Как создавать собственные функции Excel
Автор: Кен Блаттман
Несмотря на все функции, предоставляемые Excel, вам может понадобиться тот, который вам нужен просто не вижу предлагаемых. Excel позволяет создавать собственные функции, используя программный код VBA; ваши функции отображаются в диалоговом окне «Вставить функцию».
Написание кода VBA не для всех.Но тем не менее, вот краткий и приятный пример. Если вы справитесь с этим, возможно, вы захотите узнать больше о программировании на VBA. Кто знает — может быть, однажды вы начнете создавать свои собственные сложные функции! Убедитесь, что вы работаете в книге с поддержкой макросов (один из типов файлов Excel).
Следуйте инструкциям, чтобы создать собственные функции:
Нажмите Alt + F11.
Это приведет вас к редактору Visual Basic, где написан VBA.
Вы также можете нажать кнопку Visual Basic на вкладке «Разработчик» на ленте.Вкладка «Разработчик» отображается, только если установлен флажок «Разработчик» на вкладке «Настройка ленты» диалогового окна «Параметры Excel».
Выберите в редакторе «Вставить» → «Модуль».
Перед вами пустой кодовый модуль. Пришло время создать свою собственную функцию!
Введите этот программный код, показанный на следующем рисунке:
Написание собственной функции.
Добавление общедоступной функции (число1 как двойное, число2 как двойное) Сложить = число1 + число2 Конечная функция
Сохранить функцию.
Макросы и программирование на VBA можно сохранить только в книге с поддержкой макросов.
После того, как вы наберете первую строку и нажмете Enter, последняя появится автоматически. В этом примере функции складываются два числа, а слово Public перечисляет функцию в диалоговом окне «Вставить функцию». Возможно, вам придется найти книгу Excel на панели задач Windows, потому что редактор Visual Basic работает как отдельная программа. Или нажмите Alt + F11, чтобы вернуться в рабочую книгу.
Вернуться в Excel.
Нажмите кнопку «Вставить функцию» на вкладке «Формулы», чтобы открыть диалоговое окно «Вставить функцию».
Поиск функции в категории «Пользовательские».
Нажмите ОК.
Откроется диалоговое окно «Аргументы функции», готовое к приему аргументов. Разве это не невероятно? Это как если бы вы создавали расширение для Excel, и, по сути, вы это делаете.
Использование пользовательской функции добавления.
Это очень простой пример того, что вы можете сделать, написав свою собственную функцию.Возможности безграничны, но, конечно, вам нужно знать, как программировать VBA.
Книги с поддержкой макросов имеют расширение файла .xlsm.
Об авторе книги
Кен Блаттман — ветеран программного обеспечения и веб-разработчик, специализирующийся на Excel / VBA и веб-приложениях, ориентированных на базы данных. Он написал множество статей и книг по различным техническим темам. Его последние проекты включают крупномасштабные облачные приложения и разработку мобильных приложений.
.
Как построить график функции в Excel | Small Business
Математическая функция — это формула, которая принимает входные данные x, применяет к ним набор вычислений и производит выходные данные с именем y. Вычисляя функцию с большим количеством заданных интервалов, можно создать диаграмму рассеяния функции. В бизнесе это имеет много применений. Например, вы можете построить график прибыли за вычетом затрат на различных уровнях продаж, или общие затраты можно оценить, нанеся на график постоянные затраты с разными приращениями переменных затрат.
Создайте заголовки для таблицы данных. Введите входную переменную в ячейку A1 и выходную переменную в ячейку B1. Если хотите, вы можете использовать математические стандарты «x» и «y» или использовать что-то более наглядное, например «продажи» и «прибыль».
Введите первый и второй интервалы входной переменной (например, «x» или «продажи»), которые вы будете использовать для построения графика функции. Например, если ваши интервалы представляют собой целые числа, вы можете начать с ввода «1» в ячейку A2 и «2» в ячейку A3.Выделите обе эти ячейки, а затем щелкните и перетащите маленький черный квадрат в правом нижнем углу области выбора вниз, пока у вас не будет столько значений, сколько вы хотите построить.
Введите знак равенства «=» в ячейку B2, а затем введите формулу сразу после него, не оставляя пробелов. Например, чтобы определить количество продаж определенного продукта для покрытия расходов, вы можете использовать:
= (A2 * 50) -3500
Замените «50» продажной ценой, а «3500» — ваши расходы.
Выберите ячейку B2, а затем перетащите, чтобы скопировать формулу вниз по столбцу тем же методом, который вы использовали на шаге 2. Убедитесь, что каждое из ваших значений x имеет соответствующую функцию справа от него. При этом столбец будет автоматически заполняться решениями для каждой функции на основе значения x в столбце A.
Выберите все ячейки, в которые вы ввели данные, включая заголовок.
Щелкните вкладку «Вставка», щелкните «Разброс» в области диаграмм, а затем щелкните нужный тип графика.График появится на вашем листе.
.