Перейти к содержимому

Как посмотреть этапы вычисления в excel

  • автор:

Вычисление вложенной формулы по шагам

Иногда трудно понять, как вложенная формула вычисляет конечный результат, поскольку в ней выполняется несколько промежуточных вычислений и логических проверок. Но с помощью диалогового окна Вычисление формулы вы можете увидеть, как разные части вложенной формулы вычисляются в заданном порядке. Например, формулу =IF(AVERAGE(F2:F5)>50,SUM(G2:G5),0) проще понять, если вы увидите следующие промежуточные результаты:

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

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

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

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

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

Значение 40 не больше 50, поэтому выражение в первом аргументе функции IF (аргумент logical_test) имеет значение false.

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

  1. Выделите ячейку, которую нужно вычислить. За один раз можно вычислить только одну ячейку.
  2. На вкладке Формулы в группе Зависимости формул нажмите кнопку Вычислить формулу.
  3. Нажмите кнопку Вычислить, чтобы проверить значение подчеркнутой ссылки. Результат вычисления отображается курсивом. Если подчеркнутая часть формулы является ссылкой на другую формулу, нажмите кнопку Шаг с заходом, чтобы отобразить другую формулу в поле Вычисление. Нажмите кнопку Шаг с выходом, чтобы вернуться к предыдущей ячейке и формуле.

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

  • Некоторые части формул, использующие функции IF и CHOOSE, не вычисляются, а #N/A отображается в поле Оценка .
  • Если ссылка пуста, в поле Вычисление отображается нулевое значение (0).
  • Формулы с циклическими ссылками могут не оцениваться должным образом. Если нужны циклические ссылки, можно включить итеративное вычисление.
  • Следующие функции пересчитываются при каждом изменении листа и могут привести к тому, что средство «Оценка формулы » дает результаты, отличные от результатов, отображаемых в ячейке: RAND, OFFSET, CELL, INDIRECT, NOW, TODAY, RANDBETWEEN, INFO и SUMIF (в некоторых сценариях).

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

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

  • Порядок вычислений Формулы вычисляют значения в определенном порядке. Формула в Excel всегда начинается со знака равно (=). Excel интерпретирует символы после знака равно как формулу. После знака равно вычисляются элементы (операнды), например константы или ссылки на ячейки. Они разделены операторами вычислений. Excel вычисляет формулу слева направо в соответствии с определенным порядком для каждого оператора в формуле.
  • Приоритет операторов в формулах Excel Если в одной формуле используется несколько операторов, Microsoft Excel выполняет операции в порядке, указанном в приведенной ниже таблице. Если формула содержит операторы с одинаковым приоритетом ( например, если формула содержит операторы умножения и деления), Excel оценивает операторы слева направо.
    Оператор Описание
    : (двоеточие) (один пробел) , (запятая) Операторы ссылок
    – Знак «минус»
    % Процент
    ^ Возведение в степень
    * и / Умножение и деление
    + и — Сложение и вычитание
    & Объединение двух текстовых строк в одну
    =
    < >
    >=
    <>
    Операторы сравнения
  • Использование скобок в Excel формулах Чтобы изменить порядок выполнения формулы, заключите ее часть, которая должна быть выполнена первой, в скобки. Например, результатом приведенной ниже формулы будет число 11, поскольку в Microsoft Excel умножение выполняется раньше сложения. В данной формуле число 2 умножается на 3, а затем к результату добавляется число 5. =5+2*3 Если же с помощью скобок изменить синтаксис, Microsoft Excel сложит 5 и 2, а затем умножит результат на 3; результатом этих действий будет число 21. =(5+2)*3 В приведенном ниже примере скобки, в которые заключена первая часть формулы, задают следующий порядок вычислений: определяется значение B4+25, после чего полученный результат делится на сумму значений в ячейках D5, E5 и F5. =(B4+25)/СУММ(D5:F5)

Как просмотреть этапы вычисления формул

Часто ли Вам приходилось разбирать чужой файл с непонятными на первый взгляд формулами? Вроде считают, но как? Вроде и разобраться хочется как работает какая-нибудь мега-формула — но как это сделать? Я хочу рассказать о паре простых шагов, которые необходимо сделать, чтобы разобраться в работе любой формулы. Давайте попробуем разобраться на примере формулы из моей статьи: Как получить список уникальных(не повторяющихся) значений?:
=ИНДЕКС($A$2:$A$51;НАИМЕНЬШИЙ(ЕСЛИ(СЧЁТЕСЛИ($C$1:C1;$A$2:$A$51)=0;СТРОКА($A$1:$A$50));1))
Что нам понадобится для начала:

Вызов справки

  1. Знать что такое формула
  2. Знать что такое формула массива
  3. Не лениться заглядывать в справку по неизвестной функции. Как это сделать: ставим курсор мыши на интересующую формулу и жмем F1(в Excel 2003 и более ранних версиях только так можно). Начиная с Excel 2007 можно еще и иначе: ставим курсор внутрь функции — появится подсказка по функции. После чего нажимаем на имя функции из подсказки:

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

  4. Не обязательно, но желательно скачать файл, приложенный к статье Как получить список уникальных(не повторяющихся) значений?, чтобы наглядно пройти все шаги, описанные ниже
    Скачать пример: Tips_All_ExtractUnique.xls (108,0 KiB, 18 811 скачиваний)

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

