2

У меня есть лист, как показано ниже. Я хочу скопировать все формулы из рабочей книги B в A, но без ссылки на рабочую книгу B.

когда я делаю это сейчас, я в настоящее время получаю ссылку во всех моих формулах на рабочую книгу B. Но я хочу только формулы, но связанные с моей текущей рабочей книгой (рабочая книга a)

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

вот пример формулы,

=IF(Start!$D$8="Weekly",0.000001*SUMIFS(tbl_database[Value],tbl_database[Node],H$2,tbl_database[Type],$A14,tbl_database[Accounting],$C$1,tbl_database[Filter],"No"),0.000001*SUMIFS(tbl_database[Value],tbl_database[Node],H$2,tbl_database[Type],$A14,tbl_database[Accounting],$C$1,tbl_database[Source],"<>stack",tbl_database[Source],"<>overflow"))

Рабочая тетрадь Лист:

рабочая тетрадь B, лист B

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

1 ответ1

0

Проверено в Excel 2010

Копирование любой части таблицы из А в Б отсылает обратно к А. Копирование всей таблицы (должен включать заголовки!) не ссылается обратно на A - если в формуле нет ссылки на другую таблицу или другой лист. Формулы в таблице, которые ссылаются на диапазон за пределами таблицы, но на том же листе, будут правильно ссылаться на B.

Решение (хотя и не очень хорошее) состоит в том, чтобы убедиться, что в таблице нет формул, которые ссылаются на другую таблицу или лист, перед копированием в B. Вы можете сделать это, перенеся ваши данные в A на тот же лист.

Как уже упоминалось в комментариях, использование Ctrl H для поиска всех ссылок на лист и замены на пустую строку - это быстрый способ решения проблемы после вставки.

В комментариях не упоминается возможность именованных диапазонов, указывающих назад на А, вполне вероятно, с неработающими ссылками. Вы можете попытаться смягчить это, используя область листа (в отличие от рабочей книги), но, вероятно, вам все равно придется редактировать / удалять их в менеджере имен после вставки в B.

Я увлечен VBA и считаю, что лучшим решением является написание кода, который генерирует исходный отчет в формате A. Это устранит необходимость копирования из A в B, просто запустите программу для создания нового отчета по мере необходимости.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .