![Excel: как вставить данные на разные листы, взяв их из разных столбцов](https://rvso.com/image/1672303/Excel%3A%20%D0%BA%D0%B0%D0%BA%20%D0%B2%D1%81%D1%82%D0%B0%D0%B2%D0%B8%D1%82%D1%8C%20%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D0%B5%20%D0%BD%D0%B0%20%D1%80%D0%B0%D0%B7%D0%BD%D1%8B%D0%B5%20%D0%BB%D0%B8%D1%81%D1%82%D1%8B%2C%20%D0%B2%D0%B7%D1%8F%D0%B2%20%D0%B8%D1%85%20%D0%B8%D0%B7%20%D1%80%D0%B0%D0%B7%D0%BD%D1%8B%D1%85%20%D1%81%D1%82%D0%BE%D0%BB%D0%B1%D1%86%D0%BE%D0%B2.png)
Мне нужна ваша помощь. У меня есть справочный лист, содержащий данные, организованные в 8 столбцов. Мне нужно создать 8 листов, каждый из которых должен содержать только один столбец. Первый лист в столбце A содержит данные первого столбца справочного листа, второй лист, также в столбце A, содержит данные второго столбца справочного листа и так далее... Как мне динамически создавать ссылки для вставки в формулы? вместо того, чтобы изменять их вручную?
решение1
Поместите справочный лист после 8 новых, которые вы сделали, и используйте формулу:
=ИНДЕКС('ссылка'!A:H,,ЛИСТ())
в ячейке A1 каждого листа, и это сделает то, что вы хотите. Если вы используете это, вы получите 0 в каждой пустой ячейке, поэтому вы можете добавить функцию ЕСЛИ к вышесказанному:
=ЕСЛИ(ИНДЕКС('ссылка'!A:H,,ЛИСТ())=0,"",ИНДЕКС('ссылка'!A:H,,ЛИСТ())
Если это не сработает, вы можете использовать эту формулу в ячейке A1 и перетащить ее вниз настолько, насколько нужно.
=ИНДЕКС('ссылка'!A:H,СТРОКА(),ЛИСТ())или
=ЕСЛИ(ИНДЕКС('ссылка'!A:H,СТРОКА(),ЛИСТ())=0,"",ИНДЕКС('ссылка'!A:H,СТРОКА(),ЛИСТ())
Эта формула использует ссылку на лист, поэтому если вы измените порядок листов, данные также изменятся, поэтому вам следует скопировать и вставить значения, чтобы избежать этой проблемы. Поскольку вам это нужно, вероятно, проще просто скопировать их вручную, выделив весь столбец.