Как ввести функцию в функции в excel

Excel для Microsoft 365 Excel для Интернета Excel 2021 Excel 2019 Excel 2016 Excel 2013 Excel 2010 Excel 2007 Еще…Меньше

Использование функции в качестве одного из аргументов в формуле, использующей функцию, называется вложенным, и мы будем называть ее вложенной функцией. Например, при вложении функций СНВП и СУММ в аргументы функции ЕСЛИ следующая формула суммирует набор чисел (G2:G5), только если среднее значение другого набора чисел (F2:F5) больше 50. В противном случае она возвращает значение 0.

Вложенные функции

Функции СРЗНАЧ и СУММ вложены в функцию ЕСЛИ.

В формулу можно вложить до 64 уровней функций.

  1. Щелкните ячейку, в которую нужно ввести формулу.

  2. Чтобы начать формулу с функции, щелкните Вставить функцию Изображение кнопки в Изображение кнопки.

    Знак равенства (=) будет вставлен автоматически.

  3. В поле Категория выберите пункт Все.

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

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

  4. Чтобы ввести другую функцию в качестве аргумента, введите функцию в поле этого аргумента.

    Части формулы, отображенные в диалоговом окне Аргументы функции, отображают функцию, выбранную на предыдущем шаге.

    Если щелкнуть элемент ЕСЛИ, в диалоговом окне Аргументы функции отображаются аргументы для функции ЕСЛИ. Чтобы вложить другую функцию, можно ввести ее в поле аргумента. Например, можно ввести СУММ(G2:G5) в поле Значение_если_истина функции ЕСЛИ.

  5. Введите дополнительные аргументы, необходимые для завершения формулы.

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

    Совет: Для получения дополнительных сведений о функции и ее аргументах щелкните ссылку Справка по этой функции.

  6. После ввода всех аргументов формулы нажмите кнопку ОК.

  1. Щелкните ячейку, в которую нужно ввести формулу.

  2. Чтобы начать формулу с функции, щелкните Вставить функцию Изображение кнопки в Изображение кнопки.

  3. В диалоговом окне Вставка функции в поле Выбрать категорию выберите все.

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

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

  5. Введите дополнительные аргументы, необходимые для завершения формулы.

  6. Завершив ввод аргументов формулы, нажмите ввод.

Примеры

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

Скопируйте образец данных из следующей таблицы и вставьте их в ячейку A1 нового листа Excel. Чтобы отобразить результаты формул, выделите их и нажмите клавишу F2, а затем — клавишу ВВОД. При необходимости измените ширину столбцов, чтобы видеть все данные.

Оценка

45

90

78

Формула

Описание

Результат

‘=ЕСЛИ(A2>89,»A»,ЕСЛИ(A2>79,»B», ЕСЛИ(A2>69,»C»,ЕСЛИ(A2>59,»D»,»F»))))

Использует вложенные функции ЕСЛИ для назначения буквенной категории оценке в ячейке A2.

=ЕСЛИ(A2>89;»A»;ЕСЛИ(A2>79;»B»; ЕСЛИ(A2>69;»C»;ЕСЛИ(A2>59;»D»;»F»))))

‘=ЕСЛИ(A3>89,»A»,ЕСЛИ(A3>79,»B», ЕСЛИ(A3>69,»C»,ЕСЛИ(A3>59,»D»,»F»))))

Использует вложенные функции ЕСЛИ для назначения буквенной категории оценке в ячейке A3.

=ЕСЛИ(A3>89,»A»,ЕСЛИ(A3>79,»B»,ЕСЛИ(A3>69,»C»,ЕСЛИ(A3>59,»D»,»F»))))

‘=ЕСЛИ(A4>89,»A»,ЕСЛИ(A4>79,»B», ЕСЛИ(A4>69,»C»,ЕСЛИ(A4>59,»D»,»F»))))

Использует вложенные функции ЕСЛИ для назначения буквенной категории оценке в ячейке A4.

=ЕСЛИ(A4>89,»A»,ЕСЛИ(A4>79,»B»,ЕСЛИ(A4>69,»C»,ЕСЛИ(A4>59,»D»,»F»))))

Советы: 

  • Дополнительные сведения о формулах см. в общих сведениях о формулах.

  • Список доступных функций см. в разделе Функции Excel (по алфавиту) или Функции Excel (по категориям).

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

Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.

См. также

Видео: вложенные функции ЕСЛИ

Нужна дополнительная помощь?

Функция в функции в Excel

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

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

Набор чисел для среднего значения при создании функции в функции Excel

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

Набор чисел для суммы при создании функций в функции Excel

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

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

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

  5. В качестве логического выражения записывайте функцию, считающую среднее значение и определяющую, больше ли оно указанного числа. Тогда строка обретет вид СРЗНАЧ(A1:A6)>300, где A1 и A6 — диапазон захватываемых ячеек, > — знак «больше», а 300 — целевое среднее значение, являющееся истинным.
  6. Ввод логического выражения для функции в функции Excel

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

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

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

  13. Если же условия ложные, всплывет указанное сообщение или 0.
  14. Ложный результат первого примера создания функции в функции Excel

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

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

Подробнее: Мастер функций в программе Microsoft Excel

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

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

Lumpics.ru

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

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

  6. Точно так же поступите с третьим условием и расставьте все закрывающиеся скобки.
  7. Заполнение третьего условия для функции в функции Excel

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

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

Еще статьи по данной теме:

Помогла ли Вам статья?

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

Использование функции в качестве одного из аргументов в формуле, использующей функцию, называется вложением, и мы будем ссылаться на эту функцию как на вложенную функцию. Например, если в аргументе функции если указана функция СРЗНАЧ и сумм, следующая формула суммирует набор чисел (G2: G5) только в том случае, если среднее значение другого набора чисел (F2: F5) превышает 50. В противном случае она возвращает значение 0.

Функции СРЗНАЧ и СУММ вложены в функцию ЕСЛИ.

В формулу можно вложить до 64 уровней функций.

Щелкните ячейку, в которую нужно ввести формулу.

Чтобы начать формулу с функции, нажмите кнопку Вставить функцию , в строке формул .

Знак равенства (=) будет вставлен автоматически.

В поле Категория выберите пункт Все.

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

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

Чтобы ввести другую функцию в качестве аргумента, введите функцию в поле этого аргумента.

Части формулы, отображенные в диалоговом окне Аргументы функции, отображают функцию, выбранную на предыдущем шаге.

Если щелкнуть элемент ЕСЛИ, в диалоговом окне Аргументы функции отображаются аргументы для функции ЕСЛИ. Чтобы вложить другую функцию, можно ввести ее в поле аргумента. Например, можно ввести СУММ(G2:G5) в поле Значение_если_истина функции ЕСЛИ.

Введите дополнительные аргументы, необходимые для завершения формулы.

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

Совет: Для получения дополнительных сведений о функции и ее аргументах щелкните ссылку Справка по этой функции.

Завершив ввод аргументов формулы, нажмите кнопку ОК.

Щелкните ячейку, в которую нужно ввести формулу.

Чтобы начать формулу с функции, нажмите кнопку Вставить функцию , в строке формул .

В диалоговом окне Вставка функции в поле выберите категорию выберите все.

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

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

Введите дополнительные аргументы, необходимые для завершения формулы.

По завершении ввода аргументов для формулы нажмите клавишу ВВОД.

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

Скопируйте образец данных из следующей таблицы и вставьте их в ячейку A1 нового листа Excel. Чтобы отобразить результаты формул, выделите их и нажмите клавишу F2, а затем — клавишу ВВОД. При необходимости измените ширину столбцов, чтобы видеть все данные.

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

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

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

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

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

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

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

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

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

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

Калькулятор расчета калорий в 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 (нуль).

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

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

Пользовательская функция для решения квадратных уравнений в 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 = «Первый корень — »
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

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

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

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

Табличный процессор MS Excel 2010. Вставка функции.

Здравствуйте, уважаемые читатели блога!

Сегодня рассмотрим функции табличного процессора MS Excel 2010.

Что такое функция? Если обратимся к Wiki , то можем прочитать массу определений функции: это и числовая, и философская, и целевая, и еще много-какая функция.

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

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

  1. Финансовые
  2. Дата и время
  3. Математические
  4. Статистические
  5. Ссылки и массивы
  6. Работа с базой данных
  7. Текстовые
  8. Логические
  9. Проверка свойств и значений
  10. Определенные пользователем

Второй способ классификации – по количеству аргументов. По количеству аргументов функции бывают:

  1. С одним аргументом (SIN, LN)
  2. С несколькими аргументами, имеется ввиду, что аргументов не больше определенного для этой функции количества (ЕСЛИ, ОКРУГЛ)
  3. С несколькими аргументами, число аргументов произвольно (СУММ, МИН)
  4. С необязательными аргументами (ПИ, РАНГ).

