Управление внешними связями в эксель
Блог о программе Microsoft Excel: приемы, хитрости, секреты, трюки
Связь между таблицами Excel – это формула, которая возвращает данные с ячейки другой рабочей книги. Когда вы открываете книгу, содержащую связи, Excel считывает последнюю информацию с книги-источника (обновление связей)
Межтабличные связи в Excel используются для получения данных как с других листов рабочей книги, так и с других рабочих книг Excel. К примеру, у вас имеется таблица с расчетом итоговой суммы продаж. В расчете используются цены на продукт и объем продаж. В таком случае имеет смысл создать отдельную таблицу с данными по ценам, которые будут подтягиваться с помощью связей первой таблицы.
Когда вы создаете связь между таблицами, Excel создает формулу, которая включает в себя имя исходной книги, заключенную в скобки [], имя листа с восклицательным знаком на конце и ссылку на ячейку.
Создание связей между рабочими книгами
- Открываем обе рабочие книги в Excel
- В исходной книге выбираем ячейку, которую необходимо связать, и копируем ее (сочетание клавиш Ctrl+С)
- Переходим в конечную книгу, щелкаем правой кнопкой мыши по ячейке, куда мы хотим поместить связь. Из выпадающего меню выбираем Специальная вставка
- В появившемся диалоговом окне Специальная вставка выбираем Вставить связь.
Есть еще один, более простой, вариант создания связи между таблицами. В ячейку, куда мы хотим вставить связь, ставим знак равенства (так же как и для обычной формулы), переходим в исходную книгу, выбираем ячейку, которую хотим связать, щелкаем Enter.
Вы можете использовать инструменты копирования и автозаполнения для формул связи так же, как и для обычных формул.
Прежде чем создавать связи между таблицами
Прежде чем вы начнете распространять знания на свои грандиозные идеи, прочитайте несколько советов по работе со связями в Excel:
Делайте легко отслеживаемые связи. Не существует автоматического поиска всех ячеек, содержащих ссылки. Поэтому, используйте определенный формат, чтобы быстро идентифицировать связи с другими таблицами, в противном случае, документ, содержащий ссылки, может разрастись до такой степени, что его будет трудно поддерживать.
Автоматические вычисления. Исходная книга должна работать в режиме автоматического вычисления (установлено по умолчанию). Для переключения параметра вычисления перейдите по вкладке Формулы в группу Вычисление. Выберите Параметры вычислений –> Автоматически.
Избегайте циклические ссылки. Циклические связи – когда две рабочие книги содержат ссылки друг на друга – могут быть причиной медленного открытия и работы файла.
Обновление связей
Для ручного обновления связи между таблицами, перейдите по вкладке Данные в группу Подключения. Щелкните по кнопке Изменить связи.
В появившемся диалоговом окне Изменение связей, выберите интересующую вас связь и щелкните по кнопке Обновить.
Разорвать связи в книгах Excel
Разрыв связи с источником приведет к замене существующих формул связи на значения, которые они возвращают. Например, связь =[Источник.xlsx]Цены!$B$4 будет заменена на 16. Разрыв связи нельзя отменить, поэтому прежде чем совершить операцию, рекомендую сохранить книгу.
Перейдите по вкладке Данные в группу Подключения. Щелкните по кнопке Изменить связи. В появившемся диалоговом окне Изменение связей, выберите интересующую вас связь и щелкните по кнопке Разорвать связь.
Вам также могут быть интересны следующие статьи
7 комментариев
Спасибо! очень полезный материал!
В Microsoft Excel вы можете связать ячейку книги с другой книгой, используя формулу, которая ссылается на внешнюю книгу. При создании этой ссылки может использоваться относительный путь. С помощью относительных ссылок можно перемещать книги, не нарушая связь. В этой статье рассказывается о том, как с помощью Excel хранить ссылки на связанные книги в разных обстоятельствах.
Дополнительная информация
Как обрабатываются пути ссылок при открытии файла
При открытии в Excel файла, содержащего ссылки (связанная книга), она объединяет части ссылок, хранящиеся в файле, с необходимыми фрагментами текущего пути связанной книги.
Как сохраняются пути ссылок
Если путь к связанному файлу сохраняется в Excel, для определения того, что нужно сохранить, используются следующие правила:Примечание. Перемещение вверх по пути указывает на то, что вы ссылаетесь на папки, расположенные вне корневого диска или общего доступа. Если переместиться вниз по пути, это означает, что вы переходите ближе к корневому диску или к общему доступу.
Если связанный файл и исходный файл данных находятся на разных дисках, буква диска сохраняется с путем к файлу и имени файла.
Если связанный файл и исходный файл данных находятся в одной папке, сохраняется только имя файла.
Если файл исходных данных находится в папке, вложенной в ту же корневую папку, что и связанный файл, свойство хранится для указания корневой папки. Все части пути, к которым предоставлен общий доступ, не сохраняются. Например, если связанный файл C:\Mydir\Linked.xls зависит от C:\Mydir\Files\Source.xls, то единственной сохраненной частью пути является \Files\Source.xls.
Если исходный файл данных находится в папке, расположенной ниже связанного файла, свойство сохраняется, чтобы указать это. Например, связанный файл — C:\Mydir\Files\Myfile\Linked.xls, а исходный файл данных — C:\Mydir\Files\Source.xls. Excel хранит только \MyDir\Files\.. \Source.xls.Примечание. Это позволяет поддерживать ссылки при копировании связанного файла в дополнительную вложенную папку в папке, в которой находится исходный файл. Например, связанный файл — C:\Mydir\Files\Myfiles1\Linked.xls, а файл исходных данных — C:\Mydir\Files\Source.xls, связанный файл с именем Link. xls копируется из папки C:\Mydir\Files\Myfiles1 в папку C:\Mydir\Files\Myfiles2, а ссылка на C:\Mydir\Files\Source.xls сохраняется.
Если исходный файл данных находится в папке XLStart, в разделе " Каталог автозагрузки" или " Библиотека ", свойству записывается свойство, которое указывает на одну из этих папок, и сохраняется только имя файла.Примечание. В Excel распознаются две стандартные папки XLStart, из которых автоматически открываются файлы при запуске. Ниже указаны две папки.
Папка XLStart в папке установки Office, например C:\Program Files\Microsoft Office \Office\XLStart
Папка XLStart в профиле пользователя (например, C:\Documents and Settings \имя_пользователя\Application Data\Microsoft\Excel\XLStart
Папка XLStart в профиле пользователя — это Папка XLStart, которая будет храниться в качестве свойства ссылки. Если вы используете папку XLStart, которая находится в папке установки Office, эта папка XLStart будет обрабатываться так же, как и любая другая папка на жестком диске. Имя папки Office меняется между версиями Office. Например, имя папки Office — Office, Office10, Office11 или Office12 в зависимости от используемой версии Office. Изменение имени папки приводит к разрыву связей при переходе на компьютер, на котором установлена другая версия Excel, чем версия, в которой была установлена ссылка.
Важно отметить, что содержимое строки формул не обязательно должно быть сохранено. Например, если файл исходных данных закрыт, вы увидите полный путь к файлу, но может быть сохранено только имя файла.
Относительные и абсолютные ссылки
Ссылки на внешние книги создаются в определенном порядке, если это возможно. Это означает, что полный путь к исходному файлу данных не записывается, а только часть пути, связанная с связанной книгой. С помощью этого метода вы можете перемещать книги, не нарушая связи между ними. Однако ссылки остаются неизменными, только если книги остаются в одном месте относительно друг друга. Например, если связанный файл — C:\Mydir\Linked.xls, а файл источника данных — C:\Mydir\Files\Source.xls, вы можете переместить файлы на диск D, пока исходный файл по-прежнему находится во вложенной папке "файлы". Относительные ссылки могут приводить к возникновению проблем при перемещении связанного файла на другой компьютер, когда источник находится в одном месте.
Сопоставленные диски и UNC-имя
При связывании книги с исходными данными связь устанавливается на основе способа открытия книги. Если книга была открыта на подключенном диске, она будет создана с помощью подключенного диска. Ссылка останется в том случае, если книга с исходными данными будет открыта в будущем. Если файл исходного файла данных открыт с помощью пути в формате UNC, ссылка не будет возвращена на подключенный диск, даже если соответствующий диск доступен. Если в одном и том же файле есть ссылки UNC и сопоставленные диски, а исходные файлы открыты одновременно с конечным файлом, только те ссылки, которые соответствуют тому, как был открыт этот файл, будут реагировать на гиперссылку. В частности, если вы откроете файл на подключенном диске и измените значения в исходном файле, только ссылки, созданные для подключенного диска, будут немедленно обновлены. Ссылка, отображаемая в Excel, может выглядеть по-разному в зависимости от того, как была открыта книга. Возможно, эта ссылка соответствует корневому общему ресурсу UNC или букве корневого диска, которая использовалась для открытия файла.
Сценарии, которые могут привести к неправильной работе ссылок
Существует несколько причин, по которым связь между файлами может быть непреднамеренно облагаться, чтобы они указывали на ошибочные места. Ниже приведены два наиболее распространенных сценария. Сценарий 1:
Вы можете сопоставить диск с корневым каталогом общего доступа. Например, вы можете подключить диск Z к \ \сервер\поделиться\Folder1.
Вы создаете ссылки на книгу, которая хранится в сопоставленном расположении, после того как вы откроете файл через этот подключенный диск.
Вы открываете файл по UNC-пути.
Вследствие этого ссылка будет разорвана.
Если вы закрыли файл, не сохраняя его, ссылки не будут изменены. Тем не менее, если сохранить файл перед его закрытием, вы сохранит ссылки с текущим разорванным расположением. Папки между корнем общего доступа и сопоставленной папкой будут оставлены вне пути. В приведенном выше примере ссылка изменится на \ \сервер\Folder1. Другими словами, имя общего доступа исключается из пути. Сценарий 2.
Вы можете сопоставить диск с корневым каталогом общего доступа. Например, вы можете подключить диск Z к \ \сервер\поделиться\Folder1.
Вы открываете файл по UNC-пути или сопоставленному диску, подключенному к другой папке в общем доступе, например \ \сервер\поделиться\Folder2.
Как следствие, ссылка будет разорвана.
Если вы закрыли файл, не сохраняя его, ссылки не будут изменены. Тем не менее, если сохранить файл перед его закрытием, вы сохранит ссылки с текущим разорванным расположением. Папки между корнем общего доступа и сопоставленной папкой будут оставлены вне пути. В приведенном выше примере ссылка изменится на \ \сервер\folder1.
При выполнении определенных задач в Excel иногда приходится иметь дело с несколькими таблицами, которые к тому же связаны между собой. То есть, данные из одной таблицы подтягиваются в другие и при их изменении пересчитываются значения во всех связанных табличных диапазонах.
Связанные таблицы очень удобно использовать для обработки большого объема информации. Располагать всю информацию в одной таблице, к тому же, если она не однородная, не очень удобно. С подобными объектами трудно работать и производить по ним поиск. Указанную проблему как раз призваны устранить связанные таблицы, информация между которыми распределена, но в то же время является взаимосвязанной. Связанные табличные диапазоны могут находиться не только в пределах одного листа или одной книги, но и располагаться в отдельных книгах (файлах). Последние два варианта на практике используют чаще всего, так как целью указанной технологии является как раз уйти от скопления данных, а нагромождение их на одной странице принципиально проблему не решает. Давайте узнаем, как создавать и как работать с таким видом управления данными.
Создание связанных таблиц
Прежде всего, давайте остановимся на вопросе, какими способами существует возможность создать связь между различными табличными диапазонами.
Способ 1: прямое связывание таблиц формулой
Самый простой способ связывания данных – это использование формул, в которых имеются ссылки на другие табличные диапазоны. Он называется прямым связыванием. Этот способ интуитивно понятен, так как при нем связывание выполняется практически точно так же, как создание ссылок на данные в одном табличном массиве.
Посмотрим, как на примере можно образовать связь путем прямого связывания. Имеем две таблицы на двух листах. На одной таблице производится расчет заработной платы с помощью формулы путем умножения ставки работников на единый для всех коэффициент.
На втором листе расположен табличный диапазон, в котором находится перечень сотрудников с их окладами. Список сотрудников в обоих случаях представлен в одном порядке.
Нужно сделать так, чтобы данные о ставках из второго листа подтягивались в соответствующие ячейки первого.
-
На первом листе выделяем первую ячейку столбца «Ставка». Ставим в ней знак «=». Далее кликаем по ярлычку «Лист 2», который размещается в левой части интерфейса Excel над строкой состояния.
Но что делать, если перечень сотрудников в табличных массивах расположен не в одинаковом порядке? В этом случае, как говорилось ранее, одним из вариантов является установка связи между каждой из тех ячеек, которые следует связать, вручную. Но это подойдет разве что для небольших таблиц. Для массивных диапазонов подобный вариант в лучшем случае отнимет очень много времени на реализацию, а в худшем – на практике вообще будет неосуществим. Но решить данную проблему можно при помощи связки операторов ИНДЕКС – ПОИСКПОЗ. Посмотрим, как это можно осуществить, связав данные в табличных диапазонах, о которых шел разговор в предыдущем способе.
-
Выделяем первый элемент столбца «Ставка». Переходим в Мастер функций, кликнув по пиктограмме «Вставить функцию».
Способ 3: выполнение математических операций со связанными данными
Прямое связывание данных хорошо ещё тем, что позволяет не только выводить в одну из таблиц значения, которые отображаются в других табличных диапазонах, но и производить с ними различные математические операции (сложение, деление, вычитание, умножение и т.д.).
Посмотрим, как это осуществляется на практике. Сделаем так, что на Листе 3 будут выводиться общие данные заработной платы по предприятию без разбивки по сотрудникам. Для этого ставки сотрудников будут подтягиваться из Листа 2, суммироваться (при помощи функции СУММ) и умножаться на коэффициент с помощью формулы.
-
Выделяем ячейку, где будет выводиться итог расчета заработной платы на Листе 3. Производим клик по кнопке «Вставить функцию».
Способ 4: специальная вставка
Связать табличные массивы в Excel можно также при помощи специальной вставки.
-
Выделяем значения, которые нужно будет «затянуть» в другую таблицу. В нашем случае это диапазон столбца «Ставка» на Листе 2. Кликаем по выделенному фрагменту правой кнопкой мыши. В открывшемся списке выбираем пункт «Копировать». Альтернативной комбинацией является сочетание клавиш Ctrl+C. После этого перемещаемся на Лист 1.
Способ 5: связь между таблицами в нескольких книгах
Кроме того, можно организовать связь между табличными областями в разных книгах. При этом используется инструмент специальной вставки. Действия будут абсолютно аналогичными тем, которые мы рассматривали в предыдущем способе, за исключением того, что производить навигацию во время внесений формул придется не между областями одной книги, а между файлами. Естественно, что все связанные книги при этом должны быть открыты.
-
Выделяем диапазон данных, который нужно перенести в другую книгу. Щелкаем по нему правой кнопкой мыши и выбираем в открывшемся меню позицию «Копировать».
Изменения в таком массиве, связанном с другой книгой, можно произвести только разорвав связь.
Разрыв связи между таблицами
Иногда требуется разорвать связь между табличными диапазонами. Причиной этого может быть, как вышеописанный случай, когда требуется изменить массив, вставленный из другой книги, так и просто нежелание пользователя, чтобы данные в одной таблице автоматически обновлялись из другой.
Способ 1: разрыв связи между книгами
Разорвать связь между книгами во всех ячейках можно, выполнив фактически одну операцию. При этом данные в ячейках останутся, но они уже будут представлять собой статические не обновляемые значения, которые никак не зависят от других документов.
-
В книге, в которой подтягиваются значения из других файлов, переходим во вкладку «Данные». Щелкаем по значку «Изменить связи», который расположен на ленте в блоке инструментов «Подключения». Нужно отметить, что если текущая книга не содержит связей с другими файлами, то эта кнопка является неактивной.
Способ 2: вставка значений
Но вышеперечисленный способ подходит только в том случае, если нужно полностью разорвать все связи между двумя книгами. Что же делать, если требуется разъединить связанные таблицы, находящиеся в пределах одного файла? Сделать это можно, скопировав данные, а затем вставив на то же место, как значения. Кстати, этим же способом можно проводить разрыв связи между отдельными диапазонами данных различных книг без разрыва общей связи между файлами. Посмотрим, как этот метод работает на практике.
-
Выделяем диапазон, в котором желаем удалить связь с другой таблицей. Щелкаем по нему правой кнопкой мыши. В раскрывшемся меню выбираем пункт «Копировать». Вместо указанных действий можно набрать альтернативную комбинацию горячих клавиш Ctrl+C.
Как видим, в Excel имеются способы и инструменты, чтобы связать несколько таблиц между собой. При этом, табличные данные могут находиться на других листах и даже в разных книгах. При необходимости эту связь можно легко разорвать.
Отблагодарите автора, поделитесь статьей в социальных сетях.
Связь – это очень полезная возможность Excel. Ведь очень часто пользователям приходится использовать информацию из других файлов. Но в некоторых ситуациях они способны скорее нанести вред, чем принести пользу. Ведь, к примеру, если отправлять эти файлы по почте, ссылки оказываются нерабочими. Сегодня мы более подробно поговорим о том, что сделать для избежания такой проблемы.
Что такое связи в Excel
- [Продажи 2018.xlsx]. Этот фрагмент содержит ссылку на файл, из которого нужно достать информацию. Его также называют источником.
- Отчет. Это мы использовали следующее имя, но это не название, которое должно обязательно быть. В этом блоке содержится название листа, в каком надо находить информацию.
- $A:$F и $A1 – адрес ячейки или диапазона с данными, которые содержатся в этом документе.
Собственно, процесс создания ссылки на внешний документ и называется связыванием. После того, как мы прописали адрес ячейки, содержащейся в другом файле, изменяется содержимое вкладки «Данные». А именно – становится активной кнопка «Изменить связи», с помощью которой пользователь может отредактировать имеющиеся связи.
Суть проблемы
Тут перед пользователем появляется два возможных варианта, как действовать этой ситуации. Он может нажать «Продолжить» и тогда изменения не обновятся, или же нажать кнопку «Изменить связи», с помощью которой он может обновить их вручную. После того, как мы нажмем эту кнопку, появится дополнительное окно, в котором можно будет изменить связи, указав, где находится правильный файл в данный момент и как он называется.
Как разорвать связь в Эксель
Один из самых простых методов решения описанной выше ситуации в случае, если не получается обновить местонахождение связанного файла самостоятельно – удалить саму связь. Особенно просто это сделать, если в документе содержится только одна связь. Для этого надо выполнить следующую последовательность шагов:
- Открываем меню «Данные».
- Находим раздел «Подключения», и там – опцию «Изменить связи».
- После этого нажимаем на «Разорвать связь».
Если собираетесь отправлять эту книгу по почте другому человеку, настоятельно рекомендуется это сделать до этого. Ведь после удаления связей все значения, которые содержатся в другом документе, будут автоматически загружены в файл, использованы в формулах, и вместо адреса ячейки информация в соответствующих ячейках будет просто трансформирована в значения.
Как разорвать связь со всеми книгами
Но если количество связей становится слишком большим, вручную их удалять может занять немало времени. Чтобы решить эту проблему за один раз, можно воспользоваться специальным макросом. Он находится в аддоне VBA-Excel. Нужно его активировать и перейти на одноименную вкладку. Там будет находиться раздел «Связи», в котором нам надо нажать на кнопку «Разорвать все связи».
Код на VBA
Если же нет возможности активировать это дополнение, можно создать макрос самостоятельно. Для этого необходимо открыть редактор Visual Basic, нажав на клавиши Alt + F11, и в поле ввода кода записать следующие строки.
If Not IsEmpty(WbLinks) Then
For i = 1 To UBound(WbLinks)
ActiveWorkbook.BreakLink Name:=WbLinks(i), Type:=xlLinkTypeExcelLinks
Как разорвать связи только в выделенном диапазоне
Время от времени количество связей очень большое, и пользователь боится, что после удаления какой-то из них не получится вернуть все назад, если какая-то была лишней. Но это проблема, которую легко не допустить. Для этого нужно выбрать диапазон, в котором осуществить удаление связей, а потом удалить их. Для этого надо выполнить следующую последовательность действий:
- Выделить тот набор данных, в котором надо вносить изменения.
- Устанавливаем дополнение VBA-Excel, после чего переходим на соответствующую вкладку.
- Далее находим меню «Связи» и нажимаем на кнопку «Разорвать связи в выделенных диапазонах».
После этого все связи в выделенном наборе ячеек будут удалены.
Что делать, если связи не разрываются
Все описанное выше звучит хорошо, но на практике всегда возникают какие-то нюансы. Например, может случиться ситуация, когда связи не разрываются. В этом случае все равно появляется диалоговое окно, что не получается автоматически обновить связи. Что же делать в этой ситуации?
- Сначала надо проверить, не содержится ли какая-то информация в именованных диапазонах. Для этого надо нажать на комбинацию клавиш Ctrl + F3 или же открыть вкладку «Формулы» – «Диспетчер имен». Если же имя к файлу указано полное, то нужно просто его отредактировать или же вовсе убрать. Перед тем, как удалять именованные диапазоны, необходимо скопировать файл в какое-то другое место, чтобы можно было вернуться к изначальному варианту, если были совершены неправильные действия.
- Если не получается решить проблему с помощью удаления имен, то можно проверить условное форматирование. Ссылка на ячейки в другой таблице может содержаться в правилах условного форматирования. Для этого надо найти соответствующий пункт на вкладке «Главная», а потом нажать на кнопку «Управление файлами».
Обычно Excel не дает возможности давать адрес других книг в условном форматировании, но это делается, если ссылаться на именованный диапазон с отсылкой на другой файл. Обычно даже после удаления связи ссылка остается. Нет никакой проблемы в том, чтобы убрать такую связь, потому что связь по факту нерабочая. Следовательно, ничего плохого не произойдет, если убрать ее.
Также можно воспользоваться функцией «Проверка данных», чтобы узнать, нет ли ненужных ссылок. Обычно связи остаются, если используется тип проверки данных «Список». Но что же делать, если ячеек много? Неужели необходимо последовательно проверять каждую из них? Конечно, нет. Ведь это займет очень много времени. Поэтому нужно воспользоваться специальным кодом, чтобы значительно сэкономить его.
Option Explicit
Dim rr As Range, rc As Range, rres As Range, s$
On Error Resume Next
If rr Is Nothing Then
On Error GoTo 0
For Each rc In rr
On Error Resume Next
On Error GoTo 0
If LCase(s) Like sToFndLink Then
If rres Is Nothing Then
Set rres = Union(rc, rres)
If Not rres Is Nothing Then
Необходимо в редакторе макросов сделать стандартный модуль, а потом туда вставить этот текст. После этого вызвать окно макросов с помощью комбинации клавиш Alt + F8, а потом выбрать наш макрос и кликнуть по кнопке «Выполнить». При использовании этого кода есть несколько моментов, которые надо учитывать:
Обычно после того, как выполнить действия, описанные в вышеприведенной инструкции, ненужных связей уже не должно оставаться. Но в случае наличия некоторых из них в документе и вашей неспособности по тем или иным причинам их убрать (типичный пример – защищенность данных в листе), то можно воспользоваться другой последовательностью действий. Эта инструкция справедлива лишь для версий 2007 и выше.
Читайте также: