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

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

Итак, приступим!

Что такое круговая ссылка в Excel?

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

Предположим, у вас есть набор данных в ячейке A1: A5, и вы используете приведенную ниже формулу в ячейке A6:

=SUM(A1:A6)

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

Это потому, что вы хотите просуммировать значения в ячейке A1: A6, и результат должен быть в ячейке A6.

Это создает цикл, поскольку Excel просто продолжает добавлять новое значение в ячейку A6, которое продолжает меняться (следовательно, цикл циклической ссылки).

Как найти круговые ссылки в Excel?

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

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

Ниже приведены шаги, чтобы найти циклическую ссылку в Excel:

  • Активируйте рабочий лист с круговой ссылкой
  • Перейдите на вкладку «Формулы».
  • В группе «Редактирование формул» щелкните раскрывающийся значок «Проверка ошибок» (маленькая стрелка, направленная вниз, справа).
  • Наведите курсор на опцию Циркулярные ссылки. Он покажет вам ячейку с круговой ссылкой на листе.
  • Щелкните адрес ячейки (который отображается), и вы перейдете к этой ячейке на листе.

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

Еще один быстрый и простой способ найти круговую ссылку — это посмотреть на строку состояния. В левой его части будет показан текст Циркулярной ссылки вместе с адресом ячейки.

При работе с круговыми ссылками необходимо знать несколько вещей:

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

Как удалить круговую ссылку в Excel?

Как только вы определили, что на вашем листе есть циклические ссылки, пора их удалить (если вы не хотите, чтобы они были там по какой-либо причине).

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

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

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

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

  • Формула в ячейке A6: =SUM(A1:A5)+C6.
  • Формула: ячейка C1 = A6 * 0,1
  • Формула в ячейке C6: = A6 + C1.

В приведенном выше примере результат в ячейке C6 зависит от значений в ячейках A6 и C1, которые, в свою очередь, зависят от ячейки C6 (что приводит к ошибке циклической ссылки)

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

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

Это можно сделать с помощью опции «Отслеживать прецеденты».

Ниже приведены шаги по использованию прецедентов трассировки для поиска ячеек, которые передаются в ячейку с циклической ссылкой:

  • Выберите ячейку с круговой ссылкой
  • Перейдите на вкладку «Формулы».
  • Нажмите на прецеденты трассировки

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

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

Это хорошо работает, если у вас есть все формулы, относящиеся к ячейкам на одном листе. Если он находится на нескольких листах, этот метод неэффективен.

Как включить / отключить итерационные вычисления в Excel

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

Это связано с тем, что при наличии циклической ссылки возникает бесконечный цикл, и Excel не хочет зацикливаться на нем. Таким образом, он возвращает 0.

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

В Excel это называется итеративным вычислением .

Ниже приведены шаги для включения и настройки итерационных вычислений в Excel:

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

Вот и все! Вышеупомянутые шаги позволят выполнить итеративный расчет в Excel.

Позвольте мне также быстро объяснить два варианта итеративного расчета:

  • Максимальное количество итераций : это максимальное количество раз, которое вы хотите, чтобы Excel вычислил, прежде чем дать вам окончательный результат. Поэтому, если вы укажете это как 100, Excel выполнит цикл 100 раз, прежде чем выдаст вам окончательный результат.
  • Максимальное изменение : это максимальное изменение, которое, если не достигается между итерациями, вычисление будет остановлено. По умолчанию это значение 0,001. Чем ниже это значение, тем точнее будет результат.

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

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

Умышленное использование круговых ссылок

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

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

Один такой конкретный случай, о котором я уже писал, получение отметки времени в ячейке в ячейке в Excel.

Например, предположим, что вы хотите создать формулу, чтобы каждая запись производилась в ячейке в столбце A, а метка времени отображалась в столбце B (как показано ниже):

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

=IF(A2<>"",IF(B2<>"",B2,NOW()),"")

Проблема с приведенной выше формулой заключается в том, что она обновит все временные метки, как только на листе будет внесено какое-либо изменение или если рабочий лист будет повторно открыт (поскольку формула NOW является изменчивой)

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

Есть и другие случаи, когда желательна возможность использовать циклическую ссылку (вы можете найти здесь один пример).

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

Надеюсь, вы нашли этот урок полезным!

Как найти круговую ссылку в Excel (быстро и легко)