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

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

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

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

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

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

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

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

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

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

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

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:

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

Discount = quantity * price * 0.1

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

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

Наконец, следующий оператор округляет значение, назначенное переменной 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. Например, пользовательские функции не могут изменять размер окон, редактировать формулы в ячейках, а также изменять шрифт, цвет и параметры узора для текста в ячейке. Если вы включаете код «Action» этого типа в процедуру Function, функция возвращает #VALUE! Если позиция, которую вы указали, находится перед первым или после последнего элемента в поле, формула возвращает ошибку #ССЫЛКА!.

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

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

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

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

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

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

Читайте также  Что делать, если текст выходит за границы (пределы) ячейки в «Excel»

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Вы всегда можете задать вопрос специалисту Excel Tech Community, попросить помощи в сообществе Answers community, а также предложить новую функцию или улучшение на веб-сайте Excel User Voice.

Примечание: Эта страница переведена автоматически, поэтому ее текст может содержать неточности и грамматические ошибки. Для нас важно, чтобы эта статья была вам полезна. Была ли информация полезной? Для удобства также приводим ссылку на оригинал (на английском языке).

Источник:
http://support.microsoft.com/ru-ru/office/%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5-%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D1%81%D0%BA%D0%B8%D1%85-%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B9-%D0%B2-excel-2f06c10b-3622-40d6-a1b2-b6748ae8231f

Создание функций в функции в Microsoft Excel

Пример 1: Два условия

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

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

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

Пример базируется на корневой функции «ЕСЛИ», поэтому в окне «Вставка функции» выберите именно ее.

Другая функция, используемая внутри корневой, называется «СУММ» — она и будет выводить сумму чисел при истинном значении, поэтому записывается во втором поле в представлении СУММ(C1:D1:E1:F1).

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

