2012-02-20 4 views
0

Вот что я хочу сделать ... У меня есть предел с кучей листов ... назовем их A, B, C, D. И еще один, где я получаю значения от одного из них в зависимости от того, что пользователь входит в одну ячейку. Так ... чтобы получить значение из листа я использую следующую формулуПользовательский лист по адресу

='[file.xls]A'!$I$15 

Что я хочу сделать ..., если пользователь вводит значение В в конкретной ячейке, чтобы формула изменена следующим образом:

='[file.xls]B'!$I$15 

Есть ли способ сделать это? Спасибо!

ответ

1

можно только косвенно ссылаться на книгу, которая открыта. Если вы не собираетесь открывать внешний ссылочный документ, вам нужно будет установить дополнительные функции в свой Excel.

Надстройка называется MoreFunc ... прочитать все об этом здесь: http://xcell05.free.fr/morefunc/english/

Скачать и установить его здесь: http://download.cnet.com/Morefunc/30...-10423159.html

Перейти в TOOLS> надстройках и активировать MoreFunc.

Теперь у вас есть много новых функций. В любом месте, где вы использовали INDIRECT, теперь вместо этого используйте INDIRECT.EXT, и он будет работать на закрытых книгах.

1

Создайте адресную строку, а затем используйте INDIRECT для получения ее значения.
например: если имя листа лист в A1, то ваша формула может быть что-то вроде
=INDIRECT("'[file.xls]" & A1 & "'!$I$15")

+0

Что-то должно быть не так? это не работает! .... –

+0

Возможно, потому, что есть путь к файлу тоже? что-то вроде \\: abc.abc.abc \ abcd \ efgh \? Есть идеи? –

+0

@Andrei. просто создайте формулу в обычном листе Excel, затем попробуйте реплицировать эту строку (кроме initial =) в качестве аргумента для INDIRECT. –

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