Вот теперь можно начать потрошить формулу. В принципе, самый сложный этап уже пройден. Теперь остается только воспользоваться встроенным средством Excel — окно просмотра этапов вычислений формулы. Выделяем ячейку с нужной формулой и:
для пользователей Excel 2007 и более поздних версий:
вкладка Формулы-группа кнопок Зависимости формул—Вычислить формулу (Formulas—Formula Auditing—Evaluate Formula)
для пользователей Excel 2003:
Сервис—Зависимости формул—Вычислить формулу

Появится форма
Этап 1
После каждого нажатия на кнопку Вычислить (Evaluate) будет произведен очередной этап вычислений формулы и в окне формы будет отображен этот этап. Вычисляемая в текущий момент часть формулы(этап) подчеркивается одинарной линией.
Что следует знать: сначала вычисляется самая глубоко вложенная функция, а уже потом самая первая. Самая первая и основная функция у нас будет ИНДЕКС , а самая глубоко вложенная — СЧЁТЕСЛИ . Поэтому на примере нашей формулы следующим этапом будет вычисление функции СЧЁТЕСЛИ и в скобках будет показан результат для этой функции: . Т.е. для каждого значения диапазона $A$2:$A$51 будет выведено количество — сколько раз это значение встречается в диапазоне $C$1:C1 . Т.к. это первая строка формулы — то будут все нули:
Этап 2
Далее будет произведено вычисление логического выражения =0 : сравнение результата функции СЧЁТЕСЛИ с нулем. Результатом будет ИСТИНА или ЛОЖЬ.
Этап 3
Этот результат(ИСТИНА, ЛОЖЬ) обрабатывается далее функцией ЕСЛИ . А в ЕСЛИ у нас условие: если СЧЁТЕСЛИ равно нулю (т.е. если результат ИСТИНА), то в ЕСЛИ возвращаем номер строки( СТРОКА($A$1:$A$50) ), если нет — то вернет ЛОЖЬ.
Этап 4
Т.к. функция НАИМЕНЬШИЙ работает только с числами, игнорируя любые другие значения, то она не будет учитывать ЛОЖЬ(т.к. это логическое значение, а не число), а будет отбирать только числа — что и ложится в основу формулы.

Чтобы в этом примере было более просто разобраться(насколько это возможно), коротко расскажу о принципе работы этой формулы: если значение из диапазона $A$2:$A$51 встречается в диапазоне вывода формулы(на строку выше) $C$1:C1 , то СЧЁТЕСЛИ вернет не нулевое значение и получится ЛОЖЬ. Если такого значения ещё нет — будет нуль и в НАИМЕНЬШИЙ будет передан номер строки. А уже номер строки передается в ИНДЕКС , которая возвращает непосредственно значение по номеру строки. Чтобы более точно понять подобные формулы надо рассмотреть не только формулу из первой ячейки, но и пару следующих.

Помимо кнопки Вычислить в этом окне есть и другие: Шаг с заходом (Step In) и Шаг с выходом (Step Out) . Делают они почти тоже самое, но доступны не для всех видов формул, а лишь для тех, в которых участвуют ссылки на ячейки с другими функциями. Если вычисляемая в настоящий момент функция содержит внутри ссылку на ячейку, в которой записана другая функция или формула — то Шаг с заходом (Step In) выводит в окно вычисления эту функцию(формулу) и активирует ячейку с этой формулой. При этом доступна эта кнопка становится лишь тогда, когда при вычислении основной формулы шаг вычисления доходит до этой самой ссылки на вложенную формулу. Шаг с выходом (Step Out) при этом возвращает к вычислению предыдущей формулы.

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

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

Статья помогла? Поделись ссылкой с друзьями!

покупка

Когда вы выполняете какие-то вычисления в Excel и в итоге получаете результаты с ошибками, вы можете просмотреть шаги расчета, чтобы выяснить, где идет ошибка, и затем исправить это.

Отображение и просмотр шагов расчета с помощью функции Evaluate Formula

В Excel вы можете применить функцию Evaluate Formula для просмотра шагов расчета.

1. Выберите одну ячейку формулы и щелкните Формулы > Оценить формулу, Тогда Оценить формулу появляется диалоговое окно. Смотрите скриншот:

док-шоу-расчет-шаг-1
док-стрелка
док-шоу-расчет-шаг-2

2. в Оценить формулу диалоговое окно, вы можете нажать Оценивать кнопку, чтобы показать шаги расчета. (Щелкнув Оценивать кнопка один раз отобразит один шаг расчета.)

док-шоу-расчет-шаг-3
док-стрелка
док-шоу-расчет-шаг-4
док-стрелка
док-шоу-расчет-шаг-5

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

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

док-шоу-расчет-шаг-6
док-стрелка
док-шоу-расчет-шаг-7
док-стрелка
док-шоу-расчет-шаг-8
Относительные статьи:

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

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