Corresponde um cabeçalho de coluna (de localização não específica) ao conteúdo da coluna e obtém todos os cabeçalhos de linha

0

Estou usando o Excel 2016 no Windows 8.1.

Eu quero ser capaz de combinar dois critérios, em que um critério é um cabeçalho de coluna e o outro é o conteúdo da célula que pode ocorrer qualquer número de vezes nessa coluna e retornar vários cabeçalhos de linha como resultados.

No meu exemplo, quero poder inserir o nome de uma fruta (os cabeçalhos de coluna) e uma qualidade ('boa' ou 'ruim') nas células B6 e B7 e receber qualquer característica (cabeçalhos de linha) Combine essa fruta e qualidade. Se eu lhe der 'maçãs' e 'bom', quero que ele retorne 'aparência' e 'sabor' (e não 'preço'), por exemplo.

Eu usei o Index Match antes e já ouvi falar do uso de fórmulas de matriz para trabalhar com intervalos de células. Mas eu não posso descobrir como combinar tudo isso - especialmente porque todos os tutoriais que eu encontrei foram sobre como combinar com um cabeçalho de linha e um cabeçalho de coluna, e encontrar a (s) célula (s) resultante (s). Além disso, não quero "codificar" uma referência a um determinado cabeçalho de coluna porque talvez nem sempre queira corresponder a "Maçãs".

Eu tentei uma tabela dinâmica e não foi muito elegante (meus dados reais têm 5 itens de 'qualidade', não apenas 2).

Captura de tela da tabela de exemplo

   A           B         C        D         E        F
1            | Apples | Bananas | Lemons | Mangos | Oranges
-----------------------------------------------------------
2 Appearance | good   | good    | bad    | bad    | good
 ----------------------------------------------------------
3 Flavour    | good   | good    | bad    | good   | good
 ----------------------------------------------------------
4 Price      | bad    | good    | good   | bad    | good
----------------------------------------------------------
5            |        |         |        |        | 
----------------------------------------------------------  
6 Fruit:     | apples |         |        |        |
----------------------------------------------------------
7 Quality:   | good   |         |        |        |             
----------------------------------------------------------
8            |        |         |        |        |     
----------------------------------------------------------  
9 Results:   |        |         |        |        |         
----------------------------------------------------------
    
por Inskora Bournvadus 09.08.2018 / 16:52

2 respostas

0

Esta é uma variação do que o @Scott Craner propôs, mas pode funcionar para você.

Euadicioneiespaçosreservadosparaqualidadesadicionais.ColoqueestafórmulaemB11earrasteparabaixoparaumnúmerodelinhasparaigualaronúmerodequalidadesquevocêtem.

=IF(INDEX($B2:$F2,,MATCH($B$8,$B$1:$F$1))=$B$9,$A2,"")

Se você não gosta da aparência de Results1 e deseja realmente que os valores estejam em uma célula, coloque essa fórmula em B18 e oculte as linhas 11 a 15.

=IF(B11="","",B11&"//") & IF(B12="","",B12&"//") & IF(B13="","",B13&"//") & IF(B14="","",B14&"//") & IF(B15="","",B15&"//")

Substitua o que você quiser como separador por "//".

    
por 09.08.2018 / 19:19
0

Isso iterará pelas células e retornará todos os números de linhas que correspondem ao ÍNDICE, retornando o valor.

Coloque isso em B9:

=IFERROR(INDEX(A:A,AGGREGATE(15,6,ROW($A$2:$A$4)/(($B$2:$F$4=$B$7)*($B$1:$F$1=$B$6)),COLUMN(A:A))),"")

E copie o suficiente para considerar todas as características.

    
por 09.08.2018 / 16:59