Транспонирование строк по четыре столбца за раз (строка с 4-столбцовой матрицей)

У меня есть данные в следующем макете (каждая «цифра» в своем столбце, но все в строке 1 Excel):

1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 

Как я могу легко преобразовать это:

 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 

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

Если ваши данные начинаются с A1, попробуйте A3, скопировав их в D и вниз, чтобы:

 =OFFSET($A$1,,COLUMN()+4*(ROW()-2)-5) 

Это уже ответили, но просто для удовольствия, вот версия, которая является энергонезависимой и не нуждается в размещении в определенном месте:

 =INDEX($A$1:$P$1,4*(ROW($A$1:$D$4)-1)+COLUMN($A$1:$D$4)) 

Замените диапазон $A$1:$P$1 выше с любым диапазоном, который вы хотите изменить, и введите как формулу массива. (Выберите весь диапазон 4×4, введите формулу и нажмите ctrl-shift-enter, когда вы закончите, а не просто введите.) Обратите внимание, что $A$1:$D$4 является константой, используемой для получения последовательных чисел.

Еще один способ – более короткая формула, но требующая некоторой настройки:

Создайте именованный диапазон, назовем его Matrix1:

 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 

Вы можете поместить матрицу на другой, возможно, скрытый рабочий лист, или просто использовать константу массива:

 ={1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0;0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0;0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0;0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1} 

И еще, назовем его Matrix2:

 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 

или:

 ={1,0,0,0;0,1,0,0;0,0,1,0;0,0,0,1;1,0,0,0;0,1,0,0;0,0,1,0;0,0,0,1;1,0,0,0;0,1,0,0;0,0,1,0;0,0,0,1;1,0,0,0;0,1,0,0;0,0,1,0;0,0,0,1} 

Тогда формула справедлива:

 =MMULT(Matrix1*$A$2:$P$2,Matrix2) 

Опять же, выберите весь диапазон 4×4 и введите как формулу массива.

Разумеется, вы могли бы ввести константы массива в формулу напрямую, но это становится громоздким:

 =MMULT({1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0;0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0;0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0;0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1}*$A$2:$P$2,{1,0,0,0;0,1,0,0;0,0,1,0;0,0,0,1;1,0,0,0;0,1,0,0;0,0,1,0;0,0,0,1;1,0,0,0;0,1,0,0;0,0,1,0;0,0,0,1;1,0,0,0;0,1,0,0;0,0,1,0;0,0,0,1}) 
  • Математическая транспозиция в excel
  • Excel для переноса определенных ячеек из строки в столбец
  • Как перенести столбцы в строки (с прерываниями) в Excel?
  • VBA: транспонировать последнюю строку
  • Введите номер строки в качестве переменной и ссылку на другой лист
  • Давайте будем гением компьютера.