IndexMatch на нескольких листах - PullRequest
0 голосов
/ 31 августа 2018

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

Мне нужно соответствовать трем наборам критериев для этого, чтобы создать объединенный столбец на всех вкладках и на главном листе, который будет состоять из одних и тех же данных) (все буквенно-цифровые символы добавляются в виде текста).

Я могу сделать это из ОДНОГО листа, но мне нужно сделать это по многим, и я хотел бы, чтобы он был динамичным, чтобы мне не приходилось управлять формулой каждый год.

Первый лист называется ADS, а второй лист - NDTREQ. В файле ADS я создал таблицу с названием Years для названий годов, но не знаю, как я могу включить это в динамическую формулу.

Ниже приведена формула в ячейке файла ADS:

=IF(B16="","",INDEX([NDTREQ.xls]2018'!$G$1:$G$65536,MATCH(J16,[NDTREQ.xls]2018'!$A$1:$A$65536,FALSE),0))

Как я могу заставить это работать динамически?

1 Ответ

0 голосов
/ 01 сентября 2018

Вы можете сделать ссылку на вкладку в своей формуле динамической, т.е. [NDTREQ.xls]2018'.

Таким образом, вместо "жесткого кодирования" года листа 2018 в вашей формуле его можно отнести к ячейке (в моем примере вашего кода я использую ячейку: C5). В ячейке будет указан год (и явная вкладка рабочего листа), в котором вы хотите использовать формулу. То есть изменение значения в C5 с 2017 по 2018 перенаправит формулу с вкладки листа 2017 на вкладку 2018.

Итак, ваша формула должна выглядеть примерно так:

=IF(B16="","",INDEX(INDIRECT("[NDTREQ.xls]"&C5&"!"&"$G$1:$G$65536"),MATCH(J16,INDIRECT("[NDTREQ.xls]"&C5&"!"&"$A$1:$A$6553"),FALSE),0))

Объяснение с образцом:

Это функция INDIRECT, которая позволяет делать это по динамической формуле:

INDIRECT("[NDTREQ.xls]"&C5&"!"&"B4:B7")

  • Где [NDTREQ.xls] - имя файла,

  • "&C5&"!" - имя вкладки в файле "NDTREQ",

  • &"B4:B7" - это диапазон в формуле индекса, в который вы хотите вернуть значения.

Изменить отметку: Я поделился двумя документами, с которыми работал, чтобы дать вам представление о том, чего вы можете достичь с помощью функции INDIRECT в Excel. Файл ADS является файлом "Main / Master", который использует данные из файла NDTREQ.

Откройте оба листа в одной и той же папке одновременно. Затем вы должны получить результат, как на картинке. (Если вы хотите, чтобы они были в разных местах, вам нужно связать документ с именем пути). enter image description here

https://www.dropbox.com/s/a4b86erzq6xj5l6/ADS.xls?dl=0 https://www.dropbox.com/s/dq1yhgm2zppyaf3/NDTREQ.xls?dl=0

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