Вы можете поиграть немного с INDEX
, COLUMN
и ROW
формулами и некоторой арифметикой. INDEX
будет искать значение ячейки для вас, учитывая номер строки и столбца. Для простой транспонирования вам просто нужна COLUMN
текущая ячейка в качестве строки и ROW
текущая ячейка в качестве столбца. Однако ваша операция немного сложнее, чем простая перестановка, и поэтому нам нужна некоторая арифметика. С некоторой пробой и ошибкой я пришел к формуле ниже.
При условии, что лист A содержит данные в верхнем левом углу (т. Е. B2 содержит значение 5), эта формула на листе B будет работать:
=INDEX('Sheet A'!$1:$1048576, MOD(COLUMN()+1,3)+3*ROW()-4, 1+(COLUMN()+1)/3)
Номера столбцов начинаются с 1, поэтому MOD(COLUMN()+1,3)
0 дает для столбцов группы n, 1 для B и 2 для C. Эта 3*ROW()
часть соответствует трем строкам для каждой группы n на листе A. 1+(COLUMN()+1)/3
Отображаются все столбцы категории 1 на листе B в столбец 2 на листе А, категория 2 в столбец 3 и т. д.