В качестве аргумента функции могут выступать:

  1. числа
  2. текст
  3. выражение
  4. адрес ячейки
  5. диапазон ячеек
  6. другая функция

Вставить функцию можно такими способами:

  1. Нажав кнопку Вставить функцию (см. рис)
  2. Во вкладке Формулы выбрать группу Библиотека функций и нажав либо кнопку Вставить функцию (сочетание клавиш Shift + F3), либо нажав кнопку соответствующей категории в этой же группе
  3. (Для продвинутых ) Ввести функцию непосредственно в активную ячейку.

Эти способа ввода незначительно отличаются друг от друга. Например, при использовании второго способа (из группы Библиотека функций – см. рис), при наведении на функцию появляется всплывающая подсказка о назначении данной функции.

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

Удачи в работе с табличным процессором MS Excel!

Вставляем функцию в Excel

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

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

  • СУММ – эта функция суммирует значения всех аргументов.
  • СРЗНАЧ – определяет среднее арифметическое величин, содержащихся в аргументах. Функция вычисляет сумму значений ячеек, а затем делит результат на их количество.
  • СЧЁТ – подсчитывает количество чисел в списке аргументов. Функция полезна для быстрого подсчета числа элементов в диапазоне.
  • МАКС – определяет максимальное значение из списка аргументов.
  • МИН – определяет минимальное значение из списка аргументов.

Как вставить функцию в Excel

В следующем примере мы создадим простую формулу для расчета средней цены за единицу заказанных товаров, используя функцию СРЗНАЧ.

  1. Выделите ячейку, в которую необходимо вставить формулу. В нашем примере мы выделим ячейку C11.
  2. Введите знак равенства (=) и нужное имя функции. Вы также можете вставить функцию из списка, который появится при вводе ее названия (автозавершение в Excel). В нашем случае мы введем =СРЗНАЧ.
  3. Введите диапазон ячеек в качестве аргумента в круглых скобках. В нашем примере мы введем (C3:C10). Эта формула суммирует значения в диапазоне С3:С10, а затем делит результат на количество ячеек в этом диапазоне, тем самым определяя среднее значение.
  4. Нажмите Enter на клавиатуре. Функция будет вычислена, и Вы увидите результат. В данном примере средняя цена за единицу заказанных товаров составила $15,93.

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

Вставка функции с помощью команды Автосумма

Команда Автосумма позволяет автоматически вставлять наиболее распространенные функции в формулы Excel, включая СУММ, СРЗНАЧ, СЧЁТ, МИН и МАКС. В следующем примере мы создадим формулу для расчета полной стоимости недавно заказанных товаров, используя функцию СУММ.

  1. Выделите ячейку, в которую необходимо вставить формулу. В нашем примере мы выделим ячейку D12.
  2. В группе команд Редактирование на вкладке Главная найдите и нажмите стрелку рядом с командой Автосумма, а затем выберите нужную функцию в раскрывающемся меню. В нашем случае мы выберем Сумма.
  3. Выбранная функция появится в ячейке. Команда Автосумма автоматически определяет диапазон ячеек для аргумента. В данном примере диапазон D3:D11 был выбран автоматически, а значения просуммированы, чтобы вычислить полную стоимость. Вы также можете вручную ввести нужный диапазон.
  4. Нажмите Enter на клавиатуре. Функция будет вычислена, и Вы увидите результат. В нашем примере сумма значений диапазона D3:D11 составляет $606,05.

В Microsoft Excel команду Автосумма можно также найти на вкладке Формулы.

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

Хотя в 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))

Вставляем функцию в Excel

​Смотрите также​ удобства применяется 2​ введите функцию подсчета​ инженерство и проектирование,​​ имени функции в​​ текст может содержать​В диалоговом окне​Надстройка Excel​ пользовательские функции, —​можно выводить сведения​ и заканчиваться оператором​ инструкцию, которая перемножает​ ₽ и вернет​ итоговая стоимость.​ вычислений. К сожалению,​ полной стоимости недавно​Выделите ячейку, в которую​В этом уроке вы​ типа ссылок: относительная​

​ количества числовых значений.​ анализ исследовательских данных​ ячейке, за которым​ неточности и грамматические​Надстройки​. Сохраните книгу с​

  • ​ ваше личное дело,​​ для пользователей. Вы​​ End Function. Помимо​ значения​ 950,00 ₽.​
  • ​Чтобы создать пользовательскую функцию​​ разработчики Excel не​ заказанных товаров, используя​ необходимо вставить формулу.​ узнаете, как вставить​ и абсолютная. Это​ Функция позволит нам​ и т.д.​
  • ​ следует открывающую круглую​​ ошибки. Для нас​нажмите кнопку «Обзор»,​ запоминающимся именем, таким​ но важно выбрать​ также можете использовать​ названия функции, оператор​
  • ​quantity​​В первой строке кода​ DISCOUNT в этой​ могли предугадать все​
  • ​ функцию​​ В нашем примере​ функцию в Excel​ позволяет нам скопировать​

