Imprimir valores horizontalmente no Excel

2

Eu tenho uma planilha do Excel com dados formatados como abaixo

  A        B
1 KEY      VALUE
2 Apple    Golden
3 Orange   Navel
4 Banana   Yellow
5 Apple    Granny Smith
6 Orange   Blood

O que eu quero fazer é pegar as chaves exclusivas, mas imprimir seus valores correspondentes na horizontal ao lado deles. Eu já tenho uma folha que se parece com isso:

  A        B
1 KEY      VALUE
2 Apple    Golden
3 Orange   Navel
4 Banana   Yellow

Mas o que eu gostaria é isso:

  A        B        C
1 KEY      VALUE1   VALUE2
2 Apple    Golden   Granny Smith
3 Orange   Navel    Blood
4 Banana   Yellow

Minha fórmula agora é {=INDEX('$B$2:$B$6,MATCH(<unique key>,$A$2:$A$6,0))} , em que "chave exclusiva" é a referência da célula na segunda planilha. Essa fórmula imprime com êxito o primeiro valor de cada chave, mas gostaria que as outras correspondências preenchessem a linha. Isso é possível?

    
por Jon 04.03.2016 / 01:41

1 resposta

1

Os itens a seguir funcionarão se você configurar fórmulas em colunas para lidar com quantas instâncias de "VALUE" você achar que encontrará. Você precisará configurar fórmulas nas colunas "VALUE".

Use uma fórmula de matriz que inclua um IF condicional () para verificar seu valor de chave e, em seguida, a função SMALL () para retornar a n'ésima linha correspondente a esse valor . Isso informa que, para a chave APPLE, o valor ocorre nas linhas 1 e 5 da sua tabela. Em seguida, use o INDEX () para buscar o VALUE dessas linhas.

Esta página tem detalhes com um exemplo. Seu exemplo será executado horizontalmente em vez de verticalmente, mas caso contrário, é um problema idêntico. link

O único ajuste que eu recomendarei é no final, quando você adiciona o IF ( ISERROR () ... etc., a maneira mais curta / fácil de faça isso para usar a função IFERROR (), assim você não precisa repetir sua fórmula longa.

Por exemplo, se eu tivesse sua tabela (excluindo cabeçalhos) em A13: B17, minha tabela de resultados começaria com os valores KEY em E13: E15, então 'Apple' em E13, então a primeira fórmula em F13 ( para encontrar o valor para a primeira ocorrência de "Apple") seria ( matriz fórmula, então Ctrl - Shft - Digite ):

{=IFERROR(INDEX($A$13:$B$17,SMALL(IF($A$13:$A$17=$E13,ROW($A$13:$A$17)),ROW(1:1))-12,2),"")}

E o resultado seria "Golden".

Então, no G13, seria o mesmo, exceto ROW (2: 2). H13 usaria ROW (3: 3). E assim por quantas colunas forem necessárias para cobrir o máximo de VALOR antecipado de qualquer CHAVE.

As linhas abaixo seriam as mesmas, exceto pela primeira condicional IF () que verifica o valor da KEY.

    
por 04.03.2016 / 03:50