converta uma tabela de 3 colunas de {x, y, value} para a tabela de matriz

2

Digamos que temos uma tabela de entrada de:

1980, 5,  H
1980, 7,  H
1980, 11, C
1981, 1,  W
...

Como podemos convertê-lo em uma nova tabela de:

      1  2  3  4  5  6  7  8  9  10  11 12
1980              H     H            C
1981  W...
    
por Tom Fishman 21.03.2013 / 03:29

2 respostas

3

Supondo que seus dados de exemplo estejam nas células A2: A5 e a tabela de resultados nas células A7: M9, a seguinte fórmula de matriz inserida na célula B7 e copiada na coluna M e abaixo na linha 9 produziria o resultado desejado. A fórmula pressupõe que uma seqüência vazia ("'") é inserida na célula C1. Se houver mais linhas no intervalo de dados, você precisará ajustar o termo ROW ($ 1: $ 4) para o número real de linhas de dados.

  =OFFSET($C$1,SUM(($A8=$A$2:$A$5)*(B$7=$B$2:$B$5)*ROW($1:$4)),0)

Como é uma fórmula de matriz, ela deve ser inserida com a combinação de teclas Controle - Shift - Enter .

    
por 21.03.2013 / 04:21
1

Se cada par de números de anos for único, você pode plotar seus dados usando uma fórmula de matriz 1 na sua tabela.

{=IFERROR(OFFSET($C$1,SUM((years=$E2)*(numbers=F$1)*ROW(data_to_plot))-1,0,1,1),"")}

Onde years , numbers e data_to_plot são intervalos nomeados que apontam para a primeira, segunda e terceira colunas do seu intervalo de fonte, respectivamente (como mostrado na imagem abaixo). Você não precisa usar intervalos nomeados, mas isso tornará mais fácil escrever / editar a fórmula.

Noexemploacima,observeasreferências(quaissãorelativas/absolutas)&intervaloseparaondeelesapontam.

-
1Deveserconfirmado/digitadousandoCtrl+Deslocamento+Digiteantesdecopiá-lopelaslinhas/colunasdatabela"matriz".

    
por 21.03.2013 / 04:22