Оглавление
В этом кратком учебном пособии рассказывается об основах круговых ссылок Excel и о том, почему их следует остерегаться использовать. Вы также узнаете, как проверять, находить и удалять круговые ссылки в рабочих листах Excel, а если ничего из вышеперечисленного не подходит, как включить и использовать круговые формулы.
Вы пытались ввести какую-то формулу в свой лист Excel, но по какой-то причине она не работает. Вместо этого она сообщает вам что-то про круговая ссылка . Вот как вы оказались на этой странице? :)
Тысячи пользователей ежедневно сталкиваются с одной и той же проблемой просто потому, что заставляют формулу Excel вычислять собственную ячейку. Когда вы пытаетесь это сделать, Excel выдает следующее сообщение об ошибке:
"Осторожно, мы обнаружили в вашей рабочей книге одну или несколько круговых ссылок, которые могут привести к неправильному вычислению вашей формулы".
Проще говоря, Excel пытается сказать следующее: "Эй, я могу застрять на круговом перекрестке. Вы уверены, что хотите, чтобы я все равно проехал?".
Как вы понимаете, круговые ссылки в Excel доставляют много хлопот, и здравый смысл говорит о том, что их следует избегать, когда это возможно. Однако могут быть редкие случаи, когда круговая ссылка в Excel является единственным возможным решением для стоящей перед вами задачи.
Что такое круговая ссылка в Excel?
Вот очень прямое и краткое определение круговая ссылка предоставленную компанией Microsoft:
" Когда формула Excel прямо или косвенно ссылается на свою собственную ячейку, она создает круговую ссылку. "
Например, если вы выделите ячейку A1 и введете текст =A1
в нем, это создаст круговую ссылку Excel. Ввод любой другой формулы или вычисления, ссылающегося на A1, будет иметь тот же эффект, например. =A1*5
или =IF(A1=1, "OK")
.
Как только вы нажмете Enter для завершения такой формулы, вы получите следующее предупреждающее сообщение:
Почему Microsoft Excel предупреждает вас об этом? Потому что круговые ссылки Excel могут повторяться бесконечно, создавая бесконечный цикл, что значительно замедляет вычисления в рабочей книге.
Как только вы получили вышеуказанное предупреждение, вы можете нажать кнопку Помощь для получения дополнительной информации, или закройте окно сообщения, нажав кнопку OK или крестик. Когда вы закрываете окно сообщения, Excel отображает либо ноль (0) или последнее рассчитанное значение в ячейке. Да, в некоторых случаях формула с круговой ссылкой может успешно завершиться до того, как попытается вычислить себя, и когда это происходит, Microsoft Excel возвращает значение из последнего успешного вычисления.
Примечание. Во многих случаях, когда вы вводите более одной формулы с круговой ссылкой, Excel не выводит предупреждающее сообщение повторно.
Но зачем кому-то создавать такую глупую формулу, которая не создает ничего, кроме ненужных проблем? Правильно, ни один здравомыслящий пользователь никогда не захочет намеренно вводить круговую формулу, подобную приведенной выше. Однако вы можете случайно создать круговую ссылку в своем листе Excel, и вот очень распространенный сценарий.
Предположим, вы хотите сложить значения в столбце A с помощью обычной формулы SUM, и при этом вы случайно включаете саму ячейку total (B6 в данном примере).
Если круговые ссылки не разрешены в вашем Excel (а по умолчанию они отключены), вы увидите сообщение об ошибке, о котором мы говорили минуту назад. Если итерационные вычисления включены, то ваша круговая формула вернет 0, как на следующем снимке экрана:
В некоторых случаях одна или несколько синих стрелок могут также внезапно появиться в вашей электронной таблице, так что вы можете подумать, что ваш Excel сошел с ума и вот-вот даст сбой.
На самом деле, эти стрелы - не что иное, как Проследить прецеденты или Отследить зависимые элементы которые указывают, на какие ячейки влияет активная ячейка. О том, как можно показывать и скрывать эти стрелки, мы поговорим чуть позже.
К этому моменту у вас уже сложилось впечатление, что круговые ссылки в Excel - вещь бесполезная и опасная, и вы можете удивляться, почему Excel не запретил их совсем. Как уже говорилось, есть очень редкие случаи, когда использование круговой ссылки в Excel может быть оправдано, поскольку она обеспечивает более короткое и элегантное решение, если не единственно возможное. Следующий пример демонстрирует такое решениеформула.
Использование круговой ссылки Excel - пример формулы
В одном из наших предыдущих уроков мы рассказывали о том, как вставить сегодняшнюю дату в Excel. И подавляющее большинство вопросов, заданных в комментариях, касались того, как вводить временная метка в Excel, не меняя его каждый раз, когда рабочий лист открывается заново или пересчитывается. Я очень сомневался, стоит ли отвечать на эти комментарии, потому что единственное известное мне решение связано с круговыми ссылками, а с ними нужно обращаться осторожно. В любом случае, вот очень распространенный сценарий...
Предположим, у вас есть список товаров в столбце A, и вы вводите статус доставки в столбце B. Как только вы вводите " Да " в столбце B, вы хотите, чтобы текущая дата и время были автоматически вставлены в ту же строку в столбце C как статическая неизменяемая метка времени .
Использование тривиальной формулы NOW() не подходит, поскольку эта функция Excel является волатильной, то есть обновляет свое значение при каждом повторном открытии или пересчете рабочего листа. Возможным решением является использование вложенных функций ЕСЛИ с круговой ссылкой во втором ЕСЛИ:
=IF(B2="да", IF(C2="" ,NOW(), C2), "")
Где B2 - статус доставки, а C2 - ячейка, в которой должна появиться временная метка.
В приведенной выше формуле первая функция ЕСЛИ проверяет ячейку B2 на наличие " Да " (или любой другой текст, который вы вводите в формулу), и если указанный текст есть, то выполняется второй IF, в противном случае возвращается пустая строка. Вторая функция IF - это круговая формула, которая берет текущий день и время, если в C2 еще нет значения, таким образом сохраняя все существующие временные метки.
Примечание. Чтобы эта круговая формула Excel работала, необходимо разрешить итерационные вычисления в рабочем листе, и именно это мы обсудим далее.
Как включить/выключить круговые ссылки в Excel
Как отмечалось ранее, итеративные вычисления обычно отключены в Excel по умолчанию (в данном контексте итерация - это повторный пересчет до тех пор, пока не будет выполнено определенное числовое условие). Чтобы круговые формулы работали, необходимо включить итерационные вычисления в рабочей книге Excel.
В Excel 2019 , Excel 2016 , Excel 2013 и Excel 2010 , нажмите Файл > Опции перейдите по ссылке Формулы , и выберите Включить итеративный расчет установите флажок в поле Варианты расчетов секция.
В Excel 2007 нажмите кнопку Офисная кнопка > Параметры Excel > Формулы > Область итерации .
В Excel 2003 и более ранних версиях Итеративное вычисление опция находится под Меню > Инструменты > Опции > Расчет вкладка.
При включении итеративных вычислений необходимо указать следующие два параметра:
- Максимальное количество итераций box - задает, сколько раз формула должна пересчитываться. Чем больше число итераций, тем больше времени занимает расчет.
- Максимальное изменение box - задает максимальное изменение между результатами вычислений. Чем меньше число, тем более точный результат вы получите и тем больше времени потребуется Excel для вычисления рабочего листа.
По умолчанию установлено значение 100 для Максимальное количество итераций , и 0,001 для Максимальное изменение Это означает, что Microsoft Excel прекратит вычисление вашей круговой формулы после 100 итераций или после изменения между итерациями менее чем на 0,001, в зависимости от того, что произойдет раньше.
Почему следует избегать использования круговых ссылок в Excel
Как вы уже знаете, использование круговых ссылок в Excel - скользкий и не рекомендуемый подход. Помимо проблем с производительностью и предупреждающего сообщения, отображаемого при каждом открытии рабочей книги (если не включены итерационные вычисления), круговые ссылки могут привести к ряду других проблем, которые не сразу бросаются в глаза.
Например, если вы выделите ячейку с круговой ссылкой, а затем случайно переключитесь в режим редактирования формулы (нажав F2 или дважды щелкнув по ячейке), а затем нажмете Enter, не внеся никаких изменений в формулу, она вернет ноль.
Итак, вот совет от многих уважаемых гуру Excel - старайтесь по возможности избегать круговых ссылок в своих листах.
Как найти круговые ссылки в Excel
Чтобы проверить рабочую книгу Excel на наличие циклических ссылок, выполните следующие действия:
- Перейти к Формулы нажмите стрелку рядом с Проверка ошибок , и указать на Циркулярные ссылки Там отображается последняя введенная круговая ссылка. Смотрите также: Функция СУММЕСЛИ в Excel с примерами формул
- Нажмите на ячейку, указанную под Циркулярные ссылки , и Excel приведет вас именно к этой ячейке.
Как только вы это сделаете, в строке состояния появится уведомление о том, что в вашей рабочей книге обнаружены круговые ссылки, и отобразится адрес одной из таких ячеек:
Если круговые ссылки найдены в других листах, в строке состояния отображается только " Циркулярные ссылки " без адреса ячейки.
Примечание. Эта функция отключена при включенной опции Итеративное вычисление, поэтому ее необходимо отключить до того, как вы начнете проверять рабочую книгу на наличие круговых ссылок.
Как удалить круговые ссылки в Excel
К сожалению, в Excel нет механизма, который позволил бы вам удалить все круговые формулы в рабочей книге одним нажатием кнопки. Чтобы избавиться от них, вам придется проверить каждую круговую ссылку отдельно, выполнив описанные выше действия, а затем либо удалить данную круговую формулу вообще, либо заменить ее одной или несколькими простыми формулами.
Как проследить взаимосвязи между формулами и ячейками
В случаях, когда круговая ссылка в Excel не очевидна, то Проследить прецеденты и Отследить зависимые элементы функции могут дать вам подсказку, нарисовав одну или несколько линий, которые показывают, на какие ячейки влияет или влияет выделенная ячейка.
Чтобы отобразить стрелки трассировки, перейдите в меню Формулы вкладка> Аудит формул группу и выберите один из вариантов:
Проследить прецеденты - отслеживает ячейки, которые предоставляют данные для формулы, т.е. рисует линии, указывающие, какие ячейки влияют на выбранную ячейку.
Отследить зависимые элементы - отслеживает ячейки, которые зависят от активной ячейки, т.е. рисует линии, указывающие, на какие ячейки влияет выделенная ячейка. Другими словами, показывает, какие ячейки содержат формулы, ссылающиеся на выделенную ячейку.
В качестве альтернативы можно использовать следующие сочетания клавиш:
- Проследить прецеденты: Alt+T U T
- Отследить зависимые объекты: Alt+T U D
Чтобы скрыть стрелки, нажмите кнопку Удалить стрелки кнопка, которая находится прямо под Отследить зависимые элементы .
В приведенном выше примере Проследить прецеденты Стрелка показывает, какие ячейки напрямую передают данные в ячейку B6. Как вы видите, ячейка B6 также включена, что делает ее круговой ссылкой и заставляет формулу возвращать ноль. Конечно, это легко исправить, просто замените B6 на B5 в аргументе SUM: =SUM(B2:B5)
Другие круговые ссылки могут быть не столь очевидны и требуют дополнительных размышлений и расчетов.
Вот как нужно работать с круговыми ссылками в Excel. Надеюсь, это краткое руководство пролило свет на эту "слепую зону", и теперь вы сможете провести дальнейшие исследования, чтобы узнать больше. Я благодарю вас за чтение и с нетерпением жду встречи с вами в нашем блоге на следующей неделе!