У Адама две книги; назовите их A и B. В книге A у него есть ссылка на значение в сводной таблице, которая находится в книге B. Когда он открывает книгу A, а книга B не открыта, Адам получает #REF! ошибка по ссылке. Он задается вопросом, есть ли способ избежать появления ошибки при связывании со значением сводной таблицы в книге, которая не открыта.
Есть несколько способов решения этой проблемы. Оба метода включают понимание того, как Excel ссылается на значение сводной таблицы в книге A. Когда вы создаете ссылку на значение и открыты как книга A, так и книга B, ссылка будет выглядеть примерно так:
= GETPIVOTDATA («TotalValue», ‘C: XLDocs [MyData.xls] PTable’! $ H $ 15, «EName», «Rac»)
Один из способов решения проблемы – конвертировать ссылку внутри оператора IF следующим образом:
= IF (ISERROR (= GETPIVOTDATA («TotalValue», ‘C: XLDocs [MyData.xls] PTable’! $ H $ 15, «EName», «Rac»)), «Убедитесь, что рабочая книга B открыта», = GETPIVOTDATA («TotalValue», ‘C: XLDocs [MyData.xls] PTable’! $ H $ 15, «EName», «Rac «))
Формула проверяет результат функции GETPIVOTDATA, и если она возвращает значение ошибки (например, когда книга B не открыта), она отображает сообщение. Значение из книги B будет извлечено только в случае отсутствия значения ошибки.
Другой способ – изменить исходную ссылку, чтобы функция GETPIVOTDATA не использовалась. (Именно эта конкретная функция вызывает ошибку, когда книга B не открыта.) Вот как вы должны повторить ссылку, чтобы на значение ссылались напрямую, а не через функцию:
= ‘C: MyWork XLDocs [MyData.xls] PTable’! $ H $ 15
Когда ссылка переписывается таким образом, состояние ошибки не возвращается.
Источник: