формула, ссылающаяся на другие рабочие книги - PullRequest
1 голос
/ 21 мая 2009

Учитывая список имен файлов рабочей книги, напишите формулу для ссылки на конкретное значение ячейки в указанной рабочей книге.

A----------B-------C-----D--------------------------------E----------

workbook1  sheet1  A1    '[workbook1.xlsx]sheet1'!$A$1    =(????
workbook2  sheet1  A1    '[workbook2.xlsx]sheet1'!$A$1
workbook3  sheet1  A1    '[workbook3.xlsx]sheet1'!$A$1

Учитывая A, B и C, я могу создать D, но не могу использовать его в формуле в E.

Я не могу ссылаться на вышеуказанную строку в D в формуле. Также НЕПРАВИЛЬНО не работает.

Ответы [ 3 ]

1 голос
/ 21 мая 2009

Согласно справке Excel 2007 о НЕПОСРЕДСТВЕННО:

Если ref_text ссылается на другую книгу (внешнюю ссылку), другая книга должна быть открыта. Если исходная рабочая книга не открыта, INDIRECT возвращает #REF! значение ошибки.

Имеет ли соответствующий файл возможность открывать?

Если нет, то может потребоваться сценарий ...

0 голосов
/ 22 мая 2009

Благодаря вкладу каждого и дальнейшим экспериментам, теперь я могу утверждать: Существует несколько факторов, которые должны иметь место для внешней ссылки на работу.

  1. Если ссылка относится к другой книге (внешняя ссылка), другая книга должна быть открыта
  2. Избавьтесь от одинарных кавычек, чтобы использовать INDIRECT
  3. Имя файла рабочей книги не может содержать пробелы

Например, если открыты w1.xls и w 2.xls, я могу создать новую книгу со следующими данными:

A---------B-------C-----D-------------------------E---------------------------------
w1.xlsx   sheet1  $A$1  ="["&A13&"]"&B13&"!"&C13  =INDIRECT(D13)  'will work
w 2.xlsx  sheet1  $A$1  ="["&A14&"]"&B14&"!"&C14  =INDIRECT(D14)  'Does NOT work

На данный момент большое ограничение этого подхода заключается в том, что все рабочие книги должны быть открыты, а имя рабочей книги не может содержать пробелов.

0 голосов
/ 21 мая 2009

Я думаю, что вам нужно только избавиться от одинарных кавычек, чтобы использовать INDIRECT. У меня работает в Excel 2003 на Windows NT.

A13 ---- B13 ---- C13 - D13 ---------------------- E13 ---------- -

w1.xls Sheet1 $ A $ 1 = "[" & A13 & "]" & B13 & "!" & C13 = НЕПОСРЕДСТВЕННО (D13)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...