Como retornar a cabeça da coluna se uma célula é correspondida?

0

Digamos que eu tenha uma mesa:

Eu quero procurar uma célula e retornar o cabeçalho da coluna. Por exemplo, se eu pesquisar por Orange , o resultado será Fruit . Eu posso conseguir isso usando o aninhado if ( E2 is Orange in here):

=IF(NOT(ISERROR(MATCH(E2,A1:A4,0))),A1,IF(NOT(ISERROR(MATCH(E2,B1:B3,0))),B1,C1))

Mas em uma mesa grande isso é impossível. Além disso, não posso saber se o erro acontece. Existe uma maneira melhor de obter o resultado? Não sei quantas linhas cada coluna possui. Não há dados duplicados na tabela. A tabela não inicia em A1 e pode ser movida para outra planilha no futuro.

    
por Ooker 23.01.2017 / 19:43

2 respostas

3

Se Agregar não estiver entre as funções que você pode usar:
=OFFSET(A1,0,SUMPRODUCT(--(A2:C4=E2)*COLUMN(A2:C4))-1)
O Sumproduct determinará o número da coluna para o valor correspondente que você está procurando.
O deslocamento retornará o cabeçalho da coluna equivalente.

    
por 23.01.2017 / 21:13
1

Use AGGREGATE () para retornar o número da coluna a uma função INDEX ():

=INDEX(1:1,AGGREGATE(15,6,COLUMN($A$2:$C$4)/($A$2:$C$4=E2),1))

    
por 23.01.2017 / 20:13