Как вставить функцию в Excel

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

  1. ​ Function обычно включает​и​ VBA функция DISCOUNT(quantity,​ книге, сделайте следующее:​ потребности пользователей. Однако​Вставка функции в Excel
  2. ​СУММ​ мы выделим ячейку​ с помощью команды​ формулу без ошибок​ оценок.​ вычислительных функций включено​=​ статья была вам​ нажмите кнопку​MyFunctions​​ придерживаться его.​​ (​Вставка функции в Excel
  3. ​ один или несколько​price​ price) указывает, что​Нажмите клавиши​ в Excel можно​​.​​ C11.​Автосумма​ в результатах ее​Перейдите в ячейку D6​ в данный учебник​СУММ (​ полезна. Просим вас​Открыть​Вставка функции в Excel
  4. ​, в папке​​Чтобы использовать функцию, необходимо​​UserForms​ аргументов. Однако вы​, а затем умножает​ функции DISCOUNT требуется​ALT+F11​ создавать собственные функции,​Выделите ячейку, в которую​​Введите знак равенства (=)​​, а также вводя​Вставка функции в Excel

​ вычисления.​ и выберите инструмент​ с уроками по​.​ уделить пару секунд​, а затем установите​AddIns​ открыть книгу, содержащую​), но эта тема​

Вставка функции с помощью команды Автосумма

​ можете создать функцию​​ результат на 0,1:​​ два аргумента:​(или​ и ниже вы​ необходимо вставить формулу.​ и нужное имя​ ее вручную. Это​Примечание. Закладка «Формулы» предоставляет​ из выпадающего списка:​ Excel. На простых​После открывающей круглой скобки​ и сообщить, помогла​​ флажок рядом с​​. Она будет автоматически​

  1. ​ модуль, в котором​ выходит за рамки​ без аргументов. В​Discount = quantity *​quantity​Вставка функции в Excel
  2. ​FN+ALT+F11​​ найдете все нужные​​ В нашем примере​​ функции. Вы также​​ лишь малая часть​ доступ только к​ «Главная»-«Сумма»-«Число».​​ примерах и далее​​ в случае необходимости​ ли она вам,​ надстройкой в поле​ предложена в диалоговом​ она была создана.​​ данной статьи.​​ Excel доступно несколько​Вставка функции в Excel
  3. ​ price * 0.1​(количество) и​​на Mac), чтобы​​ для этого инструкции.​ мы выделим ячейку​ можете вставить функцию​ способов, которые позволяют​ наиболее часто используемым​На этот рас нам​ будем рассматривать практическое​ можно ввести один​ с помощью кнопок​Доступные надстройки​Вставка функции в Excel
  4. ​ окне​​ Если такая книга​​Даже простые макросы и​ встроенных функций (например,​Результат хранится в виде​price​ открыть редактор Visual​Пользовательские функции (как и​​ D12.​​ из списка, который​Вставка функции в Excel

​ вставить функцию. На​​ функциям. Больше можно​​ не подходит автоматическое​ применение функций.​​ или несколько аргументов —​​ внизу страницы. Для​

​.​

office-guru.ru

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

​Сохранить как​ не открыта, при​ пользовательские функции может​ СЛЧИС и ТДАТА),​ переменной​(цена). При вызове​ Basic, а затем​ макросы) записываются на​В группе команд​ появится при вводе​ самом деле их​ получить, вызвав окно​ определение диапазона ячеек,​Как найти среднее арифметическое​ данных, используемых функцией.​

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

​ удобства также приводим​После выполнения этих действий​, поэтому вам потребуется​​ попытке использования функции​ быть сложно понять.​​ в которых нет​Discount​ функции в ячейке​ щелкните​​ языке программирования​​Редактирование​​ ее названия (автозавершение​​ достаточно много, остальные​ «Мастер функций» нажав​ поэтому его нужно​​ число в Excel?​​ Excel покажет, данные​​ ссылку на оригинал​​ ваши пользовательские функции​​ только принять расположение,​​ возникнет ошибка #ИМЯ?​​ Чтобы сделать эту​​ аргументов.​. Оператор VBA, который​ листа необходимо указать​Insert​Visual Basic для приложений​на вкладке​ в Excel). В​ мы разберем в​ на кнопку «Вставить​ исправить на D2:D4.​ Создайте таблицу, так​ какого типа следует​ (на английском языке).​​ будут доступны при​​ используемое по умолчанию.​ При ссылке на​

​ задачу проще, добавьте​После оператора Function указывается​ хранит значение в​ эти два аргумента.​(Вставка) >​ (VBA)​Главная​ нашем случае мы​

​ следующих уроках. Итак,​ функцию» вначале строки​ После чего жмем​ как показано на​ ввести в качестве​Кроме ввода формул для​ каждом запуске Excel.​

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

​Сохранив книгу, выберите​ функцию, хранящуюся в​ комментарии с пояснениями.​

  1. ​ один или несколько​​ переменной, называется оператором​​ В формуле =DISCOUNT(D7;E7)​​Module​​. Они отличаются от​найдите и нажмите​ введем​ если Вы хотите​​ формул. Или нажать​​ Enter.​​ рисунке:​​ аргумента. Это может​ выполнения базовых математических​ Если вы хотите​Файл​

  2. ​ другой книге, необходимо​ Для этого нужно​ операторов VBA, которые​

    ​назначения​
    ​ аргумент​(Модуль). В правой​
    ​ макросов двумя вещами.​ стрелку рядом с​=СРЗНАЧ​
    ​ узнать, как вставляется​
    ​ комбинацию клавиш SHIFT+F3.​
    ​Из D6 в ячейку​
    ​В ячейках D5 и​ быть число, текст​
    ​ операций, таких как​

​ добавить функции в​​>​ указать перед ее​ ввести перед текстом​ проверят соответствия условиям​​, так как он​​quantity​ части редактора Visual​ Во-первых, в них​ командой​.​ функция в Excel,​Функция =ОКРУГЛ() более​ E6 скопируйте функцию​ E5 введем функции,​ или ссылка на​​ сложение, вычитание, умножение​​ библиотеку, вернитесь в​

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

​Параметры Excel​ именем название книги.​ апостроф. Например, ниже​ и выполняют вычисления​ вычисляет выражение справа​имеет значение D7,​

​ Basic появится окно​

​ используются процедуры​Автосумма​Введите диапазон ячеек в​ читайте урок до​ точна и полезнее​

​ =СЧЕТ() – это​ которые помогут получить​ другую ячейку.​ и деление, в Microsoft Excel​ редактор Visual Basic.​​.​​ Например, если вы​​ показана функция DISCOUNT​​ с использованием аргументов,​ от знака равенства​ а аргумент​ нового модуля.​Function​, а затем выберите​​ качестве аргумента в​​ конца.​ чем округление с​​ функция Excel для​​ среднее значение оценок​Например, функция​ можно использовать большую​ В обозревателе проектов​В Excel 2007 нажмите​

​ создали функцию DISCOUNT​ с комментариями. Благодаря​ переданных функции. Наконец,​​ и назначает результат​​price​​Скопируйте указанный ниже код​​, а не​ нужную функцию в​ круглых скобках. В​Прежде чем говорить о​ помощью формата ячеек.​ подсчета количества не​​ успеваемости по урокам​​ABS​​ библиотеку встроенных функций​​ под заголовком VBAProject​кнопку Microsoft Office​ в книге Personal.xlsb​ подобным комментариями и​

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

​ в процедуру функции​ имени переменной слева​— значение E7.​​ и вставьте его​​Sub​ раскрывающемся меню. В​ нашем примере мы​

​ том, как вставить​ В этом легко​
​ пустых ячеек.​ Английского и Математики.​принимает в качестве​
​ для выполнения других​
​ вы увидите модуль​
​и щелкните​

​ и хотите вызвать​ вам, и другим​ следует включить оператор,​ от него. Так​ Если скопировать формулу​​ в новый модуль.​​. Это значит, что​​ нашем случае мы​​ введем​ функцию в Excel,​

​ убедиться на практике.​На данном примере хорошо​

​ Ячейка E4 не​ аргумента одно число.​​ операций.​​ с таким же​Параметры Excel​ ее из другой​​ будет впоследствии проще​​ назначающий значение переменной​ как переменная​ в ячейки G8:G13,​Function DISCOUNT(quantity, price)​ они начинаются с​ выберем​(C3:C10)​​ познакомимся с некоторыми​​Создайте исходную таблицу так​ видно, что функция​ имеет значения, поэтому​ Функция​Эти функции можно использовать​ названием, как у​.​

​ книги, необходимо ввести​​ работать с кодом​​ с тем же​Discount​

​ вы получите указанные​

​If quantity >=100​ оператора​​Сумма​​. Эта формула суммирует​ наиболее распространенными и​

​ как показано на​

​ =СЧЕТ() игнорирует ячейки,​ результат будет вычислен​ПРОПИСН​ для выполнения таких​ файла надстройки (но​В диалоговом окне​=personal.xlsb!discount()​ VBA. Так, код​ именем, что у​называется так же,​ ниже результаты.​​ Then​​Function​.​ значения в диапазоне​ часто используемыми функциями:​ рисунке:​ которые не содержат​

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

​ из 2 оценок.​(которая преобразует строчные​ операций, как:​ без расширения XLAM).​Параметры Excel​, а не просто​ будет легче понять,​ функции. Это значение​ как и процедура​Рассмотрим, как Excel обрабатывает​DISCOUNT = quantity​, а не​Выбранная функция появится в​ С3:С10, а затем​СУМ​

​Ячейку B2 отформатируйте так,​ числа или пусты.​Перейдите в ячейку D5.​ буквы в прописные)​получение текущей даты;​Дважды щелкните модуль в​выберите категорию​=discount()​ если потребуется внести​ возвращается в формулу,​ функции, значение, хранящееся​ эту функцию. При​ * price *​Sub​ ячейке. Команда​

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

​ делит результат на​М​ чтобы были отображены​В ячейки D7 и​Выберите инструмент из выпадающего​ принимает текстовую строку.​поиск набора символов в​ Project Explorer, чтобы​Надстройки​.​ в него изменения.​ которая вызывает функцию.​ в переменной, возвращается​ нажатии клавиши​ 0.1​, и заканчиваются оператором​Автосумма​ количество ячеек в​– эта функция​ только 2 знака​ E7 введем логическую​

​ списка: «Главная»-«Сумма»-«Среднее». В​ Функция​ ячейке;​ вывести код функций.​.​Чтобы вставить пользовательскую функцию​Апостроф указывает приложению Excel​В пользовательских функциях поддерживается​ в формулу листа,​​ВВОД​​Else​End Function​​автоматически определяет диапазон​​ этом диапазоне, тем​ суммирует значения всех​ после запятой. Это​ функцию, которая позволит​ данном выпадающем списке​​ПИ​​обработка текста, например преобразование​ Чтобы добавить новую​В раскрывающемся списке​

Документирование макросов и пользовательских функций

​ быстрее (и избежать​ на то, что​ меньше ключевых слов​ из которой была​Excel ищет имя​DISCOUNT = 0​, а не​ ячеек для аргумента.​ самым определяя среднее​ аргументов.​ можно сделать с​ нам проверить, все​ находятся часто используемые​не принимает аргументов,​ слова «привет» в​ функцию, установите точку​Управление​ ошибок), ее можно​ следует игнорировать всю​

Пример функции VBA с примечаниями

​ VBA, чем в​ вызвана функция DISCOUNT.​DISCOUNT​End If​End Sub​ В данном примере​ значение.​СРЗНАЧ​ помощью диалогового окна​ ли студенты имеют​ математические функции.​ поскольку она просто​ «Привет» или «ПРИВЕТ»;​ вставки после оператора​выберите​ выбрать в диалоговом​ строку справа от​

​ макросах. Они могут​Если значение​в текущей книге​DISCOUNT = Application.Round(Discount,​. Во-вторых, они выполняют​​ диапазон D3:D11 был​​Нажмите​​– определяет среднее​​ «Формат ячеек» или​ оценки. Пример использования​Диапазон определяется автоматически, остается​ возвращает число пи​расчет выплаты по ссуде;​ End Function, который​Надстройки Excel​

​ окне «Вставка функции».​ него, поэтому вы​ только возвращать значение​quantity​ и определяет, что​ 2)​ различные вычисления, а​

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

​ выбран автоматически, а​Enter​ арифметическое величин, содержащихся​ инструментом расположенном на​ функции ЕСЛИ:​ только нажать Enter.​ (3,14159…).​сравнение содержимого двух ячеек.​ завершает последнюю функцию​. Затем нажмите кнопку​ Пользовательские функции доступны​ можете добавлять комментарии​ в формулу на​меньше 100, VBA​ это пользовательская функция​End Function​ не действия. Некоторые​ значения просуммированы, чтобы​на клавиатуре. Функция​​ в аргументах. Функция​​ закладке «Главная»-«Уменьшить разрядность»​​Перейдите в ячейку D7​​Функцию, которую теперь содержит​

​Ввод формулы и просмотр​Начало ввода данных в​ в окне кода,​Перейти​ в категории «Определенные​ в отдельных строках​ листе или в​ выполняет следующий оператор:​

Диалоговое окно

​ в модуле VBA.​Примечание:​ операторы (например, предназначенные​ вычислить полную стоимость.​ будет вычислена, и​ вычисляет сумму значений​В столбце C проставьте​ и выберите инструмент:​ ячейка D5, скопируйте​ результата​

​ ячейку​

  1. ​ и начните ввод.​​.​​ пользователем»:​​ или в правой​​ выражение, используемое в​

    ​Discount = 0​​ Имена аргументов, заключенные​​ Чтобы код было более​​ для выбора и​​ Вы также можете​

  2. ​ Вы увидите результат.​​ ячеек, а затем​​ формулу вычитания 1,25​​ «Формулы»-«Логические»-«ЕСЛИ».​​ в ячейку E5.​​   ​​   ​ Вы можете создать​В диалоговом окне​​Чтобы упростить доступ к​​ части строк, содержащих​​ другом макросе или​​Наконец, следующий оператор округляет​ в скобки (​ удобно читать, можно​​ форматирования диапазонов) исключаются​​ вручную ввести нужный​ В данном примере​ делит результат на​

  3. ​ из значений столбца​​Заполняем аргументы функции в​​Функция среднее значение в​​Нажмите клавишу ВВОД.​​Введите в ячейку знак​

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

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

  5. ​ средняя цена за​​ их количество.​​ B: =B-1,25.​​ диалоговом окне как​​ Excel: =СРЗНАЧ() в​​Закрывающая круглая скобка будет​​ равенства (​

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

    Диалоговое окно

  1. ​Discount​​и​​ с помощью клавиши​​ Из этой статьи​​Нажмите​

  2. ​ единицу заказанных товаров​​СЧЁТ​​Теперь вы знаете, как​​ показано на рисунке​​ ячейке E5 игнорирует​​ добавлена автоматически, а​​=​ всегда доступны в​ с именем книги,​​ отдельной книге, а​​ кода с комментария,​

  3. ​ могут изменять размер​​, до двух дробных​​price​​TAB​​ вы узнаете, как​

  4. ​Enter​​ составила​​– подсчитывает количество​ пользоваться функцией ОКРУГЛ​ и жмем ОК​​ текст. Так же​​ в ячейке отобразится​), а затем — букву​ категории «Определенные пользователем»​​ как показано ниже.​​ затем сохранить ее​

​ в котором объясняется​ окон, формулы в​ разрядов:​), представляют собой заполнители​. Отступы необязательны и​ создавать и применять​на клавиатуре. Функция​$15,93​ чисел в списке​ в Excel.​ (обратите внимание вторая​ она проигнорирует пустую​ результат функции, используемой​ (например, «а»), чтобы​ диалогового окна​

Именованный модуль в vbe

​Создав нужные функции, выберите​ как надстройку, которую​ его назначение, а​ ячейках, а также​Discount = Application.Round(Discount, 2)​ для значений, на​ не влияют на​ пользовательские функции. Для​ будет вычислена, и​.​ аргументов. Функция полезна​Описание аргументов функции =ОКРУГЛ():​ ссылка $A$4 -​ ячейку. Но если​ в формуле. Выделите​ просмотреть список доступных​​Вставка функции​​Файл​

Об авторах

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

support.office.com

Краткое руководство: использование функций в формулах

​ абсолютная):​​ в ячейке будет​ ячейку и посмотрите​ функций.​.​>​ каждом запуске Excel.​ комментарии для документирования​ узор для текста​ округления, но она​ скидка.​ добавить отступ, редактор​ макросов используется​ В нашем примере​ об ошибке в​ числа элементов в​ ссылка на ячейку​Функцию из D7 копируем​ значение 0, то​ на формулу в​Для прокрутки списка используйте​

​Эта статья основана на​Сохранить как​ Вот как это​ отдельных операторов.​ в ячейке. Если​ есть в Excel.​Оператор If в следующем​ Visual Basic автоматически​редактор Visual Basic (VBE)​

Функции Excel

​ сумма значений диапазона​ формуле, поэтому Вам​ диапазоне.​

  • ​ значение, которой нужно​

  • ​ в E7.​ результат естественно измениться.​

  • ​ строке формулы.​ клавишу СТРЕЛКА ВНИЗ.​ главе книги​

  • ​.​

  • ​ сделать:​

Инструкции

Изображение значка

​Кроме того, рекомендуется присваивать​ включить в процедуру​​ Чтобы использовать округление​

  • ​ блоке кода проверяет​ вставит его и​​, который открывается в​​ D3:D11 составляет​ необходимо проверять их​МАКС​ округлить.​

  • ​Описание аргументов функции: =ЕСЛИ().​В Excel еще существует​

    ​Попробуйте создать формулу с​При этом для каждой​Microsoft Office Excel 2007​В диалоговом окне​Windows macOS ​ макросам и пользовательским​​ функции код для​​ в этом операторе,​ аргумент​ для следующей строки.​

Изображение значка

​ отдельном окне.​$606,05​​ самостоятельно. Чтобы узнать,​

  • ​– определяет максимальное​Второй аргумент – это​ В ячейке A4​ функция =СРЗНАЧА() –​ вложенными функциями, т. е.​ функции будет отображаться​ Inside Out​​Сохранить как​​Создав нужные функции, выберите​​ функциям описательные имена.​

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

​ всплывающая подсказка с​​, написанной Марком Доджем​​откройте раскрывающийся список​Файл​ Например, присвойте макросу​​ ошибка #ЗНАЧ!​​ что метод (функцию)​и сравнивает количество​ на один знак​ предоставляет скидку в​​В Microsoft Excel команду​​ сделать, изучите урок​ аргументов.​ запятой, которое нужно​ всех студентов, а​

Три типа функций

Изображение значка

​ число. Она отличается​ в которой используется​​ кратким описанием. Например,​

  • ​ (Mark Dodge) и​

​Тип файла​>​ название​Единственное действие, которое может​ Round следует искать​ проданных товаров со​ табуляции влево, нажмите​ размере 10 % клиентам,​

Формула, отображаемая в строке формулы

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

  • ​Автосумма​ Двойная проверка формул​МИН​ оставить после округления.​ в ячейке D6​

  • ​ от предыдущей тем,​ результат другой функции.​ всплывающая подсказка для​ Крейгом Стинсоном (Craig​и выберите значение​

support.office.com

Работа с функциями в Excel на примерах

​Сохранить как​MonthLabels​ выполнять процедура функции​ в объекте Application​ значением 100:​SHIFT+TAB​ заказавшим более 100​можно также найти​ в Excel.​

​– определяет минимальное​Внимание! Форматирование ячеек только​ и E6 –​ что:​Поработайте с функциями, которые​ функции​ Stinson). В нее​Надстройка Excel​

Функция вычисления среднего числа

​.​вместо​ (кроме вычислений), —​ (Excel). Для этого​If quantity >= 100​

Таблица среднего бала.

​.​ единиц товара. Ниже​ на вкладке​Команда​ значение из списка​ отображает округление но​ количество оценок. Функция​=СРЗНАЧ() – пропускает ячейки​ раньше не использовали,​ABS​

  1. ​ были добавлены сведения,​
  2. ​. Сохраните книгу с​В Excel 2007 нажмите​Labels​ это отображение диалогового​ добавьте слово​Опция среднее.
  3. ​ Then​Теперь вы готовы использовать​
  4. ​ мы объясним, как​Формулы​Автосумма​

Функция СРЗНАЧ.

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

Разные значения.

​, чтобы более точно​ окна. Чтобы получить​Application​DISCOUNT = quantity​ новую функцию DISCOUNT.​ создать функцию для​

Функция СРЗНАЧА.

  • ​.​позволяет автоматически вставлять​В следующем примере мы​
  • ​ а =ОКРУГЛ() –​ ли показатели D6​ чисел;​ ли они ожидаемые​

​ «Возвращает модуль (абсолютную​

Функция подсчета количества значений в Excel

  1. ​ поздним версиям Excel.​ как​, а затем щелкните​ указать его назначение.​ значение от пользователя,​перед словом Round.​ * price *​
  2. ​ Закройте редактор Visual​ расчета такой скидки.​Автор: Антон Андронов​ наиболее распространенные функции​
  3. ​ создадим простую формулу​ округляет значение. Поэтому​ и E6 со​=СРЗНАЧА() – пропускает только​ значения.​ величину) числа».​Примечание:​
  4. ​MyFunctions​Сохранить как​ Описательные имена макросов​ выполняющего функцию, можно​ Используйте этот синтаксис​ 0.1​

Функция СЧЕТ.

​ Basic, выделите ячейку​В примере ниже показана​Хотя в Excel предлагается​ в формулы Excel,​ для расчета средней​

Функция ЕСЛИ в Excel

​ для вычислений и​ значением A4. Если​ пустые ячейки, а​Функции в Excel –​Выбор функции и ввод​ Мы стараемся как можно​.​

  1. ​.​ и пользовательских функций​ использовать в ней​Логические формулы.
  2. ​ каждый раз, когда​Else​ G7 и введите​ форма заказа, в​ большое число встроенных​ включая СУММ, СРЗНАЧ,​ цены за единицу​Аргументы функции ЕСЛИ.
  3. ​ расчетов нужно использовать​ совпадают, то получаем​

Функция ЕСЛИ.

​ текстовые значения воспринимает​ это вычислительные инструменты​ ее аргументов​ оперативнее обеспечивать вас​Сохранив книгу, выберите​В диалоговом окне​ особенно полезны, если​ оператор​ нужно получить доступ​DISCOUNT = 0​ следующий код:​ которой перечислены товары,​ функций, в нем​ СЧЁТ, МИН и​ заказанных товаров, используя​

​ функцию =ОКРУГЛ(), так​ ответ ДА, а​ как 0.​ пригодны для самых​   ​ актуальными справочными материалами​Сервис​Сохранить как​

​ существует множество процедур​InputBox​ к функции Excel​End If​=DISCOUNT(D7;E7)​ их количество и​ может не быть​ МАКС. В следующем​ функцию​ как форматирование ячеек​

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

​ если нет –​​ разных отраслей деятельности:​В списке дважды щелкните​ на вашем языке.​>​

  1. ​откройте раскрывающийся список​ с похожим назначением.​. Кроме того, с​Функция ОКРУГЛ.
  2. ​ из модуля VBA.​Если количество проданных товаров​Excel вычислит 10%-ю скидку​ цена, скидка (если​ той функции, которая​ примере мы создадим​СРЗНАЧ​ приведет к ошибочным​ ответ НЕТ.​
  3. ​В ячейки D6 и​ финансы, статистика, банковское​ функцию, которую требуется​ Эта страница переведена​

​Надстройки Excel​Тип файла​То, как вы документируйте​

​ помощью оператора​

  1. ​Пользовательские функции должны начинаться​ не меньше 100,​ для 200 единиц​ она предоставляется) и​
  2. ​ нужна для ваших​ формулу для расчета​.​ значениям в результатах.​

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

exceltable.com

​ по цене 47,50​

На чтение 13 мин. Просмотров 9.2k.

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

Но использование одной функции ЕСЛИ часто приводит к использованию второй, и как только вы объединяете более пары ЕСЛИ, ваши формулы могут начать выглядеть как маленькие Франкенштейны 🙂

Являются ли вложенные ЕСЛИ опасными? Всегда ли они необходимы? Какие есть альтернативы?

Читайте дальше, чтобы узнать ответы на эти вопросы и многое другое …

Содержание

  1. 1. Базовый ЕСЛИ
  2. 2. Что значит вложение
  3. 3. Простой вложенный ЕСЛИ (IF)
  4. 4. Вложенный ЕСЛИ (IF) для шкал
  5. 5. Логика вложенных ЕСЛИ
  6. 6. Используйте функцию «Вычислить формулу»
  7. 7. Используйте F9, чтобы определить результаты проверки
  8. 8. Помни об ограничениях
  9. 9. Расставляй круглые скобки как профессионал
  10. 10. Используйте окно подсказки для навигации и выбора
  11. 11. Будьте осторожны с текстом и цифрами
  12. 12. Добавляйте разрывы строк, чтобы облегчить чтение вложенных ЕСЛИ
  13. 13. Уменьшите количество ЕСЛИ с И и ИЛИ
  14. 14. Замените вложенные ЕСЛИ на ВПР
  15. 15. Выберите ВЫБОР
  16. 16. Используйте ЕСЛИМН вместо вложенных ЕСЛИ
  17. 17. Используйте МАКС
  18. 18. Перехват ошибок с помощью ЕСЛИОШИБКА
  19. 19. Используйте «логическую» логику
  20. Когда вам нужен вложенный ЕСЛИ?

1. Базовый ЕСЛИ

Прежде чем говорить о вложенном ЕСЛИ, давайте быстро рассмотрим базовую структуру:

= ЕСЛИ (лог_выражение; [значение_если_истина];[значение_если_ложь])

Функция ЕСЛИ запускает тест и выполняет различные действия в зависимости от того, является ли результат истинным или ложным.

Обратите внимание на квадратные скобки … это означает, что аргументы необязательны. Однако вы должны указать либо значение ИСТИНА, либо значение ЛОЖЬ.

Чтобы проиллюстрировать это, мы используем ЕСЛИ, чтобы проверить результаты и вернуть «Зачтено» для баллов не менее 65:

Базовый ЕСЛИ
Базовая функция ЕСЛИ — вернуть «Зачтено» для баллов не менее 65

Ячейка D4 в примере содержит эту формулу:

= ЕСЛИ (С4 > = 65; «Зачтено»)

Что можно прочитать так: если количество баллов в ячейке C4 составляет не менее 65, вернуть «Зачтено».

Однако обратите внимание, что если оценка меньше 65, ЕСЛИ возвращает ЛОЖЬ, так как мы не указали «значение_если_ложь». Чтобы отобразить «Не зачтено» для непроходных оценок, мы можем добавить «Не зачтено» в качестве ложного аргумента следующим образом:

= ЕСЛИ (С3 > = 65; «Зачтено»; «Не зачтено»)

Базовая функция ЕСЛИ
Базовая функция ЕСЛИ — с добавленным значением_если_ложь

2. Что значит вложение

Вложенность означает объединение формул, одна внутри другой, так что одна формула обрабатывает результат другой. Например, вот формула, в которой функция СЕГОДНЯ (TODAY) вложена в функцию МЕСЯЦ (MONTH):

= МЕСЯЦ (СЕГОДНЯ ())

Функция СЕГОДНЯ (TODAY) возвращает текущую дату внутри функции МЕСЯЦ (MONTH). Функция МЕСЯЦ (MONTH) берет эту дату и возвращает текущий месяц. Даже в формулах средней сложности часто используются вложения, поэтому вы увидите их в более сложных формулах.

3. Простой вложенный ЕСЛИ (IF)

Вложенный ЕСЛИ — это всего лишь два оператора ЕСЛИ в формуле, где один оператор ЕСЛИ появляется внутри другого.

Чтобы проиллюстрировать это, ниже я расширил оригинальную формулу «Зачтено/Не зачтено», приведенную выше, для обработки «пустых» результатов, добавив функцию еще одну функцию ЕСЛИ:

Простой вложенный ЕСЛИ
Простой вложенный ЕСЛИ

= ЕСЛИ (С4 = «»; «Неявка»; ЕСЛИ (С4> = 65; «Зачтено»; «Не зачтено»))

Внешний ЕСЛИ запускается первым и проверяет, является ли ячейка C4 пустой. Если это так, внешний ЕСЛИ возвращает «Неявка», а внутренний ЕСЛИ никогда не запускается.

Если ячейка не пуста, внешний ЕСЛИ возвращает ЛОЖЬ, и запускается вторая функция ЕСЛИ.

4. Вложенный ЕСЛИ (IF) для шкал

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

Хитрость заключается в том, чтобы выбрать направление (от высокого к низкому или от низкого к высокому), а затем соответствующим образом структурировать условия. Например, чтобы присвоить оценки в порядке «от низкого до высокого», мы можем представить решение, отраженное в следующей таблице. Обратите внимание, что нет условия для «Отлично», потому что, как только мы выполним все остальные условия, мы знаем, что баллов должно быть больше 90, и, следовательно, «Отлично».

Баллы Оценка Условие
0 — 63 Неуд. < 64
64 — 72 Удовл. < 73
73 — 89 Хорошо < 90
90 — 100 Отлично  

С четко понятными условиями мы можем ввести первый оператор ЕСЛИ:

= ЕСЛИ (С5 <64;»Неуд.»)

Мы позаботились о «Неуд.». Теперь, чтобы обработать «Удовл.», нам нужно добавить еще одно условие:

= ЕСЛИ (С5 <64; «Неуд.»; ЕСЛИ (С5 <73; «Удовл.»))

Обратите внимание, что я просто добавил еще один ЕСЛИ в первый для «ложного» результата. Чтобы расширить формулу для обработки оценки «Хорошо», мы повторяем процесс:

= ЕСЛИ (С5 <64; «Неуд.»; ЕСЛИ (С5 <73; «Удовл.»; ЕСЛИ (С5 <90; «Хорошо»)))

Мы обработали все оценки и дошли до последнего уровня «Отлично». Вместо добавления еще одного ЕСЛИ, просто добавьте итоговую оценку для ЛОЖЬ.

= ЕСЛИ (С5 <64; «Неуд.»; ЕСЛИ (С5 <73; «Удовл.»; ЕСЛИ (С5 <90; «Хорошо»; «Отлично»)))

Вот последняя вложенная формула ЕСЛИ в действии:

Завершенный вложенный пример ЕСЛИ для расчета оценок
Завершенный вложенный пример ЕСЛИ
для расчета оценок

5. Логика вложенных ЕСЛИ

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

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

Логика вложенной функции ЕСЛИ

6. Используйте функцию «Вычислить формулу»

В Windows вы можете использовать функцию «Вычислить формулу», чтобы шаг за шагом посмотреть, как Excel решает ваши формулы. Это отличный способ «увидеть» логический поток более сложных формул и устранить неполадки, если что-то не работает. Кнопку «Вычислить формулу» можно найти на ленте на вкладке Формулы.

Функция Вычислить формулу в ленте
Функция Вычислить формулу в ленте

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

Окно Вычисление формулы
Окно Вычисление формулы

К сожалению, версия Excel для Mac не содержит этой функции, но вы можете использовать прием, описанный ниже.

7. Используйте F9, чтобы определить результаты проверки

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

Проверка вложенного ЕСЛИ
Проверка вложенного ЕСЛИ
Результат проверки с клавишей F9
Результат проверки с клавишей F9

Используйте Ctrl + Z (Command + Z на Mac), чтобы отменить F9. Вы также можете нажать Esc, чтобы выйти из редактора формул без каких-либо изменений.

8. Помни об ограничениях

В Excel есть ограничения на то, насколько глубоко вы можете вкладывать функции ЕСЛИ. До Excel 2007 Excel допускал до 7 уровней вложенных ЕСЛИ. Excel после 2007 поддерживает до 64 уровней.

Однако то, что вы можете вкладывать много ЕСЛИ, не означает, что это нужно делать. Каждый дополнительный уровень, который вы добавляете, усложняет понимание формулы и устранение неполадок. Если вы работаете с вложенным ЕСЛИ глубиной более чем на несколько уровней, вам стоит рассмотреть альтернативные варианты, приведенные ниже.

9. Расставляй круглые скобки как профессионал

Одной из проблем с вложенными ЕСЛИ является сопоставление или «балансировка» скобок. Если круглые скобки стоят не там, где нужно или их меньше, чем требует формула, результат вы не получите. К счастью, Excel предоставляет несколько инструментов, которые помогут вам убедиться, что круглые скобки «сбалансированы» при редактировании формул.

Во-первых, если у вас несколько наборов скобок, круглые скобки имеют цветовую кодировку, поэтому открывающие скобки соответствуют закрывающим скобкам. Эти цвета нелегко рассмотреть, но при желании — можно:

Цветные скобки
Цветные скобки

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

Пара скобок выделена жирным
Пара скобок выделена жирным

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

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

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

Выберите аргументы формулы с помощью подсказки на экране
Выберите аргументы формулы с помощью подсказки на экране

11. Будьте осторожны с текстом и цифрами

При работе с функцией ЕСЛИ, убедитесь, что вы правильно сопоставляете цифры и текст. Я часто вижу вот такие формулы ЕСЛИ:

= ЕСЛИ (А1 = «100»; «Зачтено»; «Не зачтено»)

Является ли результат теста в А1 действительно текстом, а не числом? Нет? Тогда не используйте кавычки с числом. В противном случае логический тест вернет ЛОЖЬ, даже если значение является проходным баллом, потому что «100» не совпадает с 100. Если тестовый балл является числовым, используйте вот такую формулу:

= ЕСЛИ (А1 = 100; «Зачтено»; «Не зачтено»)

12. Добавляйте разрывы строк, чтобы облегчить чтение вложенных ЕСЛИ

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

Например, на приведенном ниже экране показан вложенный ЕСЛИ, который рассчитывает комиссионную ставку на основе суммы продажи. Здесь вы можете увидеть типичную вложенную ЕСЛИ-структуру, которую трудно расшифровать:

Вложенные ЕСЛИ без разрывов строк трудно читать
Вложенные ЕСЛИ без разрывов строк трудно читать

Однако, если я добавляю разрывы строк перед каждым «значением_если_ ложь», логика формулы легко читается. Кроме того, формулу легче редактировать:

Разрывы строк облегчают чтение вложенных ЕСЛИ
Разрывы строк облегчают чтение вложенных ЕСЛИ

Вы можете добавить разрывы строк в Windows с помощью Alt + Enter, на Mac — Control + Option + Return.

13. Уменьшите количество ЕСЛИ с И и ИЛИ

Вложенные ЕСЛИ — мощный инструмент, но формулы быстро становятся громоздкими, когда вы добавляете больше уровней. Один из способов избежать большего количества уровней — использовать ЕСЛИ в сочетании с функциями И (AND) и ИЛИ (OR). Эти функции возвращают простой результат ИСТИНА / ЛОЖЬ, который отлично работает внутри ЕСЛИ, поэтому вы можете использовать их для расширения логики одного ЕСЛИ.

Например, в приведенной ниже задаче мы хотим поставить «х» в столбце D, чтобы отметить строки, где цвет «красный», а размер «маленький».

ЕСЛИ с функцией И
ЕСЛИ с функцией И проще, чем два вложенных ЕСЛИ

Мы могли бы написать формулу с двумя вложенными ЕСЛИ, вот так:

= ЕСЛИ (В3 = «красный»; ЕСЛИ (С3 = «маленький»; «х»; «»); «»)

Однако, заменив одну проверку на функцию И, мы можем упростить формулу:

= ЕСЛИ (И (В3 = «красный»; С3 = «маленький»); «х»; «»)

Таким же образом, мы можем легко расширить эту формулу с помощью функции ИЛИ, чтобы проверить наличие красного ИЛИ синего И маленького:

= ЕСЛИ (И (ИЛИ (В3= «красный»; В3= «синий»);С3= «маленький»);»х»; «»)

Все то же самое можно сделать с помощью вложенных ЕСЛИ, но формула быстро станет сложной.

14. Замените вложенные ЕСЛИ на ВПР

Когда вложенный ЕСЛИ просто присваивает значения на основе одного значения, его можно легко заменить функцией ВПР (VLOOKUP). Например, этот вложенный ЕСЛИ присваивает номера пяти различным цветам:

= ЕСЛИ (F2 = «красный»; 100; ЕСЛИ (F2 = «синий»; 200; ЕСЛИ (F2 = «зеленый»; 300; ЕСЛИ (F2 = «оранжевый»; 400;500))))

Мы можем легко заменить все ЕСЛИ одним ВПР:

= ВПР (F2; В3:C7; 2; 0)

 Вложенный ЕСЛИ против ВПР
Вложенный ЕСЛИ против ВПР

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

15. Выберите ВЫБОР

Функция ВЫБОР (CHOOSE) может предоставить элегантное решение, когда вам необходимо отобразить простые последовательные числа (1,2,3 и т.д.) для произвольных значений.

В приведенном ниже примере ВЫБОР (CHOOSE) используется для создания пользовательских сокращений дней недели:

Функция ВЫБОР
Функция ВЫБОР

Конечно, вы можете использовать длинный и сложный вложенный ЕСЛИ, чтобы сделать то же самое, но, пожалуйста, не надо 🙂

16. Используйте ЕСЛИМН вместо вложенных ЕСЛИ

Если вы используете Excel 2016, у Office 365 есть новая функция, которую вы можете использовать вместо вложенных ЕСЛИ: функция ЕСЛИМН (IFS). Функция ЕСЛИМН (IFS) предоставляет специальную структуру для оценки нескольких условий без вложенности

Перепишем формулу из примера про оценки с использованием ЕСЛИМН:

= ЕСЛИМН (C5 <64; «Неуд.»; C5 <73; «Удовл.»; C5 <90; «Хорошо»; C5> = 90; «Отлично»)

Обратите внимание, в формуле всего одна пара скобок!

Что происходит, когда вы открываете электронную таблицу, которая использует функцию ЕСЛИМН (IFS) в более старой версии Excel? В Excel 2013 и 2010 (и я верю в Excel 2007, но не могу проверить) вы увидите «_xlfn» в ячейке. Ранее вычисленное значение все еще будет там, но если формула пересчитается, вы увидите ошибку #ИМЯ?.

17. Используйте МАКС

Иногда вы можете использовать МАКС (MAX) или МИН (MIN) очень интересным способом, избегая оператора ЕСЛИ (IF). Предположим, что у вас есть расчет, который должен привести к положительному числу или нулю. Другими словами, если вычисление возвращает отрицательное число, вы просто хотите показать ноль.

Функция МАКС дает вам способ сделать это без ЕСЛИ:

= МАКС (расчет; 0)

Этот метод возвращает результат вычисления, если положительный, и ноль в противном случае.

Я люблю эту конструкцию, потому что она очень проста.

18. Перехват ошибок с помощью ЕСЛИОШИБКА

Классическим использованием ЕСЛИ является перехват ошибок и предоставление другого результата при возникновении ошибки, например:

= ЕСЛИ (ЕОШИБКА (формула); значение_если_ошибка; формула)

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

В Excel 2007 была введена функция ЕСЛИОШИБКА (IFERROR), которая позволяет более элегантно отлавливать ошибки:

= ЕСЛИОШИБКА (формула; значение_если_ошибка)

Теперь, когда формула выдает ошибку, ЕСЛИОШИБКА просто возвращает указанное вами значение.

19. Используйте «логическую» логику

Вы также можете иногда избегать вложенных ЕСЛИ, используя так называемую «логическую логику». Слово логическое относится к значениям ИСТИНА / ЛОЖЬ. Хотя Excel отображает слова ИСТИНА и ЛОЖЬ в ячейках, внутренне Excel воспринимает ИСТИНА как 1, а ЛОЖЬ как ноль.

Вы можете использовать этот факт для написания умных и очень быстрых формул. Например, в приведенном выше примере с ВПР (VLOOKUP) у нас есть вложенная формула ЕСЛИ, которая выглядит следующим образом:

= ЕСЛИ (F2 = «красный»; 100; ЕСЛИ (F2 = «синий»; 200; ЕСЛИ (F2 = «зеленый»; 300; ЕСЛИ (F2 = «оранжевый»; 400;500))))

Используя логическую логику, вы можете переписать формулу следующим образом:

= (F2 = «красный») * 100 + (F2 = «синий») * 200 + (F2 = «зеленый») * 300+ (F2 = «оранжевый») * 400+ (F2 = «фиолетовый») * 500

Каждое выражение выполняет тест, а затем умножает результат теста на «значение, если оно истинно». Поскольку тесты возвращают значение ИСТИНА или ЛОЖЬ (1 или 0), результаты ЛОЖЬ фактически отменяют формулу.

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

Когда вам нужен вложенный ЕСЛИ?

Со всеми этими опциями для избежания вложенных ЕСЛИ, вы можете задаться вопросом: «А когда же его использовать?»

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

Например, предположим, что вы хотите определить статус счета-фактуры «Оплачено», «Ожидание», «Просрочено» и т.д. Для этого необходимо посмотреть дату счета-фактуры и остаток задолженности:

Расчет статуса счета-фактуры с помощью вложенного ЕСЛИ
Расчет статуса счета-фактуры с помощью вложенного ЕСЛИ

В этом случае вложенный ЕСЛИ является идеальным решением.

Использование функции в качестве одного из аргументов в формуле, использующей функцию, называется вложенным, и мы будем называть ее вложенной функцией. Например, при вложении функций СНВП и СУММ в аргументы функции ЕСЛИ следующая формула суммирует набор чисел (G2:G5), только если среднее значение другого набора чисел (F2:F5) больше 50. В противном случае она возвращает значение 0.

Функции СРЗНАЧ и СУММ вложены в функцию ЕСЛИ.

В формулу можно вложить до 64 уровней функций.

Щелкните ячейку, в которую нужно ввести формулу.

Чтобы начать формулу с функции, щелкните Вставить функцию в .

Знак равенства (=) будет вставлен автоматически.

В поле Категория выберите пункт Все.

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

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

Чтобы ввести другую функцию в качестве аргумента, введите функцию в поле этого аргумента.

Части формулы, отображенные в диалоговом окне Аргументы функции, отображают функцию, выбранную на предыдущем шаге.

Если щелкнуть элемент ЕСЛИ, в диалоговом окне Аргументы функции отображаются аргументы для функции ЕСЛИ. Чтобы вложить другую функцию, можно ввести ее в поле аргумента. Например, можно ввести СУММ(G2:G5) в поле Значение_если_истина функции ЕСЛИ.

Введите дополнительные аргументы, необходимые для завершения формулы.

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

Совет: Для получения дополнительных сведений о функции и ее аргументах щелкните ссылку Справка по этой функции.

После ввода всех аргументов формулы нажмите кнопку ОК.

Щелкните ячейку, в которую нужно ввести формулу.

Чтобы начать формулу с функции, щелкните Вставить функцию в .

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

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

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

Введите дополнительные аргументы, необходимые для завершения формулы.

Завершив ввод аргументов формулы, нажмите ввод.

Примеры

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

Скопируйте образец данных из следующей таблицы и вставьте их в ячейку A1 нового листа Excel. Чтобы отобразить результаты формул, выделите их и нажмите клавишу F2, а затем — клавишу ВВОД. При необходимости измените ширину столбцов, чтобы видеть все данные.

Как объединить 2 функции в экселе

Вот, вот, а за равно я вообще не подумал(

я, наверное условие не совсем правильно задал! Есть 2 фразы, так вот, если длина текста в ячейке D2 меньше заданного значения, то берем фразу с ячейки F2, а если длина текста больше либо равна длине в ячейке D2, то берем фразу с ячейки А2

Пробуем решить:
=если(длстр(d2)<=$e$2;f2)

по аналогии прописываем вариант со знаком меньше:
=если(длстр(d2)>=$e$2;a2)

Ребята, подскажите пожалуйста, как их объединить, что бы все 3 условия работали одновременно?

Как в таблицах Excel создавать мегаформулы

В этой статье описан метод объединения нескольких промежуточных формул для создания одной длинной формулы (мегаформулы). Если вы уже поработали в Excel определенное время, то могли видеть длинные формулы, которые были практически непонятны. Здесь вы узнаете, как они были созданы.

Поставим цель создать одну формулу, которая удаляет отчество (например, Иван Павлович Петров становится Иваном Петровым). На рис. 125.1 показан лист с некоторыми именами и шесть столбцов промежуточных формул, которые выполняют задачу. Обратите внимание, что формулы несовершенны: они не могут обрабатывать имя из одного слова.

Рис. 125.1. Удаление средних имен и инициалов требует указания шести промежуточных формул или одной мегаформулы

Рис. 125.1. Удаление средних имен и инициалов требует указания шести промежуточных формул или одной мегаформулы

Формулы, введенные в строке 2, приведены в таблице ниже.

Ячейка Промежуточная формула Действие
B2 =СЖПРОБЕЛЫ(A2) Удаляет избыточные пробелы
C2 =НАЙТИ(» «;A2;1) Находит первый пробел
D2 =НАЙТИ(» «;B2;C2+1) Находит второй пробел, если он есть
E2 =ЕСЛИОШИБКА(D2;C2) Использует первый пробел, если нет второго
F2 =ЛЕВСИМВ(B2;C2) Извлекает имя
G2 =ПРАВСИМВ(B2;ДЛСТР(B2)-E2) Извлекает фамилию
H2 =F2&G2 Объединяет имя и фамилию

Затратив немного времени, вы можете исключить все промежуточные формулы и заменить их одной мегаформулой. Это можно сделать путем создания всех промежуточных формул и последующего редактирования окончательной формулы (в данном случае формулы в столбце Н) с заменой каждой ссылки на ячейку копией формулы в этой ячейке. К счастью, вы можете использовать буфер обмена для копирования и вставки формул, а не вводить их заново. Продолжайте этот процесс, пока ячейка H1 не станет содержать ничего, кроме ссылки на ячейку А1. В конечном итоге у вас получится следующая мегаформула в одной ячейке:

=ЛЕВСИМВ(СЖПРОБЕЛЫ(A2);НАЙТИ(» «;СЖПРОБЕЛЫ(A2);1))&ПРАВСИМВ(СЖПРОБЕЛЫ(A2);ДЛСТР(СЖПРОБЕЛЫ(A2))-ЕСЛИОШИБКА(НАЙТИ(» «;СЖПРОБЕЛЫ(A2);НАЙТИ(» «;СЖПРОБЕЛЫ(A2);1)+1);НАЙТИ(» «;СЖПРОБЕЛЫ(A2);1)))

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

Если вам все еще не ясен описанный процесс, выполните его пошагово.

  1. Проверьте формулу в Н2. Она содержит две ссылки на ячейки (F2 и 62): =F2&G2
  2. Активизируйте ячейку G2 и скопируйте содержимое формулы (без знака равенства) в буфер обмена.
  3. Выберите ячейку Н2 и замените ссылку на ячейку G2 содержимым из буфера обмена. Теперь ячейка Н2 содержит следующую формулу:
    =F2&ПРАВСИМВ(B2; ДЛСТР(B2)-E2)
  4. Активизируйте ячейку F2 и скопируйте содержимое формулы (без знака равенства) в буфер обмена.
  5. Выберите ячейку Н2 и замените ссылку на ячейку F2 содержимым из буфера обмена. Теперь формула в ячейке Н2 следующая:
    =ЛЕВСИМВ(B2;C2)&ПРАВСИМВ(B2;ДЛСТР(B2)-E2)
  6. Ячейка Н2 на данный момент содержит ссылки на три ячейки (В2, С2 и Е2). Формулы в них заменяют каждую из ссылок на эти ячейки.
  7. Замените ссылку на ячейку Е2 формулой в Е2. В результате получаем:
    =ЛЕВСИМВ(B2;C2)&ПРАВСИМВ(B2;ДЛСТР(B2)-ЕСЛИОШИБКА(D2;C2))
  8. Скопируйте формулу из D2 и замените ссылки на ячейку D2.

Обратите внимание, что формула в ячейке Н2 теперь содержит ссылки только на ячейку А2. Мегаформула завершена и выполняет те же самые задачи, что и промежуточные формулы (которые теперь можно удалить). Вы можете, конечно, адаптировать этот метод для собственных нужд. Приятной особенностью является то, что одна мегаформула часто рассчитывается быстрее, чем несколько промежуточных формул.

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

Общие сведения. Способы запуска[править]

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

Существует 3 способа запуска мастера функций:

  1. С помощью кнопки в строке формул;
  2. С помощью команды «Другие функции…» кнопки ;
  3. С помощью пункта меню «Вставка» —> «Функция»;

Первый шаг[править]

После выполнения одного из этих действий откроется окно мастера функций:

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

Второй шаг[править]

Открывается следующее окно:

Вставка вложенной функции[править]

В одну функцию можно вставить другую функцию. Допускается до 7-ми уровней вложения функций (в Office 2007 — до 64).
Конечно, функцию можно записать вручную (писать название вложенной функции, открывать скобки, ставить точки с запятой). Однако это противоречит самой идеологии мастера функций, который должен облегчать написание формул, защищать пользователя от ошибок и свести к минимуму ручную работу. Существует более удобный способ вложить функцию — специальная кнопка на панели «Строка формул»:

После выбора нужной функции из выпадающего списка Excel вставит название функции и круглые скобки в указанное место в формуле (в активное текстовое поле аргумента). После этого окно мастера функций для предыдущей функции (в этом примере «СУММ») сменится на окно для вставляемой функции («СТЕПЕНЬ»), и ее название в формуле сделается жирным:

Переключение на другую функцию в формуле[править]

Чтобы опять вернуться к окну для функции «СУММ», достаточно просто щелкнуть в строке формул на ее названии, и окно для степени сменится на окно для «СУММ». После этого функция «СУММ» в названии станет жирной, показывая, что в данный момент окно открыто именно для нее.

Типичные ошибки при работе с мастером функций[править]

  • Перед вставкой функции забывают переключиться (кликнуть курсором мыши) в нужное текстовое поле (в нужный аргумент). При этом в активное текстовое поле вставляется знак «=», затем название функции;
  • После переключения на другую функцию (щелчка на ней в строке формул) забывают щелкнуть мышкой в одно из текстовых полей мастера функций и вставляют новую функцию. При этом название активной функции в строке формул заменяется на название вставляемой функции;

Полезные советы по работе с мастером функций[править]

  • Окно мастера функций можно перетаскивать за любую точку;
  • В окне мастера функций, выделяя ссылку и нажимая «F4» один, или несколько раз, можно поменять тип ссылки (сделать абсолютной или смешанной);
  • Если в окне мастера функций нажать «F3», откроется окно для вставки именованных ссылок (если они существуют);
  • Если какую-то функцию в формуле нужно заменить на другую, выделяем эту функцию в строке формул и вставляем нужную функцию. Выделенная функция заменится на вставляемую;
  • Клавиша «Tab» служит для переключения на следующий аргумент (текстовое поле), а сочетание «Shift+Tab» — на предыдущее;
  • Если выделить ячейку, содержащую формулы с функциями и нажать кнопку Fx, то откроется окно мастера функций для одной из функций в формуле;
  • Для того, чтобы написать формулу типа «=СУММ(J1:J3)/СУММ(K1:K3)», откройте мастер функций, выберете функцию «СУММ», выделите нужный диапазон, затем щелкнете мышкой в строку формул и в ней вручную наберите «/», затем нажмите на кнопку для вставки функции, и вставьте вторую функцию «СУММ». Все будет работать;
  • Если в текстовом поле нужно ввести ТОЛЬКО текст, не обязательно вручную ставить двойные кавычки. Можно написать текст без кавычек и нажать Tab, или просто щелкнуть в другое поле. Excel проставит кавычки автоматом (работает не во всех текстовых полях);
  • В тех полях, где требуется ввести логическое значение «ЛОЖЬ» или «ИСТИНА», достаточно ввести «0» для «ЛОЖЬ», и любое ненулевое значение для «ИСТИНА» (принято использовать 1).

Lets learn how to put multiple functions and formulas in a single cell in Excel in order to build more complex formulas that will, in the end, make your life easier.

This is called nesting and it simply means putting functions inside of functions.

All you have to do is start typing the function where you need it within another function. The basic concept that you need to understand is that you can put multiple functions within a single cell, inside of other functions (or next to other functions using concatenation — though concatenation is beyond the scope of this article).

The best way to exhibit this, and my first experience with it, is with Text Manipulation in Excel.

Lets say that you have the below example:

We want to get the first two characters from each part number so we use the =LEFT() function in Excel to get this:

BUT, there is a problem with another list of values because some of them have spaces in front of them, so our LEFT() function on its own will not return what we want:

Notice how for the first part number only «4» is returned when we want «4z».  This is due to the space in front of the part number in cell B3.  To solve this issue, we can nest functions; we can put another function inside the LEFT() function and this is as easy as typing the second function wherever we need it to work.

Since we want to get rid of the extra spaces around some of the part numbers, we want to use the TRIM() function and we want to trim the part numbers before the LEFT() function pulls the two characters from the left of the text.  As such, we put the TRIM() function around the cell reference for the part numbers like this:

You can see how the TRIM() function is placed completely inside of the LEFT() function.  That is all there is to it.

This is often used with the IF() function/statement in Excel to create more powerful logic statements.

This is one of the most under-used, yet one of the most important, features of Excel and it allows you to make very powerful and complex analysis of data very quickly.

You can nest many functions within a single cell, the number varies depending on your version, but a typical user will never reach that limit and, if you do, you are doing something wrong.

I hope this helps! :)

Similar Content on TeachExcel

Filter Data to Show the Bottom 10 Percent of a Data Set in Excel — AutoFilter

Macro: This free Excel macro filters a data set to display the bottom 10 percent of the data set …

Filter Data to Show the Top 10 Items from a Data Set in Excel — AutoFilter

Macro: This Excel macro filters data in Excel in order to display the top 10 items from the data …

Average the Visible Rows in a Filtered List in Excel

Tutorial:
Average the results from a filtered list in Excel. This method averages only the visible …

Best Lookup Formula in Excel — Index and Match

Tutorial:
A lookup using INDEX and MATCH is like a VLOOKUP without the restrictions.  Index and Ma…

Odd or Even Row Formulas in Excel

Tutorial: Formulas to determine if the current cell is odd or even; this allows you to perform speci…

How to Create and Manage a Chart in Excel

Tutorial: In this tutorial I am going to introduce you to creating and managing charts in Excel. Bef…

Subscribe for Weekly Tutorials

BONUS: subscribe now to download our Top Tutorials Ebook!

Понравилась статья? Поделить с друзьями:
  • Как ввести функцию в формулу ячейки в excel
  • Как ввести функцию в excel округлить
  • Как ввести функцию в excel для построения графиков
  • Как ввести функцию в excel 2010
  • Как ввести функцию sin в excel