Заполните пустую таблицу данными из других таблиц на основе выбора раскрывающегося списка - PullRequest
0 голосов
/ 27 сентября 2018

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

Список в раскрывающемся списке - это имя каждой таблицы.Следующее - мой подход, но я иду рядом.PRCoverage - это название выпадающего списка.

=INDEX(INDIRECT(PRCoverage),ROW()-ROW($B$7),COLUMN()-COLUMN($B$7))

Проблема заключается в том, что не все таблицы начинаются в одной строке.Я пытаюсь найти способ ссылаться на первую строку в каждой таблице.

Ответы [ 2 ]

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

Для начала я положил все на один лист для скриншотов, это будет работать на нескольких страницах.

enter image description here

  1. IНачалось с того, что список я мог бы использовать для выпадающего списка в ячейке F1.Это именованный диапазон в D2:D3, называемый TableList.После того, как у меня появилось это имя, именно так проверяется ячейка F1.
  2. Далее в формуле в F1 вы увидите, что у меня есть два именованных диапазона.Это динамические именованные диапазоны.Чтобы создать их: Выберите ячейку F1, затем CTRL + F3 , чтобы открыть диспетчер имен.Затем нажмите кнопку «Новый».Для этой демонстрации я назвал это Male_Characters.Для формулы, которую я использовал: =Sheet1!A3 Обратите внимание, что я не использую абсолютные ссылки (без "$") .Повторите это для начального угла каждой таблицы, которую вы хотите отобразить.
  3. Наконец, создайте вложенный оператор if, который работает через каждую таблицу, как вы можете видеть на моем снимке экрана.=IF($F$1=$A$1,Male_Characters,IF($F$1=$A$12,Female_Characters,"")) - это один и тот же код во всех ячейках моей таблицы отображения.

Образец электронной таблицы: Нажмите здесь

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

Мы можем получить те, в которых записи конкретного начинаются со следующего:

=ROW(INDIRECT(MyDropDown))

Затем я использую OFFSET, чтобы заполнить мои TABLE

=OFFSET(INDIRECT("Sheet2!A" & ROW(INDIRECT(MyDropDown))),ROW()-2,COLUMN()-1)

НоВы также можете легко поменять OFFSET на INDEX

=INDEX(INDIRECT("Sheet2!A" & ROW(INDIRECT(MyDropDown))),ROW()-2,COLUMN()-1)

enter image description here

enter image description here

...