Excel формула внутри формулы

Обновлено: 07.07.2024

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

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

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

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

Следовательно, надо найти начало фамилии, третьего слова в ячейке. Фактически, это означает поиск позиции второго пробела в ячейке. В Excel нет стандартной встроенной функции для автоматического поиска второго пробела в ячейке, но можно воспользоваться функцией НАЙТИ (FIND), применив ее так, чтобы получить желаемый результат.

В ячейку А1 введите имя David John Hawley (или любое другое имя, состоящее из трех слов). В ячейку С1 введите следующую функцию: =FIND(" ";A1) , в русской версии Excel =НАЙТИ(" ";A1) . Функция НАЙТИ (FIND) ищет одну текстовую строку искомый_текст (find_text) внутри другой текстовой строки текст_для_поиска (within_text) и возвращает число, обозначающее начальную позицию искомый_текст (find_text), если отсчет начинается с первого символа текст_для_поиска (within_text). Синтаксис функции =FIND(find_text;within_text,;start_num) , в русской версии Excel =НАЙТИ(искомый_текст;текст_для_поиска;нач_позиция) .

Вооружившись этими функциями, вы хотите, чтобы следующая функция выбрала все символы до конца строки текста. Воспользуйтесь функцией ПСТР (MID), которая предназначена для выделения диапазона символов из строки. В ячейке СЗ введите следующую формулу: =MID(A1;C2+1;256) , в русской версии Excel =ПСТР(А1;С2+1;256) . Функция ПСТР (MID) возвращает указанное количество символов текстовой строки, начиная с указанной позиции. Вот ее синтаксис: MID(text;start_num;num_chars) , в русской версии Excel ПСТР(текст;начальная_позиция;количество_символов) . Вы приказали функции ПСТР (MID) выбрать 256 символов из ячейки А1, начиная с первого символа после второго пробела в текстовой строке. Число 256 используется только чтобы гарантировать, что, независимо от длины фамилии (предполагая, что она все же короче 256 символов), вы получите фамилию человека полностью.

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

Щелкните ячейку С2, в строке формул выделите функцию и скопируйте ее целиком, кроме знака =, вот так: FIND(" ".A1;C1+1) , в русской версии Excel НАЙТИ(" ";A1;C1+1) . Нажмите клавишу Enter, чтобы покинуть ячейку, и вы окажетесь в ячейке С3. Выделив ячейку С3, в строке формул выделите ссылку на ячейку С2 и вставьте (сочетание клавиш Ctrl+V) функцию НАЙТИ (FIND), которую только что скопировали. Нажмите клавишу Enter. Функция в ячейке СЗ должна выглядеть так: =MID(A1;FIND(" ";А1;С1+1)+1;256) , в русской версии Excel =ПСТР(А1;НАЙТИ(" ";А1;С1+1)+1;256) .

Теперь необходимо заменить ссылку на ячейку С1 функцией, которая находится в ячейке С1. Выделите ячейку С1, выделите в строке формул формулу, опустив символ =, щелкните на кнопке Копировать (Сору), а затем дважды нажмите клавишу Enter, чтобы попасть обратно в ячейку С3. Находясь в ячейке С3, выделите С1 в строке формул и вставьте только что скопированную функцию НАЙТИ (FIND). Нажмите клавишу Enter.

Теперь осталось вырезать ячейку С3 и вставить ее в ячейку В1, а затем удалить формулы, оставшиеся в ячейках С1 и С2. Вы должны получить итоговую формулу, которая выглядит так: =MID(A1;FIND(" ";A1;FIND(" ";А1)+1)+1;256) , в русской версии Excel =ПСТР(А1;НАЙТИ(" ";А1;НАЙТИ(" ";A1)+1)+1;256) .

Следуя этой концепции, вы должны понять, как конструировать мегаформулы, используя разнообразные функции Excel. Сначала необходимо запланировать путь, по которому вы собираетесь идти к цели, а затем в индивидуальных ячейках получать необходимые результаты. Наконец, нужно заменить все ссылки на ячейки функциями, которые находятся в этих ячейках. Если получилось больше семи уровней вложенности, понадобится функция ДВССЫЛ (INDIRECT), описанная в разделе «Трюк №74. Отображение отрицательных значений времени».

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

Шаги, показанные в диалоговом окне

Сначала выводится вложенная формула. Функции СРЗНАЧ и СУММ вложены в функцию ЕСЛИ.

