Обновление ссылок в скопированных файлах (Microsoft Excel)
Допустим, у вас есть две книги, которые вы используете для отслеживания продаж в текущем месяце, 2011NovemberA.xls и 2011NovemberB.xls, и что 2011NovemberA.xls содержит ссылки на данные в 2011NovemberB.xls. Когда придет время скопировать книги за новый месяц, вы можете задаться вопросом, как лучше всего обновить все ссылки в первой книге, чтобы они указывали на вторую книгу за новый месяц.
Чтобы подготовить книги к новому месяцу, большинство людей откроют папку Windows и скопируют файлы книги в Windows, даже не в Excel.
Однако это гарантия того, что вы проделаете большую часть работы по обновлению файлов. Более простой способ — обойти Windows и сохранить в Excel. Выполните следующие общие шаги:
-
Откройте в Excel файлы 2011NovemberA.xls и 2011NovemberB.xls.
-
Используйте команду «Сохранить как», чтобы сохранить файл 2011NovemberB.xls под именем 2011De DecemberB.xls.
-
Используйте команду «Сохранить как», чтобы сохранить файл 2011Novemberxls под именем 2011De DecemberA.xls.
В рамках сохранения файла 2011De DecemberB.xls (шаг 2) Excel автоматически обновляет все ссылки в 2011NovemberA.xls, чтобы они указывали на новое имя файла. Когда вы затем сохраняете 2011De DecemberA.xls (шаг 3), вы завершаете цикл и в итоге получаете новые книги для нового месяца, при этом файлы за последний месяц по-прежнему находятся в безопасности на диске.
Если сохранение файлов под новыми именами в Excel по какой-то причине невозможно (возможно, кто-то уже сделал копию книги за новый месяц и внес изменения в файл), вам нужно будет прибегнуть к ручному редактированию файла ссылки. К счастью, для решения этой задачи вы можете использовать функции Excel «Найти» и «Заменить»:
-
Откройте файл 2011De DecemberA.xls.
-
Нажмите Ctrl + H, чтобы открыть вкладку «Заменить» в диалоговом окне «Найти и заменить». (См. Рис. 1.)
-
В поле «Найти» введите корневую часть имени старого рабочего листа (2011NovemberB).
-
В поле «Заменить на» введите корневую часть имени нового рабочего листа (2011ДекабрьB).
-
Щелкните «Заменить все».
Excel просматривает весь лист, включая ссылки, и вносит изменения в соответствующий текст.
Другой подход — работать со своими ежемесячными файлами в целом. Другими словами, не делайте имена файлов, отражающие месяц, а поместите все книги за месяц в одну папку, названную в честь месяца. В этом сценарии у вас может быть ноябрьская папка, а затем сделать копию всей папки и назвать ее декабрьской. Тогда у вас будут дублированные копии книг в отдельных папках. Вы можете работать с ними независимо, если вы не пытаетесь открыть одну и ту же книгу за оба месяца одновременно. (Excel не позволяет открывать несколько книг с одним и тем же именем.)
Если вы хотите сделать свою стратегию связывания более гибкой, вы всегда можете использовать функцию ДВССЫЛ. Например, предположим, что ваша ссылка выглядит примерно так:
=[2011NovemberB.xls]Sheet1!B3
Вы можете поместить имя исходного файла (2011NovemberB.xls) в ячейку текущего рабочего листа (например, D5) и заменить приведенное выше выражение на следующее:
=INDIRECT("[" & D5 & "]Sheet1!B3")
Изменение содержимого ячейки D5 на другое имя файла сделает этот файл новым источником данных. Однако есть пара подводных камней.
Прежде всего, вам нужно вручную открыть файл, на который указывает ссылка; Excel не сделает этого за вас, как с обычной ссылкой.
Кроме того, имена файлов в книгах, содержащие пробелы, приведут к неправильной формуле КОСВЕННО. Если вы думаете, что в именах файлов есть пробелы, вам следует изменить формулу на это:
=INDIRECT("['" & D5 & "']Sheet1!B3")
ExcelTips — ваш источник экономичного обучения Microsoft Excel.
Этот совет (3447) применим к Microsoft Excel 97, 2000, 2002 и 2003. Вы можете найти версию этого совета для ленточного интерфейса Excel (Excel 2007 и новее) здесь:
link: / excelribbon-Updating_Links_in_Copied_Files [Обновление ссылок в скопированных файлах]
.