Сейчас функция ЕСЛИ находится в состоянии «истина», а значит, в заданной клетке отобразится сумма указанного диапазона.

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

    Пример 2: Три и более условий

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

      Создадим отдельную формулу при использовании все той же корневой функции ЕСЛИ.

    Начните создавать формулу, нажав по нужной пустой ячейке и написав =ЕСЛИ(B2=C2;»Не изменилась»). Как можно понять, после открывающихся скобок идет первое условие, а при его истине выводится сообщение «Не изменилась».

    Поставьте знак ; и сразу же впишите новую функцию ЕСЛИ без знака =, где внутри содержится второе условие.

    Точно так же поступите с третьим условием и расставьте все закрывающиеся скобки.

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

    Для лучшего понимания оставим полную строку формулы с функцией в функции в правильном ее виде =ЕСЛИ(B2=C2;»Не изменилась»;ЕСЛИ(B2 C2;»Уменьшилась»))). Если требуется, скопируйте ее и используйте в своих целях, изменив условия и значения.

    Источник:
    http://lumpics.ru/function-in-function-in-excel/

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

    сообщество редакторов, исследователей и специалистов

    wikiHow работает по принципу вики, а это значит, что многие наши статьи написаны несколькими авторами. При создании этой статьи над ее редактированием и улучшением работали авторы-волонтеры.

    Количество просмотров этой статьи: 54 133.

    Хотя в Excel множество (возможно, сотни) встроенных функций, таких как SUM (СУММ), VLOOKUP (ВПР), LEFT (ЛЕВСИМВ) и других, как только вы начинаете использовать Excel для более сложных задач, вы можете обнаружить, что вам нужна такая функция, которой еще не существует. Не отчаивайтесь, вы всегда можете создать функцию сами.

    Создайте «заголовок» или «прототип» вашей функции. Он должен иметь следующую структуру:

    public function TheNameOfYourFunction (param1 As type1, param2 As type2 ) As returnType У нее может быть сколько угодно параметров, а их тип должен соответствовать любому базовому типу данных Excel или типу объектов, например Range. Параметры в данном случае выступают в качестве «операндов», с которыми работает функция. Например, если вы пишете SIN(45), чтобы вычислить синус 45 градусов, 45 выступает в качестве параметра. Код вашей функции будет использовать это значение для вычислений и представления результата.

    Добавьте код нужной функции, убедившись, что вы 1) используете значения, передаваемые в качестве параметров; 2) присваиваете результат имени функции; 3) заканчиваете код функции выражением «end function». Изучение программирования на VBA или на любом другом языке может занять некоторое время и требовать подробного изучения руководства. Однако функции обычно имеют небольшие блоки кода и используют очень мало возможностей языка. Наиболее используемые элементы языка VBA:

      Блок If, который позволяет выполнять какую-то часть кода только в случае выполнения условия. Например:

    Читайте также  Отображение связей между формулами и ячейками

    Public Function Course Result(grade As Integer) As String
    If grade >= 5 Then
    CourseResult = «Approved»
    Else
    CourseResult = «Rejected»
    End If
    End Function

    Обратите внимание на элементы внутри блока If: IF условие THEN код_1 ELSE код_2 END IF . Ключевое слово Else и вторая часть кода необязательны.
    Блок Do, который выполняет часть кода, пока выполняется условие (While) или до тех пор (Until), пока оно не выполнится. Например:

    Public Function IsPrime(value As Integer) As Boolean
    Dim i As Integer
    i = 2
    IsPrime = True
    Do
    If value / i = Int(value / i) Then
    IsPrime = False
    End If
    i = i + 1
    Loop While i

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

    Public Function Factorial(value As Integer) 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
    End If
    Factorial = result
    End Function

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

    Ниже показан код функции, преобразующей небольшие числа в слова.

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

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

    1. Константные значения, непосредственно вводимые в формуле в ячейке. Текстовые строки в таком случае должны быть заключены в кавычки.
    2. Ссылки на ячейки вроде B6 или ссылки на диапазоны вроде A1:C3 (параметр должен иметь тип Range).
    3. Другие вложенные функции (ваша функция тоже может быть вложенной по отношению к другим функциям). Например: =Factorial(MAX(D6:D8))

    Источник:
    http://ru.wikihow.com/%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D1%82%D1%8C-%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D1%81%D0%BA%D1%83%D1%8E-%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D1%8E-%D0%B2-Microsoft-Excel

    Создание собственных функций в Excel

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

    Любая используемая формула может быть преобразована в функцию, но сначала давайте понять, как скомпонована функция. Конкретная функция представляет собой процедуру, которая состоит из параметров, например, функция СУММ в MS-Excel имеет в качестве параметра диапазона. Полная функция будет выглядеть так: = SOMA (Интервал) или = SOMA (A1: A8). И в чем причина использования этой функции? Посмотрите, как гораздо быстрее набрать = сумма (A1: A8) вместо = (A1 A2 + + + A3 A4 A5 + + + A6 A7 + A8).

    Создание собственной роли

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

    В этом примере мы будем считать, что перевозчик заряжается:

    Грузовой вес за тонну: R $ 200,00

    Наша формула: = (((вес / 1000) * 200) + (значение * 0.003) + 20)

    Обратите внимание, что только представленные переменные вес e значение и вся формула будет одинаковой для всех других ситуаций, поэтому давайте создадим функцию для сушить, который будет выглядеть следующим образом =frete(вес;значение)

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

    Чтобы построить свою роль, мы будем использовать Редактор Visual Basic, его можно получить через меню «Инструменты» >> «Макро» >> «Редактор Visual Basic» или с помощью сочетания клавиш Alt + F11.

    Теперь в редакторе нам нужно будет включить модуль. Для того чтобы наша функция была распознана инструментом f (x) в MS-Excel, она должна находиться внутри модуля. Чтобы включить нашу функцию, мы получим доступ к меню «Вставить» >> «Модуль». На правом экране вы найдете модуль 1, и именно там мы напишем наш код.

    Язык VBA дает нам несколько возможностей для работы с MS-Excel, здесь мы ограничимся изображением создания функции. Чтобы запустить функцию, используйте команду функция, Наш код выглядит так:

    функция frete (вес, значение)

    frete = (((вес / 1000) * 200) + (значение * 0.003) + 20)

    См. Следующий экран:

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

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

    При этом наша функция готова, но как ее использовать?

    Закрыв редактор Visual Basic, мы вернемся к рабочему листу MS-Excel, после чего нажмите «Вставить меню >>».

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

    Другой способ заключается в непосредственном вводе функции в любую ячейку путем ввода параметров, например: = фрахт (1200; 3000). Следует помнить, что параметры могут быть числа или ссылки в этом случае клетки, где они, например, = грузов (A1; B1).

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

    Это всего лишь один из множества приложений Excel, которые упрощают повседневную работу. Ознакомьтесь с нашими таблицами бизнес-таблиц nosso сайт!

    Источник:
    http://blog.luz.vc/ru/%D0%BF%D1%80%D0%B5%D0%B2%D0%BE%D1%81%D1%85%D0%BE%D0%B4%D0%B8%D1%82%D1%8C/%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5-%D1%81%D0%BE%D0%B1%D1%81%D1%82%D0%B2%D0%B5%D0%BD%D0%BD%D1%8B%D1%85-%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B9-excel/

    Как построить график функции в Excel

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

    Учитывая, что функция – зависимость одного параметра от другого, зададим значения для оси абсцисс с шагом 0,5. Строить график будем на отрезке [-3;3]. Называем столбец «х» , пишем первое значение «-3» , второе – «-2,5» . Выделяем их и тянем вниз за черный крестик в правом нижнем углу ячейки.

    Читайте также  Печать ценников, этикеток и штрих-кодов в программе Excel

    Будем строить график функции вида y=х^3+2х^2+2. В ячейке В1 пишем «у» , для удобства можно вписать всю формулу. Выделяем ячейку В2 , ставим «=» и в «Строке формул» пишем формулу: вместо «х» ставим ссылку на нужную ячейку, чтобы возвести число в степень, нажмите «Shift+6» . Когда закончите, нажмите «Enter» и растяните формулу вниз.

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

    Перейдем к построению графика функции в Excel. Выделяем значения для «х» и для «у» , переходим на вкладку «Вставка» и в группе «Диаграммы» нажимаем на кнопочку «Точечная» . Выберите одну из предложенных видов.

    График функции выглядит следующим образом.

    Теперь покажем, что по оси «х» установлен шаг 0,5. Выделите ее и кликните по ней правой кнопкой мши. Из контекстного меню выберите пункт «Формат оси» .

    Откроется соответствующее диалоговое окно. На вкладке «Параметры оси» в поле «цена основных делений» , поставьте маркер в пункте «фиксированное» и впишите значение «0,5» .

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

    Построить график функции в Эксель можно и с помощью «Графика» . О том, как построить график в Эксель, Вы можете прочесть, перейдя по ссылке.

    Давайте добавим еще один график на данную диаграмму. На этот раз функция будет иметь вид: у1=2*х+5. Называем столбец и рассчитываем формулу для различных значений «х» .

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

    В поле «Элементы легенды» кликаем на кнопочку «Добавить» .

    Появится окно «Изменение ряда» . Поставьте курсор в поле «Имя ряда» и выделите ячейку С1 . Для полей «Значения Х» и «Значения У» выделяем данные из соответствующих столбцов. Нажмите «ОК» .

    Чтобы для первого графика в Легенде не было написано «Ряд 1» , выделите его и нажмите на кнопку «Изменить» .

    Ставим курсор в поле «Имя ряда» и выделяем мышкой нужную ячейку. Нажмите «ОК» .

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

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

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

    Источник:
    http://comp-profi.com/kak-postroit-grafik-funkcii-v-excel/

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

    сообщество редакторов, исследователей и специалистов

    wikiHow работает по принципу вики, а это значит, что многие наши статьи написаны несколькими авторами. При создании этой статьи над ее редактированием и улучшением работали авторы-волонтеры.

    Количество просмотров этой статьи: 54 133.

    Хотя в Excel множество (возможно, сотни) встроенных функций, таких как SUM (СУММ), VLOOKUP (ВПР), LEFT (ЛЕВСИМВ) и других, как только вы начинаете использовать Excel для более сложных задач, вы можете обнаружить, что вам нужна такая функция, которой еще не существует. Не отчаивайтесь, вы всегда можете создать функцию сами.

    Создайте «заголовок» или «прототип» вашей функции. Он должен иметь следующую структуру:

    public function TheNameOfYourFunction (param1 As type1, param2 As type2 ) As returnType У нее может быть сколько угодно параметров, а их тип должен соответствовать любому базовому типу данных Excel или типу объектов, например Range. Параметры в данном случае выступают в качестве «операндов», с которыми работает функция. Например, если вы пишете SIN(45), чтобы вычислить синус 45 градусов, 45 выступает в качестве параметра. Код вашей функции будет использовать это значение для вычислений и представления результата.

    Добавьте код нужной функции, убедившись, что вы 1) используете значения, передаваемые в качестве параметров; 2) присваиваете результат имени функции; 3) заканчиваете код функции выражением «end function». Изучение программирования на VBA или на любом другом языке может занять некоторое время и требовать подробного изучения руководства. Однако функции обычно имеют небольшие блоки кода и используют очень мало возможностей языка. Наиболее используемые элементы языка VBA:

      Блок If, который позволяет выполнять какую-то часть кода только в случае выполнения условия. Например:

    Public Function Course Result(grade As Integer) As String
    If grade >= 5 Then
    CourseResult = «Approved»
    Else
    CourseResult = «Rejected»
    End If
    End Function

    Обратите внимание на элементы внутри блока If: IF условие THEN код_1 ELSE код_2 END IF . Ключевое слово Else и вторая часть кода необязательны.
    Блок Do, который выполняет часть кода, пока выполняется условие (While) или до тех пор (Until), пока оно не выполнится. Например:

    Public Function IsPrime(value As Integer) As Boolean
    Dim i As Integer
    i = 2
    IsPrime = True
    Do
    If value / i = Int(value / i) Then
    IsPrime = False
    End If
    i = i + 1
    Loop While i

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

    Public Function Factorial(value As Integer) 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
    End If
    Factorial = result
    End Function

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

    Ниже показан код функции, преобразующей небольшие числа в слова.

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

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

    1. Константные значения, непосредственно вводимые в формуле в ячейке. Текстовые строки в таком случае должны быть заключены в кавычки.
    2. Ссылки на ячейки вроде B6 или ссылки на диапазоны вроде A1:C3 (параметр должен иметь тип Range).
    3. Другие вложенные функции (ваша функция тоже может быть вложенной по отношению к другим функциям). Например: =Factorial(MAX(D6:D8))

    Источник:
    http://ru.wikihow.com/%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D1%82%D1%8C-%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D1%81%D0%BA%D1%83%D1%8E-%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D1%8E-%D0%B2-Microsoft-Excel