Мне нужно динамически ссылаться с одной книги Excel на другую - PullRequest
0 голосов
/ 13 апреля 2019

У меня есть книга Excel под названием «Счета-фактуры», которая содержит шаблоны счетов-фактур примерно для 35 сотрудников.С косметической точки зрения все листы одинаковы, за исключением работодателя, размера оплаты, имени и т. Д. У каждого сотрудника есть свой лист в этой книге.

Кроме того, я получаю еженедельные «отчеты по карточкам Master Time» для примерно 120 сотрудников, которые я должен загружать в виде отдельной рабочей книги Excel еженедельно.У каждого из этих сотрудников есть отдельный рабочий лист.Данные из «Отчетов карты Master Time» должны быть перенесены в шаблоны в книге «Счета-фактуры».Я делал это вручную и пытался найти способ в Excel, чтобы динамически ссылаться на листы в книге «Отчеты о картах основного времени» из книги «Счета-фактуры».

Проблема заключается в том, что адреса ячеек в «Отчётах главной карты времени» меняются в зависимости от ряда факторов.Одна неделя, общее количество часов для любого конкретного сотрудника может быть в ячейке "T50", а затем на следующей неделе они могут быть в ячейке "T43" (они никогда не меняют столбцы).Кроме того, имена листов могут измениться с «Лист1» на «Лист3», потому что новые сотрудники добавлены или смещены.

Я провел большое количество исследований и, похоже, не могу найти способ сделать это.

Это формула, которую я использую до сих пор:

= INDIRECT ("'[Mastetimecardreports.xlsx] *'! B" & MATCH ($ D18, [Mastetimecardreports.xlsx] Sheet1:Sheet129! $ B: $ B, 0) +1)

Моя цель - ввести имя сотрудника на его рабочем листе в книгу «Счета-фактуры» и найти это имя в «Мастер-время».Карточка сообщает "рабочую книгу" и извлекает данные из ведомости для этого соответствующего сотрудника.Я хочу сделать это динамически, так как адрес ячейки и листы всегда будут меняться.

1 Ответ

2 голосов
/ 13 апреля 2019

Вы можете значительно выиграть от реструктуризации архитектуры данных. Всякий раз, когда я читаю что-то вроде Each employee has a different sheet within this workbook, у меня срабатывает будильник. Почему ты бы так поступил? Почему вы распределяете свои данные по нескольким рабочим книгам и внутри этих рабочих книг в несколько рабочих листов? Это является причиной вашей трудности с агрегацией данных. Используйте одну книгу и один лист для хранения данных. Если ваша коллекция данных находится в разных файлах, Power Query можно использовать для создания ОДНОГО файла данных. Затем вы можете легко создавать отчеты из этого одного файла данных.

...