Retornar cookies e contagem não nulos

0

Eu tenho duas planilhas em minha pasta de trabalho. A primeira planilha é intitulada SalesPerson e deve mostrar um resumo do vendedor inserido na célula B1 e o tipo & quantidade de biscoitos vendidos. Layout é assim:
Nome: George
Cookies vendidos: Quantidade:

Depois, tenho uma segunda planilha chamada Sales Data, que mostra cada vendedor e o tipo de cookies e o número que o indivíduo vendeu. Layout é assim

.......Choc Chip....Vanilla....Lemon....etc
George  4            12          0
Bob                   3
Jerry                 4          1


Então, digamos, por exemplo, na célula B1, o nome George foi inserido, sob os cabeçalhos Cookies vendidos e Quantidade (que começam em A3 e B3), eu gostaria de retornar o seguinte:

Choc Chip     4
Vanilla       12

Existe uma fórmula do excel que pode fazer isso? Eu poderia usar VLOOKUP ou um método combinado de Index(Match()) se SalesPerson contivesse todos os cookies possíveis e apenas procurasse a contagem vendida, mas como não tem qual opção eu tenho que retornar BOTH os cookies e a contagem em que count > = 1 para minha planilha SalesPerson?

Pensei em usar um PIVOT TABLE , mas isso ajuda a detalhar os dados, não retornar os dados à planilha SalesPerson e também procurei usar a função VLOOKUP() , mas só consegui isso para retornar um valor, não o tipo de pizza e a contagem.

EDITAR
Eu poderia usar =INDEX(A1:D6, 4, 3) para retornar a contagem, mas como eu poderia, no mesmo swoop, devolver a pizza?


Eu sei que INDEX()MATCH()MATCH() funciona quando você tem os valores de pesquisa verticais e horizontais, mas isso pode ser transposto para retornar o valor horizontal, bem como o valor de retorno?

    
por user2676140 25.05.2016 / 16:31

1 resposta

2

Primeiro, vamos pegar a lista de cookies. Precisamos usar uma fórmula de matriz. Meu ir para fórmula neste caso é AGREGADO () dentro de um índice. Eu coloquei "George" na A8 com os dados em A1: D4:

=IFERROR(INDEX($B$1:$D$1,AGGREGATE(15,6,(COLUMN($B$2:$D$4)-1)/(($A$2:$A$4=$A$8)*($B$2:$D$4<>0)*($B$2:$D$4<>"")),ROW(1:1))),"")

Em seguida, copiei essa fórmula para baixo em linhas suficientes para cobrir todos os comprimentos de lista possíveis.

Então eu usei um padrão INDEX / MATCH / MATCH para encontrar os números:

=IF(A9<>"",INDEX($A:$D,MATCH($A$8,$A:$A,0),MATCH($A9,$1:$1,0)),"")

E novamente copiei o mesmo número de linhas.

    
por 25.05.2016 / 22:08