0
Ваша корзина

Как сделать свою функцию в Excel. Уроки для начинающих аналитиков.

Как сделать свою функцию в Excel. Уроки для начинающих аналитиков.

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

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

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

Как это сделать?

Предположим, что у нас есть типовая задача — определять, для какой строки надо применять скидку, а для какой нет. Допустим, мы применяем скидку только для Филиала 2, где сумма больше или равно 4000.

То есть только эти суммы в соседней колонке должны посчитаться за минусом 10%. В обычной жизни мы делали бы это через сложную конструкцию. Наша формула выглядела бы так = ЕСЛИ(И(А2=»Филиал 2″; В2>=4000);В2*0,9;0)

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

В этом нам поможет встроенная среда программирования VBA. Заходим в режим редактирования макросов с помощью клавиш ALT+F4.

В открывшемся окне нажимаем Добавить модуль и в окне написания кода прописываем наш код.

Для нашего урока он будет выглядеть так.

Function СКИДКАФИЛИАЛ(Филиал, Сумма)

If Филиал = "Филиал 2" And Сумма >= 4000 Then
СКИДКАФИЛИАЛ = Сумма * 0.9
Else
СКИДКАФИЛИАЛ = Сумма
End If

СКИДКАФИЛИАЛ = Application.Round(СКИДКАФИЛИАЛ, 2)

End Function

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

Затем округляем результат функции до двух знаков и закрываем функцию.

Все. Теперь вернемся в Эксель и найдем нашу новую функцию.

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

Скидка рассчиталась только для нужным нам позиций.

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

Как добавить функцию для всех книг Excel?

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

Затем заходим в Параметры — Надстройки — Перейти.

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

Готово. Теперь наша пользовательская функция доступна для всех книг Эксель.

О том, как это сделать, смотрите более подробно в бесплатном видео-уроке ниже.

Также смотрите видео-версию урока.

СПАСИБО
50 руб.
Ваш вклад в развитие блога.
Ваша поддержка поможет публиковать больше бесплатных уроков и видео.
ОТПРАВИТЬ
СПАСИБО
100 руб.
Ваш вклад в развитие блога.
Ваша поддержка поможет публиковать больше бесплатных уроков и видео.
ОТПРАВИТЬ

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

Мы в социальных сетях

Поделиться

Добавить комментарий

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

Подпишись на новости!

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

А также на страницу ВКонтакте.

 


Он будет закрыт в 20 секунд