Вы применяли функцию ВПР, чтобы переместить данные столбца из одной таблицы в другой? Так как в Excel теперь есть встроенная модель данных, функция ВПР устарела. Вы можете создать связь между двумя таблицами на основе совпадающих данных в них. Затем можно создать листы Power View или сводные таблицы и другие отчеты с полями из каждой таблицы, даже если они получены из различных источников. Например, если у вас есть данные о продажах клиентам, вам может потребоваться импортировать и связать данные логики операций со временем, чтобы проанализировать тенденции продаж по годам и месяцам.
Все таблицы в книге указываются в списках полей сводной таблицы и Power View.
При импорте связанных таблиц из реляционной базы данных Excel часто может создавать эти связи в модели данных, формируемой в фоновом режиме. В других случаях необходимо создавать связи вручную.
-
Убедитесь, что книга содержит хотя бы две таблицы и в каждой из них есть столбец, который можно сопоставить со столбцом из другой таблицы.
-
Вы можете отформатировать данные как таблицу или импортировать внешние данные в виде таблицы на новом.
-
Присвойте каждой из таблиц понятное имя: На вкладке Работа с таблицами щелкните Конструктор > Имя таблицы и введите имя.
-
Убедитесь, что столбец в одной из таблиц имеет уникальные значения без дубликатов. Excel может создавать связи только в том случае, если один столбец содержит уникальные значения.
Например, чтобы связать продажи клиента с логикой операций со временем, обе таблицы должны включать дату в одинаковом формате (например, 01.01.2012) и по крайней мере в одной таблице (логика операций со временем) должны быть перечислены все даты только один раз в столбце.
-
Щелкните Данные> Отношения.
Если команда Отношения недоступна, значит книга содержит только одну таблицу.
-
В окне Управление связями нажмите кнопку Создать.
-
В окне Создание связи щелкните стрелку рядом с полем Таблица и выберите таблицу из раскрывающегося списка. В связи «один ко многим» эта таблица должна быть частью с несколькими элементами. В примере с клиентами и логикой операций со временем необходимо сначала выбрать таблицу продаж клиентов, потому что каждый день, скорее всего, происходит множество продаж.
-
Для элемента Столбец (чужой) выберите столбец, который содержит данные, относящиеся к элементу Связанный столбец (первичный ключ). Например, при наличии столбца даты в обеих таблицах необходимо выбрать этот столбец именно сейчас.
-
В поле Связанная таблица выберите таблицу, содержащую хотя бы один столбец данных, которые связаны с таблицей, выбранной в поле Таблица.
-
В поле Связанный столбец (первичный ключ) выберите столбец, содержащий уникальные значения, которые соответствуют значениям в столбце, выбранном в поле Столбец.
-
Нажмите кнопку ОК.
Дополнительные сведения о связях между таблицами в Excel
-
Примечания о связях
-
Пример. Связывание данных логики операций со временем с данными по рейсам авиакомпании
-
«Могут потребоваться связи между таблицами»
-
Шаг 1. Определите, какие таблицы указать в связи
-
Шаг 2. Найдите столбцы, которые могут быть использованы для создания пути от одной таблицы к другой
-
Примечания о связях
-
Вы узнаете, существуют ли связи, при перетаскивании полей из разных таблиц в список полей сводной таблицы. Если вам не будет предложено создать связь, то в Excel уже есть сведения, необходимые для связи данных.
-
Создание связей аналогично использованию VLOOKUP: вам нужны столбцы, содержащие совпадающие данные, чтобы Excel могли ссылаться на строки в одной таблице с строками из другой таблицы. В примере со временем в таблице Customer должны быть значения дат, которые также существуют в таблице аналитики времени.
-
В модели данных связи таблиц могут быть типа «один к одному» (у каждого пассажира есть один посадочный талон) или «один ко многим» (в каждом рейсе много пассажиров), но не «многие ко многим». Связи «многие ко многим» приводят к ошибкам циклической зависимости, таким как «Обнаружена циклическая зависимость». Эта ошибка может произойти, если вы создаете прямое подключение между двумя таблицами со связью «многие ко многим» или непрямые подключения (цепочку связей таблиц, в которой каждая таблица связана со следующей отношением «один ко многим», но между первой и последней образуется отношение «многие ко многим»). Дополнительные сведения см. в статье Связи между таблицами в модели данных.
-
Типы данных в двух столбцах должны быть совместимы. Подробные сведения см. в статье Типы данных в моделях данных.
-
Другие способы создания связей могут оказаться более понятными, особенно если неизвестно, какие столбцы использовать. Дополнительные сведения см. в статье Создание связи в представлении диаграммы в Power Pivot.
Пример. Связывание данных логики операций со временем с данными по рейсам авиакомпании
Вы можете узнать о связях обеих таблиц и логики операций со временем с помощью свободных данных на Microsoft Azure Marketplace. Некоторые из этих наборов данных очень велики, и для их загрузки за разумное время необходимо быстрое подключение к Интернету.
-
Запустите надстройку Power Pivot в Microsoft Excel и откройте окно Power Pivot.
-
Нажмите Получение внешних данных > Из службы данных > Из Microsoft Azure Marketplace. В мастере импорта таблиц откроется домашняя страница Microsoft Azure Marketplace.
-
В разделе Price (Цена) нажмите Free (Бесплатно).
-
В разделе Category (Категория) нажмите Science & Statistics (Наука и статистика).
-
Найдите DateStream и нажмите кнопку Subscribe (Подписаться).
-
Введите свои учетные данные Майкрософт и нажмите Sign in (Вход). Откроется окно предварительного просмотра данных.
-
Прокрутите вниз и нажмите Select Query (Запрос на выборку).
-
Нажмите кнопку Далее.
-
Чтобы импортировать данные, выберите BasicCalendarUS и нажмите Готово. При быстром подключении к Интернету импорт займет около минуты. После выполнения вы увидите отчет о состоянии перемещения 73 414 строк. Нажмите Закрыть.
-
Чтобы импортировать второй набор данных, нажмите Получение внешних данных > Из службы данных > Из Microsoft Azure Marketplace.
-
В разделе Type (Тип) нажмите Data Данные).
-
В разделе Price (Цена) нажмите Free (Бесплатно).
-
Найдите US Air Carrier Flight Delays и нажмите Select (Выбрать).
-
Прокрутите вниз и нажмите Select Query (Запрос на выборку).
-
Нажмите кнопку Далее.
-
Нажмите Готово для импорта данных. При быстром подключении к Интернету импорт займет около 15 минут. После выполнения вы увидите отчет о состоянии перемещения 2 427 284 строк. Нажмите Закрыть. Теперь у вас есть две таблицы в модели данных. Чтобы связать их, нужны совместимые столбцы в каждой таблице.
-
Убедитесь, что значения в столбце DateKey в таблице BasicCalendarUS указаны в формате 01.01.2012 00:00:00. В таблице On_Time_Performance также есть столбец даты и времени FlightDate, значения которого указаны в том же формате: 01.01.2012 00:00:00. Два столбца содержат совпадающие данные одинакового типа и по крайней мере один из столбцов (DateKey) содержит только уникальные значения. В следующих действиях вы будете использовать эти столбцы, чтобы связать таблицы.
-
В окне Power Pivot нажмите Сводная таблица, чтобы создать сводную таблицу на новом или существующем листе.
-
В списке полей разверните таблицу On_Time_Performance и нажмите ArrDelayMinutes, чтобы добавить их в область значений. В сводной таблице вы увидите общее время задержанных рейсов в минутах.
-
Разверните таблицу BasicCalendarUS и нажмите MonthInCalendar, чтобы добавить его в область строк.
-
Обратите внимание, что теперь в сводной таблице перечислены месяцы, но количество минут одинаковое для каждого месяца. Нужны одинаковые значения, указывающие на связь.
-
В списке полей, в разделе «Могут потребоваться связи между таблицами» нажмите Создать.
-
В поле «Связанная таблица» выберите On_Time_Performance, а в поле «Связанный столбец (первичный ключ)» — FlightDate.
-
В поле «Таблица» выберитеBasicCalendarUS, а в поле «Столбец (чужой)» — DateKey. Нажмите ОК для создания связи.
-
Обратите внимание, что время задержки в настоящее время отличается для каждого месяца.
-
В таблице BasicCalendarUS перетащите YearKey в область строк над пунктом MonthInCalendar.
Теперь вы можете разделить задержки прибытия по годам и месяцам, а также другим значениям в календаре.
Советы: По умолчанию месяцы перечислены в алфавитном порядке. С помощью надстройки Power Pivot вы можете изменить порядок сортировки так, чтобы они отображались в хронологическом порядке.
-
Таблица BasicCalendarUS должна быть открыта в окне Power Pivot.
-
В главной таблице нажмите Сортировка по столбцу.
-
В поле «Сортировать» выберите MonthInCalendar.
-
В поле «По» выберите MonthOfYear.
Сводная таблица теперь сортирует каждую комбинацию «месяц и год» (октябрь 2011, ноябрь 2011) по номеру месяца в году (10, 11). Изменить порядок сортировки несложно, потому что канал DateStream предоставляет все необходимые столбцы для работы этого сценария. Если вы используете другую таблицу логики операций со временем, ваши действия будут другими.
«Могут потребоваться связи между таблицами»
По мере добавления полей в сводную таблицу вы получите уведомление о необходимости связи между таблицами, чтобы разобраться с полями, выбранными в сводной таблице.
Хотя Excel может подсказать вам, когда необходима связь, он не может подсказать, какие таблицы и столбцы использовать, а также возможна ли связь между таблицами. Чтобы получить ответы на свои вопросы, попробуйте сделать следующее.
Шаг 1. Определите, какие таблицы указать в связи
Если ваша модель содержит всего лишь несколько таблиц, понятно, какие из них нужно использовать. Но для больших моделей вам может понадобиться помощь. Один из способов заключается в том, чтобы использовать представление диаграммы в надстройке Power Pivot. Представление диаграммы обеспечивает визуализацию всех таблиц в модели данных. С помощью него вы можете быстро определить, какие таблицы отделены от остальной части модели.
Примечание: Можно создавать неоднозначные связи, которые являются недопустимыми при использовании в сводной таблице или отчете Power View. Пусть все ваши таблицы связаны каким-то образом с другими таблицами в модели, но при попытке объединения полей из разных таблиц вы получите сообщение «Могут потребоваться связи между таблицами». Наиболее вероятной причиной является то, что вы столкнулись со связью «многие ко многим». Если вы будете следовать цепочке связей между таблицами, которые подключаются к необходимым для вас таблицам, то вы, вероятно, обнаружите наличие двух или более связей «один ко многим» между таблицами. Не существует простого обходного пути, который бы работал в любой ситуации, но вы можете попробоватьсоздать вычисляемые столбцы, чтобы консолидировать столбцы, которые вы хотите использовать в одной таблице.
Шаг 2. Найдите столбцы, которые могут быть использованы для создания пути от одной таблице к другой
После того как вы определили, какая таблица не связана с остальной частью модели, пересмотрите столбцы в ней, чтобы определить содержит ли другой столбец в другом месте модели соответствующие значения.
Предположим, у вас есть модель, которая содержит продажи продукции по территории, и вы впоследствии импортируете демографические данные, чтобы узнать, есть ли корреляция между продажами и демографическими тенденциями на каждой территории. Так как демографические данные поступают из различных источников, то их таблицы первоначально изолированы от остальной части модели. Для интеграции демографических данных с остальной частью своей модели вам нужно будет найти столбец в одной из демографических таблиц, соответствующий тому, который вы уже используете. Например, если демографические данные организованы по регионам и ваши данные о продажах определяют область продажи, то вы могли бы связать два набора данных, найдя общие столбцы, такие как государство, почтовый индекс или регион, чтобы обеспечить подстановку.
Кроме совпадающих значений есть несколько дополнительных требований для создания связей.
-
Значения данных в столбце подстановки должны быть уникальными. Другими словами, столбец не может содержать дубликаты. В модели данных нули и пустые строки эквивалентны пустому полю, которое является самостоятельным значением данных. Это означает, что не может быть несколько нулей в столбце подстановок.
-
Типы данных столбца подстановок и исходного столбца должны быть совместимы. Подробнее о типах данных см. в статье Типы данных в моделях данных.
Подробнее о связях таблиц см. в статье Связи между таблицами в модели данных.
К началу страницы
Содержание
- 0.1 Создание связей между рабочими книгами
- 0.2 Прежде чем создавать связи между таблицами
- 0.3 Обновление связей
- 0.4 Разорвать связи в книгах Excel
- 1 Как Можно Быстро Организовать Ссылку Между Данными в Книгах Excel (Смотри и Учись)
- 2 Основы: Как Добавить Ссылку между Листами в Excel
- 2.1 1. Создайте в Excel новую Формулу
- 2.2 2. Переключитесь между Листами в Excel
- 2.3 3. Закройте Excel формулу
- 3 Повышаем Уровень Сложности: Как Создать Связь Между Несколькими Книгами Excel
- 3.1 1. Откройте Две Рабочие Книги
- 3.2 2. Начните Создавать Формулу в Excel
- 3.3 3. Переключитесь на Другой Рабочий Документ Excel
- 4 Как Обновлять Данные При Работе с Несколькими Книгами
- 4.1 Пример 1: Открыты Обе Книги Excel
- 4.2 Пример 2: Если Один Рабочий Документ Закрыт
- 5 Подводим итоги и продолжаем обучаться работе в Excell
Связь между таблицами Excel – это формула, которая возвращает данные с ячейки другой рабочей книги. Когда вы открываете книгу, содержащую связи, Excel считывает последнюю информацию с книги-источника (обновление связей)
Межтабличные связи в Excel используются для получения данных как с других листов рабочей книги, так и с других рабочих книг Excel. К примеру, у вас имеется таблица с расчетом итоговой суммы продаж. В расчете используются цены на продукт и объем продаж. В таком случае имеет смысл создать отдельную таблицу с данными по ценам, которые будут подтягиваться с помощью связей первой таблицы.
Когда вы создаете связь между таблицами, Excel создает формулу, которая включает в себя имя исходной книги, заключенную в скобки [], имя листа с восклицательным знаком на конце и ссылку на ячейку.
Создание связей между рабочими книгами
- Открываем обе рабочие книги в Excel
- В исходной книге выбираем ячейку, которую необходимо связать, и копируем ее (сочетание клавиш Ctrl+С)
- Переходим в конечную книгу, щелкаем правой кнопкой мыши по ячейке, куда мы хотим поместить связь. Из выпадающего меню выбираем Специальная вставка
- В появившемся диалоговом окне Специальная вставка выбираем Вставить связь.
Есть еще один, более простой, вариант создания связи между таблицами. В ячейку, куда мы хотим вставить связь, ставим знак равенства (так же как и для обычной формулы), переходим в исходную книгу, выбираем ячейку, которую хотим связать, щелкаем Enter.
Вы можете использовать инструменты копирования и автозаполнения для формул связи так же, как и для обычных формул.
Прежде чем создавать связи между таблицами
Прежде чем вы начнете распространять знания на свои грандиозные идеи, прочитайте несколько советов по работе со связями в Excel:
Делайте легко отслеживаемые связи. Не существует автоматического поиска всех ячеек, содержащих ссылки. Поэтому, используйте определенный формат, чтобы быстро идентифицировать связи с другими таблицами, в противном случае, документ, содержащий ссылки, может разрастись до такой степени, что его будет трудно поддерживать.
Автоматические вычисления. Исходная книга должна работать в режиме автоматического вычисления (установлено по умолчанию). Для переключения параметра вычисления перейдите по вкладке Формулы в группу Вычисление. Выберите Параметры вычислений –> Автоматически.
Избегайте циклические ссылки. Циклические связи – когда две рабочие книги содержат ссылки друг на друга – могут быть причиной медленного открытия и работы файла.
Обновление связей
Для ручного обновления связи между таблицами, перейдите по вкладке Данные в группу Подключения. Щелкните по кнопке Изменить связи.
В появившемся диалоговом окне Изменение связей, выберите интересующую вас связь и щелкните по кнопке Обновить.
Разорвать связи в книгах Excel
Разрыв связи с источником приведет к замене существующих формул связи на значения, которые они возвращают. Например, связь =Цены!$B$4 будет заменена на 16. Разрыв связи нельзя отменить, поэтому прежде чем совершить операцию, рекомендую сохранить книгу.
Перейдите по вкладке Данные в группу Подключения. Щелкните по кнопке Изменить связи. В появившемся диалоговом окне Изменение связей, выберите интересующую вас связь и щелкните по кнопке Разорвать связь.
Иногда необходимо создать неизменяемую связь одной ячейки со значением в другой ячейке, введенном в нее вручную или полученным в результате вычисления формулы.
- В окне открытого листа выделите ячейку с исходным значением.
- Используйте любой известный способ копирования (кнопка «Копировать» на вкладке «Главная», Ctrl+C и т. д.).
- Выделите ячейку, которая будет связанна с исходной.
- Перейдите к вкладке «Главная» и в группе «Буфер обмена» раскройте меню кнопки «Вставить».
- В списке команд выберите пункт «Вставить связь» (рис. 4.4).
- Закрепите результат щелчком по клавише Esc.
Примечание
Дальнейшее изменения значений в исходной ячейке будут автоматически отображаться в связанной ячейке.
Рис. 4.4. Вкладка «Главная». Меню кнопки «Вставить». Пункт «Вставить связь»
По мере того как вы используете и создаете больше рабочих документов Excel, у вас может возникнуть необходимость связать их между собой. Может быть вы захотите написать формулу, которая использует данные с разных Листов. Или может даже вы напишете формулу, которая будет использовать данные из разных Книг (стандартное название рабочего документа Excel — workbook (анг.))
Я понял, что если я хочу, чтобы мои файлы были понятными и аккуратными, лучше разделять большие Листы с данными от формул, которые их обрабатывают. Я часто использую одну Книгу или Лист, который обрабатывает все что мне нужно.
В этом уроке, вы узнаете как добавлять ссылки на данные в Excel. Сначала, мы научимся связывать данные из разных Листов в пределах одной Книги. Затем, мы перейдем к связыванию нескольких Книг Excel, чтобы импортировать и синхронизировать данные между файлами.
Я покажу вам два примера, как можно связать данные из ваших электронных таблиц. Вы узнаете как извлекать данные из другой таблицы в Excel и как организовать связь между двумя Книгами. Мы также рассмотрим основные примеры написания формул, использующих данные из различных Листов в пределах одного рабочего документа.
Давайте посмотрим иллюстрированное руководство по связыванию Листов и Книг в Excel.
Основы: Как Добавить Ссылку между Листами в Excel
Давайте начнем с того, что научимся создавать формулы, которые используют данные с других Листов. Вы возможно уже знаете, что рабочий документ (Книга) Excel, может содержать несколько рабочих страниц (Листов). Каждый лист имеет свою вкладку, и вы можете переключаться между ними щелкая по вкладкам в нижней части документа Excel.
Сложные документы могут содержать большое количество листов. И в какое-то время, вам придется написать формулу которая будет использовать данные из разных листов.
Может вы будете использовать один лист в документе для всех ваших формул, которые обрабатывают данные, а данные будете распределять по отдельным листам.
В моем документе три вкладки с Листами (Sheet). Я собираюсь написать формулу, которая будет работать с данными из каждого листа.
Давайте разберемся как написать многостраничную формулу, которая работает с данными из разных Листов в пределах одного рабочего документа.
1. Создайте в Excel новую Формулу
Многие формулы в Excel начинаются со знака равно (=). Дважды щелкните или начните печатать в ячейке, и вы начнете создавать формулу, в которую вы хотите вставить ссылку. Например, я собираюсь написать формулу, которая будет суммировать значения из разных ячеек.
Я открываю запись знаком =, и затем щелкаю по первой ячейке на текущем листе, чтобы создать первую часть формулы. Затем, я напечатаю знак +, чтобы добавить значение из второй ячейки в этой формуле.
Начните записывать формулу в ячейке и щелкните по первой ячейке, чтобы бы включить ее в формулу, но при этом, пока не завершайте ввод формулы.
Пока не завершайте ввод формулы и не жмите Enter! Вам нужно оставить формулу открытой перед тем как вы переключитесь на другой Лист.
2. Переключитесь между Листами в Excel
Пока ваша формула не закончена, щелкните на вкладке другого листа в нижней части программы. Очень важно, чтобы вы не закрывали формулу, перед тем как вы щелкните по другой ячейке, которую вы хотите вставить в формулу.
Перейдите на другой Лист Excel
После того, как вы переключитесь на другой лист, щелкните по ячейке которую вы хотите добавить в формулу. Как вы можете видеть на картинке ниже, Excel автоматически запишет часть формулы, которая будет обращаться к ячейке на другом Листе.
Заметьте на картинке ниже, что для ссылки на ячейку на другом Листе, Excel добавил надпись «Sheet2!B3», которая ссылается на ячейку В3 на листе с названием Sheet2. Вы можете написать это вручную, но когда в щелкаете по ячейке, Excel делает эту надпись автоматически за вас.
Excel автоматически записывает за вас часть формул, чтобы добавить ссылку на ячейку с другого Листа.
3. Закройте Excel формулу
Теперь, вы можете нажать enter, чтобы завершить создание мульти-страничной формулы. Когда вы это делаете, Excel вернется туда, где вы начали создавать формулу и покажет вам результат.
Вы можете продолжать набирать формулу, включая в нее ячейки с других листов и другие ячейки на этом же листе. Продолжайте комбинировать ссылки со всего рабочего документа, на все данные, которые вам нужны.
Повышаем Уровень Сложности: Как Создать Связь Между Несколькими Книгами Excel
Давайте узнаем, как извлечь данные из другого рабочего документа. С помощью этого навыка, вы сможете писать формул, которые связывают данные из разных рабочих документов Excel.
Для этого раздела урока, вам понадобится два рабочих документа, которые вы можете скачать в виде бесплатного приложения к этому уроку. Откройте их оба в Excel, и следуйте дальнейшим указаниям.
1. Откройте Две Рабочие Книги
Давайте начнем создавать формулу, которая будет использовать данные из двух различных документов.
Самый простой способ сделать это, это открыть два документа Excel, одновременно и расположить их рядом друг с другом. Я использую для этого функцию Windows Snap, чтобы каждое окно занимало пол экрана. Вам нужно иметь две книги перед собой, чтобы писать формулу, которая будет взаимодействовать с двумя Книгами.
На рисунке ниже, я открыл два рабочих документа один рядом с другим, для которых я буду создавать формулы. В моем примере, я веду бизнес, и покупаю различные продукты, и продаю их в разные страны. Итак, я использую разные рабочие документы, чтобы отслеживать покупки/продажи и данные по стоимости.
В этом примере, я использую разные рабочие документы, чтобы отслеживать покупки/продажи и данные по стоимости.
2. Начните Создавать Формулу в Excel
Цена за которую я покупаю товары, может измениться, а так же может измениться соотношение курсов к валюте в которой я получаю выплаты. Поэтому мне нужно иметь список в котором отслеживаются курсы валют и умножать их на стоимость моих закупок. Это подходящая возможность, чтобы использовать информацию из двух файлов и записать формулу, которая будет использовать данные обоих файлов.
Давайте рассмотрим число баррелей нефти которую я покупаю каждый месяц и цену за баррель. Сначала в ячейке из колонки Cost (ячейка C3), я начинаю создавать формулу, щелкнув в ней и нажав знак равно (=), а затем щелкаю по ячейке В3, чтобы взять значение для количества. Теперь, я жму знак *, чтобы уможножить количество на курс.
Итак, ваша формула, пока должна выглядеть так:
=B3*
Не закрывайте пока вашу формулу. Убедитесь, что она осталась открытой перед тем как перейти к следующему шагу; нам нужно указать Excel данные по цене, на которую будет умножаться количество.
3. Переключитесь на Другой Рабочий Документ Excel
Пришло время переключиться на другой рабочий документ, вот почему так важно иметь данные из двух документов между собой, когда вы работаете с двумя Книгами.
Пока ваша формула открыта, щелкните по вкладке другой книги. Затем, щелкните по ячейке в вашей второй Книге, чтоб связать данные из двух файлов Excel.
Excel автоматически добавит ссылку на другой рабочий документа, как часть формулы:
=B3*Sheet1!$B$2
После того как вы нажмете Enter, Excel автоматически рассчитает окончательную стоимость умножив количество в первой книге на цену из второй книги.
Потренируйте свои навыки работы в Excel, умножая количество товара или объем на соответствующую ему цену из документа «Prices«.
Главное, расположить книги одну рядом с другой, и создавать формулу переключаясь между ними.
При этом, ничего не мешает вам использовать больше, чем два рабочих документа. Вы можете открыть много рабочих документов, на которые вы хотите ссылаться, и создавать формулы, связывающие данные между множеством листов.
Как Обновлять Данные При Работе с Несколькими Книгами
Когда вы используете формулы, которые ссылаются на разные книги Excel, вам нужно позаботится о том, как будут обновляться данные.
Итак, что же произойдет, если данные в Книге, на которую вы ссылаетесь, поменяются? Будут ли выполнены автоматические изменения в вашей Книге, или вам нужно обновлять ваши файлы, чтобы извлечь последние изменения и импортировать их?
Ответ такой, «зависит», и в основном зависит от того, открыты ли два документа одновременно.
Пример 1: Открыты Обе Книги Excel
Давайте проверим пример используя те же книги, что мы использовали раньше. Обе книги открыты. Давайте посмотрим, что произойдет, если мы изменим цену нефти за баррель с 45$ на 75$:
На сриншоте ниже, вы можете видеть, что когда мы изменили цену на нефть, результаты в другом документе автоматически поменялись.
Важно помнить: если оба рабочих документа открыты одновременно, изменения будут внесены автоматически в реальном времени. Когда вы меняете переменную, то информация в другом документе будет автоматически изменена или пересчитана, на основании новых данных.
Пример 2: Если Один Рабочий Документ Закрыт
А что если вы открыли только один рабочий документ? Например, каждое утро мы обновляем цены на наши товары и валюты, а вечером мы рассматриваем влияние изменений на наши покупки и продажи.
В следующий раз, когда вы откроете документ, который ссылается на другие таблицы, вы должны увидить сообщение подобное тому, что приведено ниже. Вы можете щелкнуть по кнопке Обновить (Update), чтобы извлечь полседние данные из документа, на который ссылается формула.
Щелкните по кнопке Обновить в выпадающем окне, когда откроете документ, чтобы извлечь полседние данные из друго файла.
Вы так же можете видеть меню, где можно нажать на копку Включить содержимое (Enable Content), чтобы автоматически обновлять данные между файлами Excel.
Подводим итоги и продолжаем обучаться работе в Excell
Написание формул которые берут данные из разных Листов и Книг, важный навык, при работе в Excel. Тем более, что это совсем не сложно, если вы знаете как это делать.
Посмотрите эти дополнительные уроки, чтобы узнать больше о том как работать с программой Excel и как обрабатывать в ней данные. Эти уроки, хорошо подойдут для того, чтобы продолжить обучение.
Дайте мне знать в комментариях, если у вас остались какие-то вопросы, по поводу того как организовать связь между различными рабочими документами Excel.
Очень многие в своей работе сталкиваются с необходимостью формировать отчёты, сводки, обобщающие документы на основе каких-то вычислений, расчетов, таблиц с исходными данными и их анализа. И часто для выполнения этих задач приходится прибегать к комбинации таких программных продуктов как Word (где формируется итоговый отчет для дальнейшей распечатки или пересылки кому-либо) и Excel (в котором собираются и обрабатываются исходные данные для отчета).
Если разовые задачи не вызывают особых вопросов, то формирование периодических отчетов порой доставляет немало проблем. Рутинное копирование одних и тех же табличек или графиков (с немного изменившимися данными) в одни и те же документы крайне утомляет. Но этот процесс можно автоматизировать. Как это сделать — читайте ниже.
Создание связи между Word и Excel
Самый быстрый и эффективный способ создать связи между файлами — скопировать нужную информацию из одного и вставить в другой, воспользовавшись инструментом «Специальная вставка». Для этого нужно выделить таблицу, ячейку или диаграмму в Excel, перейти в Word, поставить курсор в нужную часть документа и:
- нажать правую кнопку мыши и выбрать пиктограмму с нужным способом вставки
- или выбрать на вкладке «Главная» команду «Вставить» (нажать на стрелочку под иконкой) и в появившемся списке выбрать «Специальная вставка», либо воспользоваться сочетанием клавиш «CTRL+ALT+V». В появившемся окне необходимо активировать пункт «Связать», выбрать вариант вставки и нажать ОК.
В результате вставленный объект будет связан с тем файлом, откуда он был скопирован, и при обновлении исходных данных можно будет быстро обновить связи в документе Word.
Выбор способа вставки данных
Как видно на рисунке 2, есть несколько способов вставки данных в документ. В повседневной работе придется выбирать, по сути, между двумя вариантами — вставить таблицу как картинку (без возможности ее форматирования) или как текст (а значит, с возможностью вносить изменения). Для диаграмм вариант всего один — картинка.
Кроме того, важно отличать связанные объекты от внедренных. Внедрение — операция, которая не рассматривается в этой статье. Суть ее в том, что в документ Word внедряется объект Excel, который позволяет работать с данными в табличном процессоре прямо из документа Word. При этом исходный файл и текстовый документ никак не связаны. Внедрение используется редко, так как сильно увеличивает размер файла.
В большинстве случаев при выборе способа вставки таблицы следует выбирать текстовый вариант, чтобы иметь возможность настроить форматирование под себя. Картинки можно вставлять, если форматирование в исходном документе Excel Вас полностью устраивает.
Бывают ситуации, когда приходится вставлять не всю таблицу, а данные из отдельных ячеек. Например, когда нужно вставить в предложение какую-то цифру или текст, которые есть в файле Excel и будут изменяться, или же когда таблица в Word составляется из нескольких разрозненных ячеек Excel (из разных таблиц, листов или даже книг). В таких случаях копируем данные ячеек в нужное место и выбираем способ вставки «Неформатированный текст».
Настройка способа обновления связей и работа с диспетчером связей
Вставленные связи можно обновлять несколькими способами. Например, если на вставленном объекте кликнуть правой кнопкой мыши, то в меню будет кнопка «Обновить связь», нажатие которой приведет к обновлению выбранной связи.
Можно задать параметры обновления сразу для всех объектов. Для этого нужно вызвать диспетчер связей документа. Проходим по пути «Файл»-«Сведения»-«Изменить связи с файлами» (данная команда доступна, когда в документе есть как минимум одна связь, а сам документ сохранен).
В диспетчере показаны все связи файла. В группе «Способ обновления связи» можно выбрать тот вариант, который более предпочтителен или вообще отключить обновление связей. Также для каждой связи можно задать настройку «Сохранять формат при обновлении». Она отвечает за то, чтобы выбранное Вами форматирование не слетало, когда вы обновите связь. В этом же диспетчере можно разорвать связи, открыть или изменить источник.
Работа со связями через коды полей Word
По своей сути каждая связь представляет собой специальное поле Word. Если в документе со связями Вы нажмете ALT+F9, то увидите, что вместо вставленных данных отобразятся коды этих полей.
Работа с ними открывает возможности, которые не предоставляет стандартный диспетчер связей. И хотя коды полей Word — широчайшая тема, выходящая далеко за рамки данной статьи, пару примеров их полезного использования мы приведем:
1) Изменение ссылок на документы сразу во всех связях
Связи с исходными документами осуществляются через прямые ссылки. Если Вы переложили исходный файл, то нужно будет переподтянуть все связи. В диспетчере связей придется делать это для каждой связи отдельно (даже если выбрать несколько — диспетчер будет по очереди предлагать заменять каждую ссылку). Если же вы перейдете в режим отображения кодов полей (ALT+F9), то старые ссылки можно поменять на новые простой заменой (CTRL+H или «Главная-Заменить»), указав старый адрес и новый.
2) Использование именованных диапазонов для вставки таблиц
Если вы вставляете в Word таблицу из Excel, то ссылка на нее будет содержать конкретный диапазон ячеек. То есть, если вы добавите в таблицу строки или столбцы — то данные обновятся только в пределах жестко указанного диапазона. Диспетчер связей позволяет изменить диапазон вручную. Автоматическое же изменение можно настроить, задав в Excel именованный динамический диапазон (урок здесь и здесь, не разберетесь — пишите нашему боту в Telegram, поможем), а в файле Word в режиме правки кодов полей после этого нужно будет заменить прямые ссылки на ячейки на название именованного диапазона. Теперь при изменении размера исходной таблицы в Excel документ в Word обновится корректно.
Ваши вопросы по статье можете задавать через нашего бота обратной связи в Telegram: @KillOfBot
С уважением, команда tDots.ru
Russian (Pусский) translation by Andrey Rybin (you can also view the original English article)
По мере того как вы используете и создаете больше рабочих документов Excel, у вас может возникнуть необходимость связать их между собой. Может быть вы захотите написать формулу, которая использует данные с разных Листов. Или может даже вы напишете формулу, которая будет использовать данные из разных Книг (стандартное название рабочего документа Excel — workbook (анг.))
Я понял, что если я хочу, чтобы мои файлы были понятными и аккуратными, лучше разделять большие Листы с данными от формул, которые их обрабатывают. Я часто использую одну Книгу или Лист, который обрабатывает все что мне нужно.
В этом уроке, вы узнаете как добавлять ссылки на данные в Excel. Сначала, мы научимся связывать данные из разных Листов в пределах одной Книги. Затем, мы перейдем к связыванию нескольких Книг Excel, чтобы импортировать и синхронизировать данные между файлами.
Как Можно Быстро Организовать Ссылку Между Данными в Книгах Excel (Смотри и Учись)
Я покажу вам два примера, как можно связать данные из ваших электронных таблиц. Вы узнаете как извлекать данные из другой таблицы в Excel и как организовать связь между двумя Книгами. Мы также рассмотрим основные примеры написания формул, использующих данные из различных Листов в пределах одного рабочего документа.
Давайте посмотрим иллюстрированное руководство по связыванию Листов и Книг в Excel.
Основы: Как Добавить Ссылку между Листами в Excel
Давайте начнем с того, что научимся создавать формулы, которые используют данные с других Листов. Вы возможно уже знаете, что рабочий документ (Книга) Excel, может содержать несколько рабочих страниц (Листов). Каждый лист имеет свою вкладку, и вы можете переключаться между ними щелкая по вкладкам в нижней части документа Excel.
Сложные документы могут содержать большое количество листов. И в какое-то время, вам придется написать формулу которая будет использовать данные из разных листов.
Может вы будете использовать один лист в документе для всех ваших формул, которые обрабатывают данные, а данные будете распределять по отдельным листам.
Давайте разберемся как написать многостраничную формулу, которая работает с данными из разных Листов в пределах одного рабочего документа.
1. Создайте в Excel новую Формулу
Многие формулы в Excel начинаются со знака равно (=). Дважды щелкните или начните печатать в ячейке, и вы начнете создавать формулу, в которую вы хотите вставить ссылку. Например, я собираюсь написать формулу, которая будет суммировать значения из разных ячеек.
Я открываю запись знаком =, и затем щелкаю по первой ячейке на текущем листе, чтобы создать первую часть формулы. Затем, я напечатаю знак +, чтобы добавить значение из второй ячейки в этой формуле.
Пока не завершайте ввод формулы и не жмите Enter! Вам нужно оставить формулу открытой перед тем как вы переключитесь на другой Лист.
2. Переключитесь между Листами в Excel
Пока ваша формула не закончена, щелкните на вкладке другого листа в нижней части программы. Очень важно, чтобы вы не закрывали формулу, перед тем как вы щелкните по другой ячейке, которую вы хотите вставить в формулу.
После того, как вы переключитесь на другой лист, щелкните по ячейке которую вы хотите добавить в формулу. Как вы можете видеть на картинке ниже, Excel автоматически запишет часть формулы, которая будет обращаться к ячейке на другом Листе.
Заметьте на картинке ниже, что для ссылки на ячейку на другом Листе, Excel добавил надпись «Sheet2!B3», которая ссылается на ячейку В3 на листе с названием Sheet2. Вы можете написать это вручную, но когда в щелкаете по ячейке, Excel делает эту надпись автоматически за вас.
3. Закройте Excel формулу
Теперь, вы можете нажать enter, чтобы завершить создание мульти-страничной формулы. Когда вы это делаете, Excel вернется туда, где вы начали создавать формулу и покажет вам результат.
Вы можете продолжать набирать формулу, включая в нее ячейки с других листов и другие ячейки на этом же листе. Продолжайте комбинировать ссылки со всего рабочего документа, на все данные, которые вам нужны.
Повышаем Уровень Сложности: Как Создать Связь Между Несколькими Книгами Excel
Давайте узнаем, как извлечь данные из другого рабочего документа. С помощью этого навыка, вы сможете писать формул, которые связывают данные из разных рабочих документов Excel.
Для этого раздела урока, вам понадобится два рабочих документа, которые вы можете скачать в виде бесплатного приложения к этому уроку. Откройте их оба в Excel, и следуйте дальнейшим указаниям.
1. Откройте Две Рабочие Книги
Давайте начнем создавать формулу, которая будет использовать данные из двух различных документов.
Самый простой способ сделать это, это открыть два документа Excel, одновременно и расположить их рядом друг с другом. Я использую для этого функцию Windows Snap, чтобы каждое окно занимало пол экрана. Вам нужно иметь две книги перед собой, чтобы писать формулу, которая будет взаимодействовать с двумя Книгами.
На рисунке ниже, я открыл два рабочих документа один рядом с другим, для которых я буду создавать формулы. В моем примере, я веду бизнес, и покупаю различные продукты, и продаю их в разные страны. Итак, я использую разные рабочие документы, чтобы отслеживать покупки/продажи и данные по стоимости.
2. Начните Создавать Формулу в Excel
Цена за которую я покупаю товары, может измениться, а так же может измениться соотношение курсов к валюте в которой я получаю выплаты. Поэтому мне нужно иметь список в котором отслеживаются курсы валют и умножать их на стоимость моих закупок. Это подходящая возможность, чтобы использовать информацию из двух файлов и записать формулу, которая будет использовать данные обоих файлов.
Давайте рассмотрим число баррелей нефти которую я покупаю каждый месяц и цену за баррель. Сначала в ячейке из колонки Cost (ячейка C3), я начинаю создавать формулу, щелкнув в ней и нажав знак равно (=), а затем щелкаю по ячейке В3, чтобы взять значение для количества. Теперь, я жму знак *, чтобы уможножить количество на курс.
Итак, ваша формула, пока должна выглядеть так:
=B3*
Не закрывайте пока вашу формулу. Убедитесь, что она осталась открытой перед тем как перейти к следующему шагу; нам нужно указать Excel данные по цене, на которую будет умножаться количество.
3. Переключитесь на Другой Рабочий Документ Excel
Пришло время переключиться на другой рабочий документ, вот почему так важно иметь данные из двух документов между собой, когда вы работаете с двумя Книгами.
Пока ваша формула открыта, щелкните по вкладке другой книги. Затем, щелкните по ячейке в вашей второй Книге, чтоб связать данные из двух файлов Excel.
Excel автоматически добавит ссылку на другой рабочий документа, как часть формулы:
=B3*[Prices.xlsx]Sheet1!$B$2
После того как вы нажмете Enter, Excel автоматически рассчитает окончательную стоимость умножив количество в первой книге на цену из второй книги.
Потренируйте свои навыки работы в Excel, умножая количество товара или объем на соответствующую ему цену из документа «Prices«.
Главное, расположить книги одну рядом с другой, и создавать формулу переключаясь между ними.
При этом, ничего не мешает вам использовать больше, чем два рабочих документа. Вы можете открыть много рабочих документов, на которые вы хотите ссылаться, и создавать формулы, связывающие данные между множеством листов.
Как Обновлять Данные При Работе с Несколькими Книгами
Когда вы используете формулы, которые ссылаются на разные книги Excel, вам нужно позаботится о том, как будут обновляться данные.
Итак, что же произойдет, если данные в Книге, на которую вы ссылаетесь, поменяются? Будут ли выполнены автоматические изменения в вашей Книге, или вам нужно обновлять ваши файлы, чтобы извлечь последние изменения и импортировать их?
Ответ такой, «зависит», и в основном зависит от того, открыты ли два документа одновременно.
Пример 1: Открыты Обе Книги Excel
Давайте проверим пример используя те же книги, что мы использовали раньше. Обе книги открыты. Давайте посмотрим, что произойдет, если мы изменим цену нефти за баррель с 45$ на 75$:
На сриншоте ниже, вы можете видеть, что когда мы изменили цену на нефть, результаты в другом документе автоматически поменялись.
Важно помнить: если оба рабочих документа открыты одновременно, изменения будут внесены автоматически в реальном времени. Когда вы меняете переменную, то информация в другом документе будет автоматически изменена или пересчитана, на основании новых данных.
Пример 2: Если Один Рабочий Документ Закрыт
А что если вы открыли только один рабочий документ? Например,
каждое утро мы обновляем цены на наши товары и валюты, а вечером мы
рассматриваем влияние изменений на наши покупки и продажи.
В следующий раз, когда вы откроете документ, который ссылается на другие таблицы, вы должны увидить сообщение подобное тому, что приведено ниже. Вы можете щелкнуть по кнопке Обновить (Update), чтобы извлечь полседние данные из документа, на который ссылается формула.
Вы так же можете видеть меню, где можно нажать на копку Включить содержимое (Enable Content), чтобы автоматически обновлять данные между файлами Excel.
Подводим итоги и продолжаем обучаться работе в Excell
Написание формул которые берут данные из разных Листов и Книг, важный навык, при работе в Excel. Тем более, что это совсем не сложно, если вы знаете как это делать.
Посмотрите эти дополнительные уроки, чтобы узнать больше о том как работать с программой Excel и как обрабатывать в ней данные. Эти уроки, хорошо подойдут для того, чтобы продолжить обучение.
Дайте мне знать в комментариях, если у вас остались какие-то вопросы, по поводу того как организовать связь между различными рабочими документами Excel.
Связь между таблицами Excel – это формула, которая возвращает данные с ячейки другой рабочей книги. Когда вы открываете книгу, содержащую связи, Excel считывает последнюю информацию с книги-источника (обновление связей)
Межтабличные связи в Excel используются для получения данных как с других листов рабочей книги, так и с других рабочих книг Excel. К примеру, у вас имеется таблица с расчетом итоговой суммы продаж. В расчете используются цены на продукт и объем продаж. В таком случае имеет смысл создать отдельную таблицу с данными по ценам, которые будут подтягиваться с помощью связей первой таблицы.
Когда вы создаете связь между таблицами, Excel создает формулу, которая включает в себя имя исходной книги, заключенную в скобки [], имя листа с восклицательным знаком на конце и ссылку на ячейку.
Создание связей между рабочими книгами
- Открываем обе рабочие книги в Excel
- В исходной книге выбираем ячейку, которую необходимо связать, и копируем ее (сочетание клавиш Ctrl+С)
- Переходим в конечную книгу, щелкаем правой кнопкой мыши по ячейке, куда мы хотим поместить связь. Из выпадающего меню выбираем Специальная вставка
- В появившемся диалоговом окне Специальная вставка выбираем Вставить связь.
Есть еще один, более простой, вариант создания связи между таблицами. В ячейку, куда мы хотим вставить связь, ставим знак равенства (так же как и для обычной формулы), переходим в исходную книгу, выбираем ячейку, которую хотим связать, щелкаем Enter.
Вы можете использовать инструменты копирования и автозаполнения для формул связи так же, как и для обычных формул.
Прежде чем создавать связи между таблицами
Прежде чем вы начнете распространять знания на свои грандиозные идеи, прочитайте несколько советов по работе со связями в Excel:
Делайте легко отслеживаемые связи. Не существует автоматического поиска всех ячеек, содержащих ссылки. Поэтому, используйте определенный формат, чтобы быстро идентифицировать связи с другими таблицами, в противном случае, документ, содержащий ссылки, может разрастись до такой степени, что его будет трудно поддерживать.
Автоматические вычисления. Исходная книга должна работать в режиме автоматического вычисления (установлено по умолчанию). Для переключения параметра вычисления перейдите по вкладке Формулы в группу Вычисление. Выберите Параметры вычислений –> Автоматически.
Избегайте циклические ссылки. Циклические связи – когда две рабочие книги содержат ссылки друг на друга – могут быть причиной медленного открытия и работы файла.
Обновление связей
Для ручного обновления связи между таблицами, перейдите по вкладке Данные в группу Подключения. Щелкните по кнопке Изменить связи.
В появившемся диалоговом окне Изменение связей, выберите интересующую вас связь и щелкните по кнопке Обновить.
Разорвать связи в книгах Excel
Разрыв связи с источником приведет к замене существующих формул связи на значения, которые они возвращают. Например, связь =[Источник.xlsx]Цены!$B$4 будет заменена на 16. Разрыв связи нельзя отменить, поэтому прежде чем совершить операцию, рекомендую сохранить книгу.
Перейдите по вкладке Данные в группу Подключения. Щелкните по кнопке Изменить связи. В появившемся диалоговом окне Изменение связей, выберите интересующую вас связь и щелкните по кнопке Разорвать связь.
Коммуникация — очень полезная функция Excel. На самом деле очень часто пользователям приходится использовать информацию из других файлов. Но в некоторых ситуациях они способны причинить больше вреда, чем пользы. Ведь, например, если вы отправите эти файлы по почте, ссылки окажутся неработоспособными. Сегодня мы более подробно поговорим о том, что делать, чтобы избежать такой проблемы.
Ссылки в Excel чаще всего используются вместе с такими функциями, как ВПР, для извлечения информации из другой книги. Это может быть специальная ссылка, содержащая адрес не только ячейки, но и книги, в которой находятся данные. В результате эта ссылка выглядит так: = VLOOKUP (A2; ‘[Sales 2018.xlsx] Report’! $ A: $ F; 4; 0). Или, для упрощения представления, представьте адрес в следующей форме: = ‘Report [Sales 2018.xlsx]’! $ A1. Давайте посмотрим на каждый из соединительных элементов этого типа:
- [Продажи 2018.xlsx]. Этот фрагмент содержит ссылку на файл, из которого вам нужно получить информацию. Его еще называют источником.
- Отношение. Мы использовали следующее имя, но это не обязательно. Этот блок содержит имя листа, на котором вы хотите найти информацию.
- $ A: $ F и $ A1 — это адрес ячейки или диапазона с данными, содержащимися в этом документе.
Фактически, процесс создания ссылки на внешний документ называется ссылкой. После регистрации адреса ячейки, содержащейся в другом файле, содержимое вкладки «Данные» изменяется. А именно: становится активной кнопка «Изменить ссылки», с помощью которой пользователь может изменять существующие ссылки.
Суть проблемы
Как правило, дополнительных сложностей в использовании подключений не возникает. Даже если есть ситуация, когда ячейки меняются, все ссылки обновляются автоматически. Но если вы уже переименуете саму книгу или переместите ее на другой адрес, Excel станет бессильным. Таким образом выдает следующее сообщение.
Здесь у пользователя есть два возможных варианта действий в этой ситуации. Он может нажать «Продолжить», и тогда изменения не будут обновлены, или он может нажать кнопку «Изменить ссылки», с помощью которой он сможет обновить их вручную. После нажатия на эту кнопку появится дополнительное окно, в котором вы можете редактировать ссылки, указав, где в данный момент находится нужный файл и как он называется.
Кроме того, можно изменить ссылки, используя соответствующую кнопку, расположенную на вкладке «Данные». Пользователь также может узнать, что соединение разорвано, из-за ошибки #LINK, которая появляется, когда Excel не может получить доступ к информации, расположенной по определенному адресу, из-за того, что сам адрес недействителен.
Как разорвать связь в Эксель
Один из простейших способов разрешить описанную выше ситуацию, если вы не можете самостоятельно обновить расположение связанного файла, — удалить саму ссылку. Это особенно легко сделать, если документ содержит только одну ссылку. Для этого вам необходимо выполнить следующую последовательность действий:
- Откройте меню «Данные».
- Находим раздел «Подключения» и там — опцию «Изменить подключения».
- Затем нажмите «Отключить соединение».
Если вы собираетесь отправить эту книгу кому-нибудь еще, мы настоятельно рекомендуем сделать это раньше. Ведь после удаления ссылок все значения, содержащиеся в другом документе, будут автоматически загружены в файл, использованы в формулах, а вместо адреса ячейки информация в соответствующих ячейках будет просто преобразована в значения.
Как разорвать связь со всеми книгами
Но если количество ссылок становится слишком большим, их удаление вручную может занять много времени. Решить эту проблему за один раз можно с помощью специального макроса. Он находится в надстройке VBA-Excel. Вам необходимо активировать его и перейти на одноименную вкладку. Будет раздел «Ссылки», в котором мы должны нажать кнопку «Разорвать все ссылки».
Код на VBA
Если вы не можете активировать это дополнение, вы можете создать макрос самостоятельно. Для этого откройте редактор Visual Basic, нажав Alt + F11, и напишите следующие строки в поле ввода кода.
Sub UnlinkWorkBooks()
Тусклый WbLink
Тусклый я пока
Выберите Case MsgBox («Все ссылки на другие книги будут удалены из этого файла, а формулы, которые ссылаются на другие книги, будут заменены значениями». & VbCrLf & «Вы уверены, что хотите продолжить?», 36, «Разорвать ссылку?»)
Дело 7 «No
Выйти ниже
Конец выбора
WbLinks = ActiveWorkbook.LinkSources (Тип: = xlLinkTypeExcelLinks)
Если не пусто (WbLinks) Тогда
Для i = 1 для UBound (WbLinks)
ActiveWorkbook.BreakLink Имя: = WbLinks (i), Тип: = xlLinkTypeExcelLinks
Следующий
Другой
MsgBox «В этом файле нет ссылок на другие книги.», 64, «Ссылки на другие книги»
Конец, если
Конец подзаголовка
Как разорвать связи только в выделенном диапазоне
Время от времени количество ссылок очень велико и пользователь опасается, что после удаления одной из них он не сможет вернуть все без надобности. Но этой проблемы легко избежать. Для этого вам нужно выбрать диапазон, в котором нужно удалить ссылки, а затем удалить их. Для этого вам необходимо выполнить следующую последовательность действий:
- Выберите набор данных, в который вы хотите внести изменения.
- Установите надстройку VBA-Excel, затем перейдите на соответствующую вкладку.
- Затем найдите меню «Ссылки» и нажмите кнопку «Разорвать ссылки в выбранных диапазонах».
После этого все ссылки в выбранном наборе ячеек будут удалены.
Что делать, если связи не разрываются
Все описанное выше звучит неплохо, но на практике всегда есть какие-то нюансы. Например, может возникнуть ситуация, когда соединения не разорваны. В этом случае по-прежнему отображается диалоговое окно, что ссылки не могут быть обновлены автоматически. Что делать в этой ситуации?
- Во-первых, вам нужно проверить, содержится ли какая-либо информация в названных диапазонах. Для этого нажмите комбинацию клавиш Ctrl + F3 или откройте вкладку «Формулы» — «Диспетчер имен». Если имя файла полное, вам просто нужно его отредактировать или удалить совсем. Перед удалением именованных диапазонов вам необходимо скопировать файл в другое место, чтобы вы могли вернуться к исходной версии, если вы сделаете что-то неправильно.
- Если вы не можете решить проблему, удалив имена, вы можете проверить условное форматирование. Вы можете ссылаться на ячейки из другой таблицы в правилах условного форматирования. Для этого нужно найти соответствующий пункт на вкладке «Главная», затем нажать кнопку «Диспетчер файлов».
Обычно Excel не предлагает возможности предоставить адрес других книг в условном форматировании, но это делается путем ссылки на именованный диапазон со ссылкой на другой файл. Обычно даже после удаления ссылки ссылка остается. Удалить такую ссылку не составит труда, потому что она фактически не работает. Поэтому ничего плохого не произойдет, если вы его удалите.
Вы также можете использовать функцию проверки данных, чтобы увидеть, нет ли ненужных ссылок. Ссылки обычно остаются, если используется тип проверки данных «Список». Но что делать, если ячеек много? Неужели нужно постоянно проверять каждую из них? Очевидно нет. В конце концов, это займет много времени. Поэтому необходимо использовать специальный код, чтобы сохранить его значимым образом.
Явный вариант
‘—————————————————————————————
Автор: The_Prist (Дмитрий Щербаков)
‘Профессиональная разработка приложений MS Office любой сложности
‘Проведение обучающих курсов в MS Excel
https://www.excel-vba.ru
‘info@excel-vba.ru
WebMoney — R298726502453; Яндекс.Деньги — 41001332272872
‘Сфера:
‘—————————————————————————————
Sub FindErrLink()
‘вам нужно посмотреть ссылку Data — Изменить ссылки на исходный файл
‘и напишите здесь ключевые слова в нижнем регистре (часть имени файла)
‘звездочка просто заменяет любое количество символов, поэтому вам не важно точное имя
Const sToFndLink $ = «* продажи за 2018 год*»
Dim rr As Range, rc As Range, rres As Range, s$
‘определить все ячейки с проверкой данных
В случае ошибки Продолжить Далее
Установите rr = ActiveSheet.UsedRange.SpecialCells (xlCellTypeAllValidation)
Если rr ничего, тогда
MsgBox «На активном листе нет ячеек с проверкой данных», vbInformation, «www.excel-vba.ru»
Выйти ниже
Конец, если
При ошибке Перейти к 0
‘проверить каждую ячейку на наличие соединений
Для каждого rc In rr
‘на всякий случай пропустим ошибки — это тоже может быть
‘но наши связи должны быть без них, и они обязательно будут найдены
s = «»
В случае ошибки Продолжить Далее
s = rc.Convalida.Formula1
При ошибке Перейти к 0
‘нашел — все собираем в отдельный ряд
Если LCase (s) как sToFndLink, то
Если ничего нет, то
Установите rres = rc
Другой
Установить rres = Union (rc, rres)
Конец, если
Конец, если
Следующий
‘если есть соединение, выберите все ячейки с этими элементами управления данными
Если ничего нет, то
rres.Select
‘rres.Interior.Color = vbRed’, если вам также нужно выделить цветом
Конец, если
Конец подзаголовка
вам нужно создать стандартный модуль в редакторе макросов, а затем поместить туда этот текст. Далее вызываем окно макроса с помощью комбинации клавиш Alt + F8, затем выбираем наш макрос и нажимаем кнопку «Выполнить». При использовании этого кода необходимо учитывать несколько моментов:
- Прежде чем искать ссылку, которая больше не актуальна, вы должны сначала определить внешний вид ссылки, по которой она была создана. Для этого зайдите в меню «Данные» и найдите пункт «Редактировать ссылки». Далее нужно посмотреть имя файла и указать его в кавычках. Например, вот так: Const sToFndLink $ = «* 2018 продажи*»
- имя можно написать не полностью, а просто заменить ненужные символы звездочкой. И в кавычках пишите имя файла строчными буквами. В этом случае Excel найдет в конце все файлы, содержащие эту строку.
- Этот код может проверять ссылки только на текущем активном листе.
- С помощью этого макроса вы можете выбрать только найденные ячейки. Придется удалить все вручную. Это преимущество, потому что вы можете все перепроверить.
- Вы также можете выделить ячейки специальным цветом. Для этого удалите апостроф перед этой строкой rres.Interior.Color = vbRed
Обычно после выполнения действий, описанных в приведенных выше инструкциях, ненужные ссылки больше не должны оставаться. Но если они есть в документе и ваша неспособность по той или иной причине их удалить (типичный пример — безопасность данных на листе), вы можете использовать другую последовательность действий. Эта инструкция действительна только для версий 2007 и более поздних версий.
- Сделайте резервную копию документа.
- Откроем этот документ с помощью архиватора. Вы можете использовать любой формат, поддерживающий формат ZIP, но WinRar, а также тот, который встроен в Windows, будет.
- В появившемся архиве нужно найти папку xl и открыть там externalLinks.
- В этой папке находятся все внешние ссылки, каждая из которых соответствует файлу формата externalLink1.xml. Все только пронумерованы, поэтому пользователь не может понять, что это за соединение. Чтобы разобраться, что за подключение, нужно открыть папку _rels и посмотреть ее там.
- Затем мы удаляем все определенные ссылки на основе того, что мы узнали из файла externalLinkX.xml.rels.
- Далее открываем наш файл с помощью Excel. Появится информация об ошибке, например «Ошибка в части содержания книги». Даём согласие. После этого появится другое диалоговое окно. Закрываем.
После этого все ссылки необходимо удалить.
Как разорвать связи в Excel
Описание проблемы
Когда в формуле вы указываете ссылку на другую книгу, то Excel образует с ней связь. Эта связь будет прекрасно работать и обновляться автоматически в том случае, когда открыты обе книги.
К сожалению, если книга-источник была удалена/перемещена или переименована, то связь нарушится. Также связь будет потеряна если вы переместите конечный файл (содержащий ссылку). Если вы передадите только конечный файл по почте, то получатель тоже не сможет обновить связи.
При нарушении связи, ячейки со ссылками на другие книги будут содержать ошибки #ССЫЛКА.
Как разорвать связь
Один из способов решения данной проблемы — разрыв связи. Если в файле только одна связь, то сделать это довольно просто:
- Перейдите на вкладку Данные.
- Выберите команду Изменить связи в разделе Подключения.
- Нажмите Разорвать связь.
ВАЖНО! При разрыве связи все формулы ссылающиеся на книгу-источник будут преобразованы в значения! Отмена данной операции невозможна!
Как разорвать связь со всеми книгами
Для удобства, можно воспользоваться макросом, который разорвет связи со всеми книгами. Макрос входит в состав надстройки VBA-Excel. Чтобы им воспользоваться необходимо:
- Перейти на вкладку VBA-Excel.
- В меню Связи выбрать команду Разорвать все связи.
Код на VBA
Код макроса удаляющего все связи с книгой представлен ниже. Можете скопировать его в свой проект.
Как разорваться связи только в выделенном диапазоне
Иногда в книге имеется много связей и есть опасения, что при удалении связи можно удалить лишнюю. Чтобы этого избежать с помощью надстройки можно удалить связи только в выделенном диапазоне. Для этого:
- Выделите диапазон данных.
- Перейдите на вкладку VBA-Excel (доступна после установки).
- В меню Связи выберите команду Разорвать связи в выделенных ячейках.
Microsoft Excel
трюки • приёмы • решения
Как в Excel отобразить связанные ячейки
В Excel имеется очень полезная возможность отображения связанных ячеек. Так, можно для ячейки с формулой отобразить связи — ячейки, значения из которых используются в формуле. Кроме того, установив табличный курсор в какую-либо ячейку, можно просмотреть, в каких формулах она участвует. При этом вес связи отображаются в виде стрелок.
Чтобы отобразить связи с ячейками, участвующими в данной формуле, следует установить табличный курсор на ячейку с формулой и на вкладке Формулы ленты инструментов нажать кнопку Влияющие ячейки. В результате к ячейке устремятся стрелочки, отходящие от ячеек, участвующих в формуле (рис. 1.12).
Рис. 1.12. Влияющие ячейки
Чтобы наглядно увидеть, на какие другие ячейки влияет значение какой-либо из ячеек, следует установить на нее табличный курсор и на вкладке Формулы ленты инструментов нажать кнопку Зависимые ячейки. В результате от ячейки с формулой отойдут стрелочки, указывающие на зависимые ячейки (рис. 1.13). Необходимо иметь в виду, что связи показываются только с теми ячейками, на которые впрямую влияет значение выбранной ячейки. Связь не отображается в случае косвенного влияния, когда первая ячейка влияет на вторую, а вторая влияет на третью. В этом случае первая ячейка косвенно влияет на значение в третьей ячейке, но связь в таком случае не отображается.
Рис. 1.13. Зависимые ячейки
Подобные связи можно отобразить сразу для нескольких ячеек, построив таким образом своеобразную карту взаимосвязей ячеек таблицы. При этом можно одновременно отображать связи разного тина (и влияющие, и зависимые ячейки).
Чтобы убрать с экрана отображенные связи, на вкладке Формулы ленты инструментов достаточно нажать кнопку Убрать стрелки. В результате будут скрыты все отображенные ранее связи. В том случае, если требуется скрыть связи только определенного типа (иллюстрирующие влияющие связи или зависимые), следует щелкнуть мышкой по стрелочке, расположенной рядом с кнопкой Убрать стрелки, и в появившемся меню выбрать, какие именно стрелки необходимо убрать (рис. 1.14).
Рис. 1.14. Сокрытие ненужных стрелок
Если ваша версия Excel на английском языке, то вам стоить посетить курсы, которые открыла школа английского языка и несомненными преимуществами которой являются следующие: соответствие школьной программе обучения, простота, наглядность и доступность изложения материала, большое количество и разнообразие упражнений для практики, наличие упражнений разной степени сложности, универсальность использования вне зависимости от базового учебника, соответствие возрастным особенностям и возможностям учащихся.
Поиск ссылок (внешних ссылок) в книге
Примечание: Мы стараемся как можно оперативнее обеспечивать вас актуальными справочными материалами на вашем языке. Эта страница переведена автоматически, поэтому ее текст может содержать неточности и грамматические ошибки. Для нас важно, чтобы эта статья была вам полезна. Просим вас уделить пару секунд и сообщить, помогла ли она вам, с помощью кнопок внизу страницы. Для удобства также приводим ссылку на оригинал (на английском языке).
Связывание с другими книгами — это очень распространенная задача в Excel, но иногда вы можете столкнуться с книгой, в которой есть ссылки, даже если Excel сообщает, что они существуют. Найти все внешние ссылки, которые используются в книге, не существует. Однако вы можете воспользоваться несколькими ручными методами. Необходимо искать формулы, определенные имена, объекты (такие как текстовые поля или фигуры), названия диаграмм и ряды данных диаграммы.
В любой книге Excel, на которую вы ссылались, есть имя файла этой книги в ссылке с расширением (например, XLS, XLSX, xlsm), поэтому рекомендуемый способ — найти все ссылки на разделяемое расширение файла . XL . Если вы собираетесь создать связь с другим источником, вам нужно будет определить наиболее подходящее условие поиска.
Поиск ссылок, используемых в формулах
Нажмите клавиши CTRL + F , чтобы открыть диалоговое окно Поиск и замена .
Выберите пункт Параметры.
В поле найти введите . XL.
В поле в выберите пункт Книга.
В поле Искать в выберите пункт формулы.
Нажмите кнопку найти все.
В появившемся списке просмотрите формулы с формулами, которые содержат . XL. В этом случае приложение Excel обнаружило несколько экземпляров шаблона бюджета Master. xlsx.
Чтобы выделить ячейку с внешней ссылкой, щелкните ссылку адрес ячейки для этой строки в поле со списком.
Совет: Щелкните любой заголовок столбца, чтобы отсортировать столбец, а затем сгруппируйте все внешние ссылки.
На вкладке Формулы в группе Определенные имена выберите пункт Диспетчер имен.
Установите флажки для всех элементов в списке и просмотрите их в столбце » ссылки » для внешних ссылок. Внешние ссылки содержат ссылку на другую книгу, например [Budget. xlsx].
Щелкните любой заголовок столбца, чтобы отсортировать столбец, а затем сгруппируйте все внешние ссылки.
Вы можете сгруппировать несколько элементов с помощью клавиш SHIFT или CTRL , щелкнув левой кнопкой мыши, если вы хотите удалить несколько элементов одновременно.
Нажмите клавиши CTRL + G, сочетание клавиш для диалогового окна Переход и выберите Специальныеобъекты _гт_ _гт_ ОК. Будут выбраны все объекты на активном листе.
Нажимайте клавишу Tab для перемещения между каждым из выбранных объектов, а затем просмотрите строка формул для ссылки на другую книгу, например [Budget. xlsx].
Щелкните название диаграммы на диаграмме, которую нужно проверить.
В строка формул найдите ссылку на другую книгу, например [Budget. xls].
Выберите диаграмму, которую вы хотите проверить.
На вкладке Макет в группе Текущий фрагмент щелкните стрелку рядом с полем элементы диаграммы , а затем выберите ряд данных, который вы хотите проверить.
В строка формул найдите ссылку на другую книгу, например [Budget. xls] в функции ряд.
Дополнительные сведения
Вы всегда можете задать вопрос специалисту Excel Tech Community, попросить помощи в сообществе Answers community, а также предложить новую функцию или улучшение на веб-сайте Excel User Voice.
Невозможно разорвать связи с другой книгой
Прежде чем разобрать причины ошибки разрыва связей, не лишним будет разобраться что такое вообще связи в Excel и откуда они берутся. Если все это Вам известно — можете пропустить этот раздел 🙂
Что такое связи в Excel и как их создать
Иногда при работе с различными отчетами приходится создавать связи с другими книгами(отчетами). Чаще всего это используется в функциях вроде ВПР (VLOOKUP) для получения данных по критерию из таблицы, расположенной в другой книге. Так же это может быть и простая ссылка на ячейки другой книги. В итоге ссылки в таких ячейках выглядят следующим образом:
=ВПР( A2 ;'[Продажи 2018.xlsx]Отчет’!$A:$F;4;0)
или
‘[Продажи 2018.xlsx]Отчет’!$A1
- [Продажи 2018.xlsx] — обозначает книгу, в которой итоговое значение. Такие книги так же называют источниками
- Отчет — имя листа в этой книге
- $A:$F и $A1 — непосредственно ячейка или диапазон со значениями
Если закрыть книгу, на которую была создана такая ссылка, то ссылка сразу изменяется и принимает более «длинный» вид:
=ВПР( A2 ;’C:UsersДмитрийDesktop[Продажи 2018.xlsx]Отчет’!$A:$F;4;0)
‘C:UsersДмитрийDesktop[Продажи 2018.xlsx]Отчет’!$A1
Предположу, что большинство такими ссылками не удивишь. Такие ссылки так же принято называть связыванием книг. Поэтому как только создается такая ссылка на вкладке Данные в группе Запросы и подключения активируется кнопка Изменить связи. Там же, как несложно догадаться, их можно изменить. В большинстве случаев ни использование связей, ни их изменение не доставляет особых проблем. Даже если в книге источники были изменены значения ячеек, то при открытии книги со связью эти изменения будут так же автоматом обновлены. Но если книгу-источник переместили или переименовали — при следующем открытии книги со ссылками на неё Excel покажет сообщение о недоступных связях в книге и запрос на обновление этих ссылок:
Если нажать Продолжить, то ссылки обновлены не будут и в ячейках будут оставлены значения на момент последнего сохранения. Происходит это потому, что ссылки хранятся внутри самой книги и так же там хранятся значения этих ссылок. Если же нажать Изменить связи, то появится окно изменения связей, где можно будет выбрать каждую связь и указать правильное расположение нужного файла:
Так же изменение связей доступно непосредственно из вкладки Данные
Как разорвать связи
Как правило связи редко нужны на продолжительное время, т.к. они неизбежно увеличивают размер файла, особенно, если связей много. Исключениями являются случаи, когда связи делаются на некие общие файлы, расположенные на сетевом диске и заполняемые разными подразделениями, а в итоговый файл связями просто забираются конкретные значения из этого файла. Чтобы разорвать связи необходимо перейти на вкладку Данные -группа Данные и подключения -Изменить связи:
Выделить нужные связи и нажать Разорвать связь. При этом все ячейки с формулами, содержащими связи, будут преобразованы в значения вычисленные этой формулой при последнем обновлении. Данное действие нельзя будет отменить — только закрытием книги без сохранения.
Так же связи внутри формул разрываются, если формулы просто заменить значениями -Копируем нужные ячейки -Правая кнопка мыши -Специальная вставка -Значения. Формулы в ячейках будут заменены результатами их вычислений, а все связи будут удалены.
Более подробно про замену формул значениями можно узнать из статьи: Как удалить в ячейке формулу, оставив значения?
Что делать, если связи не разрываются
Но иногда возникают ситуации, когда вроде все формулы во всех ячейках уже заменены на значения, но запрос на обновление каких-то связей все равно появляется. В этом случае есть парочка рекомендаций для поиска и удаления этих мифических связей:
- проверьте нет ли каких-либо связей в именованных диапазонах:
нажмите сочетание клавиш Ctrl + F3 или перейдите на вкладку Формулы (Formulas) —Диспетчер имен (Name Manager)
Читать подробнее про именованные диапазоны
Если в каком-либо имени есть ссылка с полным путем к какой-то книге(вроде такого ‘[Продажи 2018.xlsx]Отчет’!$A1 ), то такое имя надо либо изменить, либо удалить. Кстати, некоторые имена в итоге могут выдавать ошибку #ССЫЛКА! (#REF!) . К ним тоже стоит присмотреться.
Настоятельно рекомендую перед удалением имен создать резервную копию файла, т.к. неверное удаление таких имен может повлечь неправильную работу файла даже в случае, если сами ссылки возвращали в итоге ошибочное значение. - если удаление лишних имен не дает эффекта — проверьте условное форматирование:
вкладка Главная (Home) —Условное форматирование (Conditional formatting) —Управление правилами (Manage Rules) . В выпадающем списке проверить каждый лист и условия в нем:
Может случиться так, что условие было создано с использованием ссылки на другие книги. Как правило Excel запрещает это делать, но если ссылка будет внутри какого-то именованного диапазона — то диапазон такой можно будет применить в УФ, но после его удаления в самом УФ это имя все равно остается и генерирует ссылку на файл-источник. Такие условия можно удалять без сомнений — они все равно уже не выполняются как положено и лишь создают «пустую» связь. - Так же не помешает проверить наличие лишних ссылок и среди проверки данных(Что такое проверка данных). Как правило связи могут быть в проверке данных с типом Список. Но как их отыскать, если проверка данных распространена на множество ячеек? Проверять каждую? Это очень долго. Поэтому я предлагаю коротенький код, который отыщет все такие ссылки быстрее и сэкономит время):
Option Explicit ‘————————————————————————————— ‘ Author : The_Prist(Щербаков Дмитрий) ‘ Профессиональная разработка приложений для MS Office любой сложности ‘ Проведение тренингов по MS Excel ‘ https://www.excel-vba.ru ‘ info@excel-vba.ru ‘ WebMoney — R298726502453; Яндекс.Деньги — 41001332272872 ‘ Purpose: ‘————————————————————————————— Sub FindErrLink() ‘надо посмотреть в Данные -Изменить связи ссылку на файл-иточник ‘и записать сюда ключевые слова в нижнем регистре(часть имени файла) ‘звездочка просто заменяет любое кол-во символов, чтобы не париться с точным названием Const sToFndLink$ = «*продажи 2018*» Dim rr As Range, rc As Range, rres As Range, s$ ‘определяем все ячейки с проверкой данных On Error Resume Next Set rr = ActiveSheet.UsedRange.SpecialCells(xlCellTypeAllValidation) If rr Is Nothing Then MsgBox «На активном листе нет ячеек с проверкой данных», vbInformation, «www.excel-vba.ru» Exit Sub End If On Error GoTo 0 ‘проверяем каждую ячейку на предмет наличия связей For Each rc In rr ‘на всякий случай пропускаем ошибки — такое тоже может быть ‘но наши связи должны быть без них и они точно отыщутся s = «» On Error Resume Next s = rc.Validation.Formula1 On Error GoTo 0 ‘нашли — собираем все в отдельный диапазон If LCase(s) Like sToFndLink Then If rres Is Nothing Then Set rres = rc Else Set rres = Union(rc, rres) End If End If Next ‘если связь есть — выделяем все ячейки с такими проверками данных If Not rres Is Nothing Then rres.Select ‘ rres.Interior.Color = vbRed ‘если надо выделить еще и цветом End If End Sub
Чтобы правильно использовать приведенный код, необходимо скопировать текст кода выше, перейти в редактор VBA( Alt + F11 ) -создать стандартный модуль(Insert —Module) и в него вставить скопированный текст. После чего вызвать макросы( Alt + F8 ), выбрать FindErrLink и нажать выполнить.
Есть пара нюансов:
1. Прежде чем искать ненужную связь необходимо определить её ссылку: Данные -Изменить связи. Запомнить имя файла и записать в этой строке внутри кавычек:
Const sToFndLink$ = «*продажи 2018*»
Имя файла можно записать не полностью, все пробелы и другие символы можно заменить звездочкой дабы не ошибиться. Текст внутри кавычек должен быть в нижнем регистре. Например, на картинках выше есть связь с файлом «Продажи 2018.xlsx», но я внутри кода записал «*продажи 2018*» — будет найдена любая связь, в имени которой есть «продажи 2018».
2. Код ищет проверки данных только на активном листе
3. Код только выделяет все найденные ячейки(обычное выделение), он ничего сам не удаляет.
4. Если надо подсветить ячейки цветом — достаточно убрать апостроф(‘) перед строкой
rres.Interior.Color = vbRed ‘если надо выделить еще и цветом
Как правило после описанных выше действий лишних связей остаться не должно. Но если вдруг связи остались и найти Вы их никак не можете или по каким-то причинам разорвать связи не получается(например, лист со связью защищен)- можно пойти совершенно иным путем. Действует этот рецепт только для файлов новых форматов Excel 2007 и выше:
1. Обязательно делаем резервную копию файла, связи в котором никак не хотят разрываться
2. Открываем файл при помощи любого архиватора(WinRAR отлично справляется, но это может быть и другой, работающий с форматом ZIP)
3. В архиве перейти в папку xl -> externalLinks
4. Сколько связей содержится в файле, столько файлов вида externalLink1.xml и будет внутри. Файлы просто пронумерованы и никаких сведений о том, к какому конкретному файлу относится эта связь на поверхности нет. Чтобы узнать какой файл .xml к какой связи относится надо зайти в папку «_rels» и открыть там каждый из имеющихся файлов вида externalLink1.xml.rels. Там и будет содержаться имя файла-источника.
5. Если надо удалить только связь на конкретный файл — удаляем только те externalLink1.xml.rels и externalLink1.xml, которые относятся к нему. Если удалить надо все связи — удаляем все содержимое папки externalLinks
6. Закрываем архив
7. Открываем файл в Excel. Появится сообщение об ошибке вроде «Ошибка в части содержимого в Книге . «. Соглашаемся. Появится еще одно окно с перечислением ошибочного содержимого. Нажимаем закрыть.
После этого связи должны быть удалены.
Статья помогла? Поделись ссылкой с друзьями!
Обобщаем с умом: внешние ссылки и консолидация в Excel
Здравствуйте, уважаемые читатели. Как часто перед Вами стоит задача консолидации, или свода данных из разных листов и книг в одну таблицу? Думаю, что часто. Консолидация в Excel — это трудоемкая, кропотливая и неприятная работа, но в этой статье я расскажу, как ее облегчить. Для сбора информации из разных источников есть два подхода: внешние ссылки на ячейки, или инструмент «Консолидация».
Внешние ссылки в Excel
Думаю, каждый из Вас знает, что внешняя ссылка в Эксель – это ссылка на ячейку, находящуюся в другой книге. И самый распространенный способ собрать данные из разных источников в одну – как раз внешние ссылки.
Если итоговая таблица достаточно простая, этот способ можно использовать, иначе – легко запутаться, да и утомительно вручную внести несколько сотен ссылок на ячейки, высока вероятность ошибки. Тем не менее, для маленьких таблиц это действительно решение.
Существует много способов сослаться на ячейку с другого листа, или книги. Я расскажу Вам самый простой:
- Откройте все файлы – свод и исходники
- Кликните по ячейке, в которую нужно вставить ссылку, и введите знак равно (как вы это делаете, когда создаете формулы).
- Выберите файл с исходным значением и кликните на этом значении. В строке формул появится ссылка на это значение.
- Если к этому значению нужно прибавить другие из остальных источников – допишите «+» и повторяйте п.3-4 до полного заполнения.
- Когда все ссылки на ячейки сделаны, нажмите Enter , будет просчитан сводный результат.
Внешняя ссылка имеет специфический внешний вид: имя файла в квадратных скобках, имя листа, восклицательный знак, координаты ячейки:
Когда Вы закроете исходные файлы, к ссылке слева добавится еще и адрес файла-исходника:
По умолчанию, все внешние ссылки абсолютные, т.е. при копировании не изменяются. Если нужно, сделайте их относительными, нажимая F4 до получения необходимого типа ссылки.
Не перемещайте файлы-исходники, т.к. это разорвет связи, и внешние ссылки работать больше не будут.
Если на одном компьютере открыт и сводный документ и исходник, изменения в исходной таблице сразу же «подтянутся» и в свод. Если хотя бы одна из этих книг закрыта – понадобится принудительное обновление. Так же, при повторном открытии сводного файла, Эксель предложит обновить данные. Сделайте это, если нужно актуализировать информацию.
Управление внешними ссылками
Чтобы управлять ссылками на источники в других книгах, нажмите на ленте Данные – Подключения – Изменить связи . В открывшемся окне отобразится весь список подключенных файлов и кнопки-команды:
- Обновить – принудительное обновление всех ссылок
- Изменить – указать новую книгу Excel, в которой располагаются подключенные данные
- Открыть – открывает документ-источник
- Разорвать связь – удаляет внешние ссылки из этой связи, заменяет их на значение
- Состояние – обновляет статус доступности файлов с данными
- Запрос на обновление связей – укажите программе, нужно ли обновлять данные при открытии файла
Если у Вас большой файл с несколькими листами, может понадобиться много времени на поиски внешних ссылок. Так как быстро найти внешние ссылки в документе Excel? Предложу рецепт. Все подобные ссылки имеют общий элемент – открывающая и закрывающая квадратные скобки, в которые записано имя файла-исходника. В других случаях такие скобки используются редко. Нажмите Ctrl+F для открытия окна поиска, в поле «Найти» введите квадратную скобку и нажмите «Найти все». В результатах поиска точно будут все внешние ссылки.
Применение внешних ссылок – самый простой и очевидный способ собрать данные из нескольких таблиц в одну. Но если данных достаточно много, этот метод неприменим. Тогда пользуемся инструментом «Консолидация».
Консолидация данных в одну таблицу
Этот инструмент упрощает сведение информации в одну таблицу данных, это удачный способ автоматизации процесса.
Рассмотрим его работу на примере. У нас есть 3 файла с данными о продажах трех подразделений компании. Нужно собрать общие показатели по организации, и сделать это быстро, ведь информация нужна «на вчера».
Давайте выполнять. Открываем все файлы-исходники и свод. Активируем «Свод». Ищем на ленте Данные – Работа с данными – Консолидация . Откроется окно подключения внешних данных.
Теперь пошагово выполняем:
- В поле «Функция» выбираем «Сумма» (или что-то другое, если нужно)
- В поле «Ссылка» указываем ссылку на данные в первом файле-источнике (вместе с шапкой). Лучше всего, указать столбцы полностью, например A:D . Тогда не нужно будет переопределять диапазон при добавлении новых данных.
- Нажимаем «Добавить», ссылка появляется в поле «Список диапазонов»
- Повторяйте п. 2-3, пока не добавите ссылки на все файлы-исходники
- Установите галочки «Подписи верхней строки» и «Значения левого столбца», чтобы Эксель сам подобрал заголовки шапки и категории в строках
- Установите галку «Создавать связи с исходными данными», тогда консолидация будет сделана с помощью ссылок на ячейки. Иначе – будут просто вставлены итоговые значения.
- Нажмите Ок для завершения настройки консолидации.
В итоге, в файле «Свод» появится сведенный список из таблиц всех подключенных файлов. Если установили галочку «Создавать связи с исходными данными», итоговая таблица будет структурирована, можно развернуть каждый пункт и увидеть детали по каждому подразделению отдельно
Если исходные таблицы изменились, можно переформировать свод. Для этого повторно откройте окно «Консолидация» и нажмите Ок.
Такой вот простой инструмент, решающий одну из самых противных задач в Эксель. Я предпочитаю применять именно его, ручная работа по внесению ссылок – не для меня. Рекомендую и Вам пользоваться. Хотя, более удачным решением будет применение сводной таблицы (когда это возможно), или создание собственной VBA-программы с детальными настройками сведения.
На этом оставлю Вас экспериментировать с Консолидацией, и приступаю к написанию поста о защите данных в Эксель. Читайте, эта информация сейчас, как никогда актуальна. До встречи!
Надстройка PLEX для Microsoft Excel 2007-2021 и Office 365
Разорвать/Открыть связи с другими книгами
Разорвать все связи
Типичная ситуация: нужно быстро избавиться в файле от ссылок в формулах на другие книги Excel, заменив эти ссылки на значения. Это может быть необходимо для последующей пересылки файла клиенту (он не должен обновлять книгу), ускорения работы (не нужно время на обновление связей) и т.п.
Важные особенности:
- Это касается сразу всех внешних ссылок на всех листах и во всех формулах. Если хотите удалить ссылки на конкретные отдельные внешние файлы-источники, то используйте команду Изменить связи на вкладке Данные (Data — Edit Links). Если нужно заменить формулы на значения в конкретном диапазоне, то используйте макрос В значения.
- Внутренние ссылки между ячейками и листами остаются неизменными.
Зачем мне это может быть нужно?
Наверняка Вы получали по электронной почте книги Excel, при открытии которых они долго и мучительно пытаются обновить связи с другими файлами, которые Вам недоступны. Перед отправкой копии файла другому пользователю лучше разорвать связи. Тогда Вашему коллеге не придется при открытии файла отвечать на вопросы об обновлении связей и он не увидит ошибки #ССЫЛКА! вместо данных, которые Excel не может получить по связям на его компьютере.
Может ли это повредить мои данные?
Да, поскольку формулы необратимо заменяются на значения. Лучше проделывать эту операцию в копии файла перед ее отправкой другому пользователю.
Открыть все связи
Открываются все внешние файлы-источники, на которые есть ссылки в текущей книге. Если их много, то, возможно, придется подождать. Обычно такая процедура необходима для корректного обновления связей в файле (Excel плохо умеет обновлять данные из закрытых книг).
Открыть гиперссылки
Если выделить диапазон ячеек с адресами и нажать на эту кнопку, то все указанные сайты откроются на вкладках вашего обозревателя.
Обратите внимание, что ссылки должны быть правильно записаны (с http).
Полный список всех инструментов надстройки PLEX
Связь – это очень полезная возможность Excel. Ведь очень часто пользователям приходится использовать информацию из других файлов. Но в некоторых ситуациях они способны скорее нанести вред, чем принести пользу. Ведь, к примеру, если отправлять эти файлы по почте, ссылки оказываются нерабочими. Сегодня мы более подробно поговорим о том, что сделать для избежания такой проблемы.
Содержание
- Что такое связи в Excel
- Суть проблемы
- Как разорвать связь в Эксель
- Как разорвать связь со всеми книгами
- Код на VBA
- Как разорвать связи только в выделенном диапазоне
- Что делать, если связи не разрываются
Что такое связи в Excel
Связи в Excel очень часто используются вместе с такими функциями, как ВПР, чтобы получить информацию из другой книги. Она может иметь вид специальной ссылки, которая содержит адрес не только ячейки, но и книги, в которой данные расположены. В результате, такая ссылка имеет приблизительно такой вид: =ВПР(A2;'[Продажи 2018.xlsx]Отчет’!$A:$F;4;0). Или же, для более простого представления, представить адрес в следующем виде: ='[Продажи 2018.xlsx]Отчет’!$A1. Разберем каждый из элементов ссылки этого типа:
- [Продажи 2018.xlsx]. Этот фрагмент содержит ссылку на файл, из которого нужно достать информацию. Его также называют источником.
- Отчет. Это мы использовали следующее имя, но это не название, которое должно обязательно быть. В этом блоке содержится название листа, в каком надо находить информацию.
- $A:$F и $A1 – адрес ячейки или диапазона с данными, которые содержатся в этом документе.
Собственно, процесс создания ссылки на внешний документ и называется связыванием. После того, как мы прописали адрес ячейки, содержащейся в другом файле, изменяется содержимое вкладки «Данные». А именно – становится активной кнопка «Изменить связи», с помощью которой пользователь может отредактировать имеющиеся связи.
Суть проблемы
Как правило, никаких дополнительных трудностей с тем, чтобы использовать связи, не возникает. Даже если возникает ситуация, в которой ячейки изменяются, то все связи автоматически обновляются. А вот если уже переименовать саму книгу или же переместить ее по другому адресу, Excel становится бессилен. Поэтому выдает следующее сообщение.
Тут перед пользователем появляется два возможных варианта, как действовать этой ситуации. Он может нажать «Продолжить» и тогда изменения не обновятся, или же нажать кнопку «Изменить связи», с помощью которой он может обновить их вручную. После того, как мы нажмем эту кнопку, появится дополнительное окно, в котором можно будет изменить связи, указав, где находится правильный файл в данный момент и как он называется.
Кроме этого, можно отредактировать связи через соответствующую кнопку, расположенную на вкладке «Данные». О том, что связь нарушена, пользователь может также узнать по ошибке #ССЫЛКА, которая появляется тогда, когда эксель не может получить доступ к информации, расположенной по определенному адресу из-за того, что сам адрес недействительный.
Как разорвать связь в Эксель
Один из самых простых методов решения описанной выше ситуации в случае, если не получается обновить местонахождение связанного файла самостоятельно – удалить саму связь. Особенно просто это сделать, если в документе содержится только одна связь. Для этого надо выполнить следующую последовательность шагов:
- Открываем меню «Данные».
- Находим раздел «Подключения», и там – опцию «Изменить связи».
- После этого нажимаем на «Разорвать связь».
Если собираетесь отправлять эту книгу по почте другому человеку, настоятельно рекомендуется это сделать до этого. Ведь после удаления связей все значения, которые содержатся в другом документе, будут автоматически загружены в файл, использованы в формулах, и вместо адреса ячейки информация в соответствующих ячейках будет просто трансформирована в значения.
Как разорвать связь со всеми книгами
Но если количество связей становится слишком большим, вручную их удалять может занять немало времени. Чтобы решить эту проблему за один раз, можно воспользоваться специальным макросом. Он находится в аддоне VBA-Excel. Нужно его активировать и перейти на одноименную вкладку. Там будет находиться раздел «Связи», в котором нам надо нажать на кнопку «Разорвать все связи».
Код на VBA
Если же нет возможности активировать это дополнение, можно создать макрос самостоятельно. Для этого необходимо открыть редактор Visual Basic, нажав на клавиши Alt + F11, и в поле ввода кода записать следующие строки.
Sub UnlinkWorkBooks()
Dim WbLinks
Dim i As Long
Select Case MsgBox(«Все ссылки на другие книги будут удалены из этого файла, а формулы, ссылающиеся на другие книги будут заменены на значения.» & vbCrLf & «Вы уверены, что хотите продолжить?», 36, «Разорвать связь?»)
Case 7 ‘ Нет
Exit Sub
End Select
WbLinks = ActiveWorkbook.LinkSources(Type:=xlLinkTypeExcelLinks)
If Not IsEmpty(WbLinks) Then
For i = 1 To UBound(WbLinks)
ActiveWorkbook.BreakLink Name:=WbLinks(i), Type:=xlLinkTypeExcelLinks
Next
Else
MsgBox «В данном файле отсутствуют ссылки на другие книги.», 64, «Связи с другими книгами»
End If
End Sub
Как разорвать связи только в выделенном диапазоне
Время от времени количество связей очень большое, и пользователь боится, что после удаления какой-то из них не получится вернуть все назад, если какая-то была лишней. Но это проблема, которую легко не допустить. Для этого нужно выбрать диапазон, в котором осуществить удаление связей, а потом удалить их. Для этого надо выполнить следующую последовательность действий:
- Выделить тот набор данных, в котором надо вносить изменения.
- Устанавливаем дополнение VBA-Excel, после чего переходим на соответствующую вкладку.
- Далее находим меню «Связи» и нажимаем на кнопку «Разорвать связи в выделенных диапазонах».
После этого все связи в выделенном наборе ячеек будут удалены.
Что делать, если связи не разрываются
Все описанное выше звучит хорошо, но на практике всегда возникают какие-то нюансы. Например, может случиться ситуация, когда связи не разрываются. В этом случае все равно появляется диалоговое окно, что не получается автоматически обновить связи. Что же делать в этой ситуации?
- Сначала надо проверить, не содержится ли какая-то информация в именованных диапазонах. Для этого надо нажать на комбинацию клавиш Ctrl + F3 или же открыть вкладку «Формулы» – «Диспетчер имен». Если же имя к файлу указано полное, то нужно просто его отредактировать или же вовсе убрать. Перед тем, как удалять именованные диапазоны, необходимо скопировать файл в какое-то другое место, чтобы можно было вернуться к изначальному варианту, если были совершены неправильные действия.
- Если не получается решить проблему с помощью удаления имен, то можно проверить условное форматирование. Ссылка на ячейки в другой таблице может содержаться в правилах условного форматирования. Для этого надо найти соответствующий пункт на вкладке «Главная», а потом нажать на кнопку «Управление файлами».
Обычно Excel не дает возможности давать адрес других книг в условном форматировании, но это делается, если ссылаться на именованный диапазон с отсылкой на другой файл. Обычно даже после удаления связи ссылка остается. Нет никакой проблемы в том, чтобы убрать такую связь, потому что связь по факту нерабочая. Следовательно, ничего плохого не произойдет, если убрать ее.
Также можно воспользоваться функцией «Проверка данных», чтобы узнать, нет ли ненужных ссылок. Обычно связи остаются, если используется тип проверки данных «Список». Но что же делать, если ячеек много? Неужели необходимо последовательно проверять каждую из них? Конечно, нет. Ведь это займет очень много времени. Поэтому нужно воспользоваться специальным кодом, чтобы значительно сэкономить его.
Option Explicit
‘—————————————————————————————
‘ Author : The_Prist(Щербаков Дмитрий)
‘ Профессиональная разработка приложений для MS Office любой сложности
‘ Проведение тренингов по MS Excel
‘ https://www.excel-vba.ru
‘ info@excel-vba.ru
‘ WebMoney — R298726502453; Яндекс.Деньги — 41001332272872
‘ Purpose:
‘—————————————————————————————
Sub FindErrLink()
‘надо посмотреть в Данные -Изменить связи ссылку на файл-иточник
‘и записать сюда ключевые слова в нижнем регистре(часть имени файла)
‘звездочка просто заменяет любое кол-во символов, чтобы не париться с точным названием
Const sToFndLink$ = «*продажи 2018*»
Dim rr As Range, rc As Range, rres As Range, s$
‘определяем все ячейки с проверкой данных
On Error Resume Next
Set rr = ActiveSheet.UsedRange.SpecialCells(xlCellTypeAllValidation)
If rr Is Nothing Then
MsgBox «На активном листе нет ячеек с проверкой данных», vbInformation, «www.excel-vba.ru»
Exit Sub
End If
On Error GoTo 0
‘проверяем каждую ячейку на предмет наличия связей
For Each rc In rr
‘на всякий случай пропускаем ошибки — такое тоже может быть
‘но наши связи должны быть без них и они точно отыщутся
s = «»
On Error Resume Next
s = rc.Validation.Formula1
On Error GoTo 0
‘нашли — собираем все в отдельный диапазон
If LCase(s) Like sToFndLink Then
If rres Is Nothing Then
Set rres = rc
Else
Set rres = Union(rc, rres)
End If
End If
Next
‘если связь есть — выделяем все ячейки с такими проверками данных
If Not rres Is Nothing Then
rres.Select
‘ rres.Interior.Color = vbRed ‘если надо выделить еще и цветом
End If
End Sub
Необходимо в редакторе макросов сделать стандартный модуль, а потом туда вставить этот текст. После этого вызвать окно макросов с помощью комбинации клавиш Alt + F8, а потом выбрать наш макрос и кликнуть по кнопке «Выполнить». При использовании этого кода есть несколько моментов, которые надо учитывать:
- Перед тем, как осуществлять поиск связи, которая уже не актуальна, нужно перед этим определить, как выглядит ссылка, через которую она создается. Для этого надо перейти в меню «Данные» и там найти пункт «Изменить связи». После этого надо посмотреть имя файла, и указать его в кавычках. Например, так: Const sToFndLink$ = «*продажи 2018*»
- Возможна запись имени не в полном виде, а просто заменить ненужные знаки звездочкой. А в кавычках записывать имя файла обязательно маленькими буквами. В этом случае Эксель найдет все файлы, которые содержат такую строку в конце.
- Этот код способен проверять наличие ссылок только в том листе, который сейчас активный.
- С помощью этого макроса можно лишь выделить ячейки, которые он обнаружил. Удалять придется все вручную. Это и плюс, потому что можно еще раз все перепроверить.
- Также можно сделать так, чтобы ячейки подсвечивались специальным цветом. Для этого нужно убрать знак апострофа перед этой строчкой. rres.Interior.Color = vbRed
Обычно после того, как выполнить действия, описанные в вышеприведенной инструкции, ненужных связей уже не должно оставаться. Но в случае наличия некоторых из них в документе и вашей неспособности по тем или иным причинам их убрать (типичный пример – защищенность данных в листе), то можно воспользоваться другой последовательностью действий. Эта инструкция справедлива лишь для версий 2007 и выше.
- Создаем резервную копию документа.
- Открываем этот документ с помощью архиватора. Можно воспользоваться любым, который поддерживает ZIP формат, но также подойдет и WinRar, а также встроенный в Windows.
- В появившемся архиве необходимо найти папку xl, а там открыть externalLinks.
- В этой папке находятся все внешние связи, каждая из которых соответствует файлу вида externalLink1.xml. Все они лишь пронумерованы, и поэтому пользователь не имеет возможности понять, какая именно эта связь. Чтобы понять, какая именно связь, надо открыть папку _rels, и там посмотреть его.
- После этого убираем все или конкретные связи, исходя из того, что мы узнаем в файле externalLinkX.xml.rels.
- После этого открываем наш файл средствами Excel. Там будет информация об ошибке типа «Ошибка в части содержимого в Книге». Даем согласие. После этого появится еще один диалог. Закрываем его.
После этого все связи должны быть удалены.
Оцените качество статьи. Нам важно ваше мнение:
Содержание
- Создание связанных таблиц
- Способ 1: прямое связывание таблиц формулой
- Способ 2: использование связки операторов ИНДЕКС — ПОИСКПОЗ
- Способ 3: выполнение математических операций со связанными данными
- Способ 4: специальная вставка
- Способ 5: связь между таблицами в нескольких книгах
- Разрыв связи между таблицами
- Способ 1: разрыв связи между книгами
- Способ 2: вставка значений
- Вопросы и ответы
При выполнении определенных задач в Excel иногда приходится иметь дело с несколькими таблицами, которые к тому же связаны между собой. То есть, данные из одной таблицы подтягиваются в другие и при их изменении пересчитываются значения во всех связанных табличных диапазонах.
Связанные таблицы очень удобно использовать для обработки большого объема информации. Располагать всю информацию в одной таблице, к тому же, если она не однородная, не очень удобно. С подобными объектами трудно работать и производить по ним поиск. Указанную проблему как раз призваны устранить связанные таблицы, информация между которыми распределена, но в то же время является взаимосвязанной. Связанные табличные диапазоны могут находиться не только в пределах одного листа или одной книги, но и располагаться в отдельных книгах (файлах). Последние два варианта на практике используют чаще всего, так как целью указанной технологии является как раз уйти от скопления данных, а нагромождение их на одной странице принципиально проблему не решает. Давайте узнаем, как создавать и как работать с таким видом управления данными.
Создание связанных таблиц
Прежде всего, давайте остановимся на вопросе, какими способами существует возможность создать связь между различными табличными диапазонами.
Способ 1: прямое связывание таблиц формулой
Самый простой способ связывания данных – это использование формул, в которых имеются ссылки на другие табличные диапазоны. Он называется прямым связыванием. Этот способ интуитивно понятен, так как при нем связывание выполняется практически точно так же, как создание ссылок на данные в одном табличном массиве.
Посмотрим, как на примере можно образовать связь путем прямого связывания. Имеем две таблицы на двух листах. На одной таблице производится расчет заработной платы с помощью формулы путем умножения ставки работников на единый для всех коэффициент.
На втором листе расположен табличный диапазон, в котором находится перечень сотрудников с их окладами. Список сотрудников в обоих случаях представлен в одном порядке.
Нужно сделать так, чтобы данные о ставках из второго листа подтягивались в соответствующие ячейки первого.
- На первом листе выделяем первую ячейку столбца «Ставка». Ставим в ней знак «=». Далее кликаем по ярлычку «Лист 2», который размещается в левой части интерфейса Excel над строкой состояния.
- Происходит перемещения во вторую область документа. Щелкаем по первой ячейке в столбце «Ставка». Затем кликаем по кнопке Enter на клавиатуре, чтобы произвести ввод данных в ячейку, в которой ранее установили знак «равно».
- Затем происходит автоматический переход на первый лист. Как видим, в соответствующую ячейку подтягивается величина ставки первого сотрудника из второй таблицы. Установив курсор на ячейку, содержащую ставку, видим, что для вывода данных на экран применяется обычная формула. Но перед координатами ячейки, откуда выводятся данные, стоит выражение «Лист2!», которое указывает наименование области документа, где они расположены. Общая формула в нашем случае выглядит так:
=Лист2!B2
- Теперь нужно перенести данные о ставках всех остальных работников предприятия. Конечно, это можно сделать тем же путем, которым мы выполнили поставленную задачу для первого работника, но учитывая, что оба списка сотрудников расположены в одинаковом порядке, задачу можно существенно упростить и ускорить её решение. Это можно сделать, просто скопировав формулу на диапазон ниже. Благодаря тому, что ссылки в Excel по умолчанию являются относительными, при их копировании происходит сдвиг значений, что нам и нужно. Саму процедуру копирования можно произвести с помощью маркера заполнения.
Итак, ставим курсор в нижнюю правую область элемента с формулой. После этого курсор должен преобразоваться в маркер заполнения в виде черного крестика. Выполняем зажим левой кнопки мыши и тянем курсор до самого низа столбца.
- Все данные из аналогичного столбца на Листе 2 были подтянуты в таблицу на Листе 1. При изменении данных на Листе 2 они автоматически будут изменяться и на первом.
Способ 2: использование связки операторов ИНДЕКС — ПОИСКПОЗ
Но что делать, если перечень сотрудников в табличных массивах расположен не в одинаковом порядке? В этом случае, как говорилось ранее, одним из вариантов является установка связи между каждой из тех ячеек, которые следует связать, вручную. Но это подойдет разве что для небольших таблиц. Для массивных диапазонов подобный вариант в лучшем случае отнимет очень много времени на реализацию, а в худшем – на практике вообще будет неосуществим. Но решить данную проблему можно при помощи связки операторов ИНДЕКС – ПОИСКПОЗ. Посмотрим, как это можно осуществить, связав данные в табличных диапазонах, о которых шел разговор в предыдущем способе.
- Выделяем первый элемент столбца «Ставка». Переходим в Мастер функций, кликнув по пиктограмме «Вставить функцию».
- В Мастере функций в группе «Ссылки и массивы» находим и выделяем наименование «ИНДЕКС».
- Данный оператор имеет две формы: форму для работы с массивами и ссылочную. В нашем случае требуется первый вариант, поэтому в следующем окошке выбора формы, которое откроется, выбираем именно его и жмем на кнопку «OK».
- Выполнен запуск окошка аргументов оператора ИНДЕКС. Задача указанной функции — вывод значения, находящегося в выбранном диапазоне в строке с указанным номером. Общая формула оператора ИНДЕКС такова:
=ИНДЕКС(массив;номер_строки;[номер_столбца])
«Массив» — аргумент, содержащий адрес диапазона, из которого мы будем извлекать информацию по номеру указанной строки.
«Номер строки» — аргумент, являющийся номером этой самой строчки. При этом важно знать, что номер строки следует указывать не относительно всего документа, а только относительно выделенного массива.
«Номер столбца» — аргумент, носящий необязательный характер. Для решения конкретно нашей задачи мы его использовать не будем, а поэтому описывать его суть отдельно не нужно.
Ставим курсор в поле «Массив». После этого переходим на Лист 2 и, зажав левую кнопку мыши, выделяем все содержимое столбца «Ставка».
- После того, как координаты отобразились в окошке оператора, ставим курсор в поле «Номер строки». Данный аргумент мы будем выводить с помощью оператора ПОИСКПОЗ. Поэтому кликаем по треугольнику, который расположен слева от строки функций. Открывается перечень недавно использованных операторов. Если вы среди них найдете наименование «ПОИСКПОЗ», то можете кликать по нему. В обратном случае кликайте по самому последнему пункту перечня – «Другие функции…».
- Запускается стандартное окно Мастера функций. Переходим в нем в ту же самую группу «Ссылки и массивы». На этот раз в перечне выбираем пункт «ПОИСКПОЗ». Выполняем щелчок по кнопке «OK».
- Производится активация окошка аргументов оператора ПОИСКПОЗ. Указанная функция предназначена для того, чтобы выводить номер значения в определенном массиве по его наименованию. Именно благодаря данной возможности мы вычислим номер строки определенного значения для функции ИНДЕКС. Синтаксис ПОИСКПОЗ представлен так:
=ПОИСКПОЗ(искомое_значение;просматриваемый_массив;[тип_сопоставления])
«Искомое значение» — аргумент, содержащий наименование или адрес ячейки стороннего диапазона, в которой оно находится. Именно позицию данного наименования в целевом диапазоне и следует вычислить. В нашем случае в роли первого аргумента будут выступать ссылки на ячейки на Листе 1, в которых расположены имена сотрудников.
«Просматриваемый массив» — аргумент, представляющий собой ссылку на массив, в котором выполняется поиск указанного значения для определения его позиции. У нас эту роль будет исполнять адрес столбца «Имя» на Листе 2.
«Тип сопоставления» — аргумент, являющийся необязательным, но, в отличие от предыдущего оператора, этот необязательный аргумент нам будет нужен. Он указывает на то, как будет сопоставлять оператор искомое значение с массивом. Этот аргумент может иметь одно из трех значений: -1; 0; 1. Для неупорядоченных массивов следует выбрать вариант «0». Именно данный вариант подойдет для нашего случая.
Итак, приступим к заполнению полей окна аргументов. Ставим курсор в поле «Искомое значение», кликаем по первой ячейке столбца «Имя» на Листе 1.
- После того, как координаты отобразились, устанавливаем курсор в поле «Просматриваемый массив» и переходим по ярлыку «Лист 2», который размещен внизу окна Excel над строкой состояния. Зажимаем левую кнопку мыши и выделяем курсором все ячейки столбца «Имя».
- После того, как их координаты отобразились в поле «Просматриваемый массив», переходим к полю «Тип сопоставления» и с клавиатуры устанавливаем там число «0». После этого опять возвращаемся к полю «Просматриваемый массив». Дело в том, что мы будем выполнять копирование формулы, как мы это делали в предыдущем способе. Будет происходить смещение адресов, но вот координаты просматриваемого массива нам нужно закрепить. Он не должен смещаться. Выделяем координаты курсором и жмем на функциональную клавишу F4. Как видим, перед координатами появился знак доллара, что означает то, что ссылка из относительной превратилась в абсолютную. Затем жмем на кнопку «OK».
- Результат выведен на экран в первую ячейку столбца «Ставка». Но перед тем, как производить копирование, нам нужно закрепить ещё одну область, а именно первый аргумент функции ИНДЕКС. Для этого выделяем элемент колонки, который содержит формулу, и перемещаемся в строку формул. Выделяем первый аргумент оператора ИНДЕКС (B2:B7) и щелкаем по кнопке F4. Как видим, знак доллара появился около выбранных координат. Щелкаем по клавише Enter. В целом формула приняла следующий вид:
=ИНДЕКС(Лист2!$B$2:$B$7;ПОИСКПОЗ(Лист1!A4;Лист2!$A$2:$A$7;0))
- Теперь можно произвести копирование с помощью маркера заполнения. Вызываем его тем же способом, о котором мы говорили ранее, и протягиваем до конца табличного диапазона.
- Как видим, несмотря на то, что порядок строк у двух связанных таблиц не совпадает, тем не менее, все значения подтягиваются соответственно фамилиям работников. Этого удалось достичь благодаря применению сочетания операторов ИНДЕКС—ПОИСКПОЗ.
Читайте также:
Функция ИНДЕКС в Экселе
Функция ПОИСКПОЗ в Экселе
Способ 3: выполнение математических операций со связанными данными
Прямое связывание данных хорошо ещё тем, что позволяет не только выводить в одну из таблиц значения, которые отображаются в других табличных диапазонах, но и производить с ними различные математические операции (сложение, деление, вычитание, умножение и т.д.).
Посмотрим, как это осуществляется на практике. Сделаем так, что на Листе 3 будут выводиться общие данные заработной платы по предприятию без разбивки по сотрудникам. Для этого ставки сотрудников будут подтягиваться из Листа 2, суммироваться (при помощи функции СУММ) и умножаться на коэффициент с помощью формулы.
- Выделяем ячейку, где будет выводиться итог расчета заработной платы на Листе 3. Производим клик по кнопке «Вставить функцию».
- Следует запуск окна Мастера функций. Переходим в группу «Математические» и выбираем там наименование «СУММ». Далее жмем по кнопке «OK».
- Производится перемещение в окно аргументов функции СУММ, которая предназначена для расчета суммы выбранных чисел. Она имеет нижеуказанный синтаксис:
=СУММ(число1;число2;…)
Поля в окне соответствуют аргументам указанной функции. Хотя их число может достигать 255 штук, но для нашей цели достаточно будет всего одного. Ставим курсор в поле «Число1». Кликаем по ярлыку «Лист 2» над строкой состояния.
- После того, как мы переместились в нужный раздел книги, выделяем столбец, который следует просуммировать. Делаем это курсором, зажав левую кнопку мыши. Как видим, координаты выделенной области тут же отображаются в поле окна аргументов. Затем щелкаем по кнопке «OK».
- После этого мы автоматически перемещаемся на Лист 1. Как видим, общая сумма размера ставок работников уже отображается в соответствующем элементе.
- Но это ещё не все. Как мы помним, зарплата вычисляется путем умножения величины ставки на коэффициент. Поэтому снова выделяем ячейку, в которой находится суммированная величина. После этого переходим к строке формул. Дописываем к имеющейся в ней формуле знак умножения (*), а затем щелкаем по элементу, в котором располагается показатель коэффициента. Для выполнения вычисления щелкаем по клавише Enter на клавиатуре. Как видим, программа рассчитала общую заработную плату по предприятию.
- Возвращаемся на Лист 2 и изменяем размер ставки любого работника.
- После этого опять перемещаемся на страницу с общей суммой. Как видим, из-за изменений в связанной таблице результат общей заработной платы был автоматически пересчитан.
Способ 4: специальная вставка
Связать табличные массивы в Excel можно также при помощи специальной вставки.
- Выделяем значения, которые нужно будет «затянуть» в другую таблицу. В нашем случае это диапазон столбца «Ставка» на Листе 2. Кликаем по выделенному фрагменту правой кнопкой мыши. В открывшемся списке выбираем пункт «Копировать». Альтернативной комбинацией является сочетание клавиш Ctrl+C. После этого перемещаемся на Лист 1.
- Переместившись в нужную нам область книги, выделяем ячейки, в которые нужно будет подтягивать значения. В нашем случае это столбец «Ставка». Щелкаем по выделенному фрагменту правой кнопкой мыши. В контекстном меню в блоке инструментов «Параметры вставки» щелкаем по пиктограмме «Вставить связь».
Существует также альтернативный вариант. Он, кстати, является единственным для более старых версий Excel. В контекстном меню наводим курсор на пункт «Специальная вставка». В открывшемся дополнительном меню выбираем позицию с одноименным названием.
- После этого открывается окно специальной вставки. Жмем на кнопку «Вставить связь» в нижнем левом углу ячейки.
- Какой бы вариант вы не выбрали, значения из одного табличного массива будут вставлены в другой. При изменении данных в исходнике они также автоматически будут изменяться и во вставленном диапазоне.
Урок: Специальная вставка в Экселе
Способ 5: связь между таблицами в нескольких книгах
Кроме того, можно организовать связь между табличными областями в разных книгах. При этом используется инструмент специальной вставки. Действия будут абсолютно аналогичными тем, которые мы рассматривали в предыдущем способе, за исключением того, что производить навигацию во время внесений формул придется не между областями одной книги, а между файлами. Естественно, что все связанные книги при этом должны быть открыты.
- Выделяем диапазон данных, который нужно перенести в другую книгу. Щелкаем по нему правой кнопкой мыши и выбираем в открывшемся меню позицию «Копировать».
- Затем перемещаемся к той книге, в которую эти данные нужно будет вставить. Выделяем нужный диапазон. Кликаем правой кнопкой мыши. В контекстном меню в группе «Параметры вставки» выбираем пункт «Вставить связь».
- После этого значения будут вставлены. При изменении данных в исходной книге табличный массив из рабочей книги будет их подтягивать автоматически. Причем совсем не обязательно, чтобы для этого были открыты обе книги. Достаточно открыть одну только рабочую книгу, и она автоматически подтянет данные из закрытого связанного документа, если в нем ранее были проведены изменения.
Но нужно отметить, что в этом случае вставка будет произведена в виде неизменяемого массива. При попытке изменить любую ячейку со вставленными данными будет всплывать сообщение, информирующее о невозможности сделать это.
Изменения в таком массиве, связанном с другой книгой, можно произвести только разорвав связь.
Разрыв связи между таблицами
Иногда требуется разорвать связь между табличными диапазонами. Причиной этого может быть, как вышеописанный случай, когда требуется изменить массив, вставленный из другой книги, так и просто нежелание пользователя, чтобы данные в одной таблице автоматически обновлялись из другой.
Способ 1: разрыв связи между книгами
Разорвать связь между книгами во всех ячейках можно, выполнив фактически одну операцию. При этом данные в ячейках останутся, но они уже будут представлять собой статические не обновляемые значения, которые никак не зависят от других документов.
- В книге, в которой подтягиваются значения из других файлов, переходим во вкладку «Данные». Щелкаем по значку «Изменить связи», который расположен на ленте в блоке инструментов «Подключения». Нужно отметить, что если текущая книга не содержит связей с другими файлами, то эта кнопка является неактивной.
- Запускается окно изменения связей. Выбираем из списка связанных книг (если их несколько) тот файл, с которым хотим разорвать связь. Щелкаем по кнопке «Разорвать связь».
- Открывается информационное окошко, в котором находится предупреждение о последствиях дальнейших действий. Если вы уверены в том, что собираетесь делать, то жмите на кнопку «Разорвать связи».
- После этого все ссылки на указанный файл в текущем документе будут заменены на статические значения.
Способ 2: вставка значений
Но вышеперечисленный способ подходит только в том случае, если нужно полностью разорвать все связи между двумя книгами. Что же делать, если требуется разъединить связанные таблицы, находящиеся в пределах одного файла? Сделать это можно, скопировав данные, а затем вставив на то же место, как значения. Кстати, этим же способом можно проводить разрыв связи между отдельными диапазонами данных различных книг без разрыва общей связи между файлами. Посмотрим, как этот метод работает на практике.
- Выделяем диапазон, в котором желаем удалить связь с другой таблицей. Щелкаем по нему правой кнопкой мыши. В раскрывшемся меню выбираем пункт «Копировать». Вместо указанных действий можно набрать альтернативную комбинацию горячих клавиш Ctrl+C.
- Далее, не снимая выделения с того же фрагмента, опять кликаем по нему правой кнопкой мыши. На этот раз в списке действий щелкаем по иконке «Значения», которая размещена в группе инструментов «Параметры вставки».
- После этого все ссылки в выделенном диапазоне будут заменены на статические значения.
Как видим, в Excel имеются способы и инструменты, чтобы связать несколько таблиц между собой. При этом, табличные данные могут находиться на других листах и даже в разных книгах. При необходимости эту связь можно легко разорвать.