=ЕСЛИ(40>50;СУММ(G2:G5);0)

Диапазон ячеек F2:F5 содержит значения 55, 35, 45 и 25, поэтому функция СРЗНАЧ(F2:F5) возвращает результат 40.

=ЕСЛИ(Ложь;СУММ(G2:G5);0)

40 не больше 50, поэтому выражение в первом аргументе функции ЕСЛИ (аргумент logical_test) ложно.

Функция ЕСЛИ возвращает значение третьего аргумента (аргумент значение_если_ложь). Функция СУММ не вычисляется, так как она является вторым аргументом функции ЕСЛИ (value_if_true) и возвращается только в том случае, если выражение истинно.

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

На вкладке Формулы в группе Зависимости формул нажмите кнопку Вычислить формулу.

Примечание: Кнопка Шаг с заходом недоступна для ссылки, если ссылка используется в формуле во второй раз или если формула ссылается на ячейку в отдельной книге.

Продолжайте этот процесс, пока не будут вычислены все части формулы.

Чтобы посмотреть вычисление еще раз, нажмите кнопку Начать сначала.

Чтобы закончить вычисление, нажмите кнопку Закрыть.

Если ссылка пуста, в поле Вычисление отображается нулевое значение (0).

Формулы с циклыми ссылками могут не оцениваться, как ожидалось. При желании можно включить итеративные вычисления.

Следующие функции пересчитываются каждый раз при внесении изменений в ячейку и могут привести к тому, что инструмент "Вычислите формулу" дает результаты, отличаные от результатов в ячейке: СЛЧИС, СМЕДЕН, ЯЧЕЙКА, ДВЕ, СЕГОДНЯ, СЛЧИСЛО, МНИМ.СТ.ЕСЛИ (в некоторых случаях).

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Примеры

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

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

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

видео может дополнять статью или содержать её полностью

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

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

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

Нужны ли «комплексные» формулы?

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

Частым вопросом является такой: «можно ли вообще создавать в Excel вложенные формулы или так делать нельзя». Давайте рассмотрим это на примере простых вычислений.

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

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

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

вложенные формулы в Excel


[нажмите на картинку для увеличения]
Справка: как сохранять фото с сайтов

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

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

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

А B
1 10 60
2 20 70
3 30 80
4 40 90
5 50 100

Что нужно сделать: вычислим сумму средних значений обоих столбцов.

Если не использовать комплексные вычисления, то нам бы потребовалось целых три ячейки:

  • В первой ячейке: вычислить среднее значение для колонки 1 (столбец А) при помощи функции СРЗНАЧ;
  • Во второй колонке сделать то же самое, но для колонки 2 (столбец B);
  • В третьей ячейке при помощи функции СУММ сложить два промежуточных результата;

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

Чтобы понять, как это сделать, нам необходимо рассмотреть синтаксис используемых «встроенных» формул Excel:

  • Функция «СУММ»
    Применяется для сложения двух или более чисел или диапазонов чисел.
    Синтаксис: СУММ(X; Y; Z;)
  • Функция «СРЗНАЧ»
    Применяется для вычисления среднего значения двух или более чисел или диапазонов чисел.
    Синтаксис: СРЗНАЧ(X; Y; Z;)

Здесь X, Y, Z — это или конкретные числа, указанные вручную, или адреса ячеек, или диапазон ячеек вида «A1:A10». Обратите внимание, что при указании в качестве параметров диапазонов ячеек, аргумент у функций может быть всего один; при указании отдельных адресов ячеек или чисел — минимум два аргумента.

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

А раз так, то мы можем составить комплексную формулу сразу для вычисления конечного результата. Для этого применим принцип Excel «формула в формуле». Вот что должно получиться для нашего примера с двумя колонками чисел:

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

Комплексные формулы в Excel — это не сложно

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

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

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

Скачайте пример использования вложенных формул

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

Также Вы можете записаться на онлайн курс по программе Excel или приобрести учебный видеокурс по комплексному изучению данной программы (курс рассматривает в том числе и применение формул).

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

Уникальная метка публикации: 5080313C-6C47-CFED-F141-288A2303640A
Источник: //artemvm.info/information/uchebnye-stati/microsoft-office/formula-v-formule-excel-vlozhennye-formuly/

Смотреть видео
Формула в формуле Excel (вложенные формулы)

Формула в формуле Excel (вложенные формулы) видео

Файлы для загрузки

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

Читайте также: