2016-06-16 4 views
0

У меня есть ссылка (целый столбец) в моем листе Excel в другую книгу, например:Динамическая связь в Excel

='S:\Monthly outputs\[Ouputs 201606.xlsx]Test'!AK17/'S:\Monthly outputs\[Ouputs 201606.xlsx]Test'!AK2 

Каждый месяц эта колонка должна быть изменена. В настоящее время это делается вручную, вызывает множество недостатков, а в следующем месяце он превратится из AK в KL.

Для этого я создал «AK» в этом случае путем конкатенации char (65) и char (75), и я хотел использовать сцепленную ячейку в ссылке, заменив AK-часть. Однако включение ссылки непосредственно во всю часть ссылки означает, что часть «Test»! AK17/»превратится в« Test »! BB2217 /". Я не могу использовать текстовую формулу (это ссылка), так что я могу сделать?

+0

Есть ли предсказуемый шаблон для изменений? Или шаблон, который вы можете заполнить в списке на отдельном листе? –

+0

Я не вижу, как вы делаете конкатенацию, которую вы описываете. Если вы хотите использовать VBA, вы можете создать формулу нажатием кнопки или макросом, который создаст формулу, основанную на значении текстовой строки ячейки в ячейке, которую вы можете редактировать. – dbmitch

+0

Да; 1 XLSX должен быть обновлен другим (источником) XLSX. И каждый месяц ссылка на исходную строку просто должна изменить 1 вправо. Так что скажем, что для января нам нужен A5, для февраля нам нужна строка B5, March C5 и т. Д. Я думал, что это просто делается, создавая кнопку, где пользователь может выбрать дату, но как я могу изменить «часть строки» в ссылка...? Таким образом, «Test»! AK17/«будет« Test »! AL17 /« ... Обращаясь к ячейке, в которой предоставлена ​​дата, просто предоставлена ​​мертвая ссылка: «Test»! BB2217/«например, если правая новая дата нового месяца находится в ячейке BB22 ... –

ответ

0

YOu может составлять ячейку связи с использованием разделенных частей, как показано ниже. Я использовал именованные ячейки для удобства. Я разделил ячейку ссылки на 3 части, part1: текст перед ячейкой (AK17), part2: AK17 и part3: текст после AK17. Часть 2 может быть динамически создается на основе текущей даты, если вы дать ссылку месяц (скажем, май) и ссылки на ячейку (AK17)

Это то, что я имею в ячейках A1-A3

A1:'S:\Monthly outputs\[Ouputs 201606.xlsx]Test'! 
A2: =ADDRESS(ROW(INDIRECT(refCol)),COLUMN(INDIRECT(refCol))+current-refMnth) 
A3: /'S:\Monthly outputs\[Ouputs 201606.xlsx]Test'!AK2 

refcolrefMnth и current, используемые в формуле в ячейке A2, называются ячейками со значением AK17 для ячейки с именем refcol, 5 (может) для ячейки с именем refMnth и формулой =MONTH(TODAY()) в ячейке с именем current. Это будет динамически обновлять изменения ячейки A2 и текущего месяца (значение в ячейке current). Ваша ссылка клетка (A4), то может быть создан с помощью непрямого

A4: =INDIRECT(part1&part2&part3) 

где part1, part2 и Par3 являются имена ячеек A1, A2 и A3 соответственно.

Смежные вопросы