Как преобразовать матрицу-таблицу в одну строку для каждой записи в Excel - PullRequest
3 голосов
/ 07 января 2011

У меня есть что-то вроде

  1  2  3
a x  o  x
b x  x  o
c o  o  o

и хотите преобразовать его в строки типа

1 a x
1 b x
1 c x
2 a o
2 b x
2 c o
3 a x
3 b o
3 c o

с помощью формулы в документе Excel. Игра с $ для присвоения значений для каждой строки и столбца дает мне надлежащие результаты. Каждый раз мне приходится вносить некоторые изменения в формулу вручную. Любой намек, как правильно написать?

Ответы [ 2 ]

3 голосов
/ 07 января 2011

Предположим, что ваша матрица в ячейках A1: D4

в A6 положить:

=OFFSET($A$1;0;QUOTIENT(ROW()-ROW($A$6);3)+1)

в B6 положить:

=OFFSET($A$1;MOD(ROW()-ROW($A$6);3)+1;0)

в C6 положить:

=VLOOKUP($B6;$A$1:$D$4;MATCH($A6;$A$1:$D$1;0);FALSE)

Ден перетаскивание вниз (копирование формул) A6: C6 до A14: C14

(я перевожу свои формулы с итальянского, чтобы был какой-то сбой)

PS: 3 в формулах относится к числу строк (и столбцов) в примере.

0 голосов
/ 24 сентября 2014

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

смотри это: https://www.youtube.com/watch?v=N3wWQjRWkJc или это: https://www.youtube.com/watch?v=pUXJLzqlEPk&list=LLzMcMocJLlJOCteGbfN3xvA&index=2

...