Produto cartesiano no Excel 2013

1

Eu tenho um excel neste formato.

+----------+-------+---------+--------+--------+
| TicketId | PubId | PubName | Model1 | Model2 |
+----------+-------+---------+--------+--------+
|     1234 |    12 | abc     | xyz1   | pqr1   |
|     1235 |    34 | iuy     | fgy6   | piu8   |
+----------+-------+---------+--------+--------+

e estou segmentando para criar uma tabela como a abaixo.

+----------+---------+-------+
| TicketId | Display | Value |
+----------+---------+-------+
|     1234 | PubId   | 12    |
|     1234 | PubName | abc   |
|     1234 | Model1  | xyz1  |
|     1234 | Model2  | pqr1  |
|     1235 | PubId   | 34    |
|     1235 | PubName | iuy   |
|     1235 | Model1  | fgy61 |
|     1235 | Model2  | piu8  |
+----------+---------+-------+

Eu sei que é um produto cartesiano ou cross-apply (em termos de SQL) mas eu quero fazê-lo no excel.

Existe uma maneira de fazer esse tipo de representação de dados através do Excel?

    
por VoidMain 01.08.2018 / 14:20

1 resposta

2

Suponha que os dados de origem ocupem A1: E3.

Suponha que o cabeçalho de destino ocupe G1: I1.

Insira as fórmulas:

G2=INDIRECT(ADDRESS(2+(ROW()-2)/4,1))
H2=INDIRECT(ADDRESS(1,2+MOD((ROW()-2),4)))
I2=INDIRECT(ADDRESS(2+(ROW()-2)/4,2+MOD((ROW()-2),4)))

Arraste G2: I2 até G9: I9.

    
por 01.08.2018 / 15:31