Nas Tabelas Dinâmicas do Excel, como mostro itens que ocorrem em uma categoria, mas não em outra?

0

Versão simplificada dos meus dados:

item category number apples fruit 7 orange fruit 2 tomato fruit 3 tomato vege 9 zuchini vege 2 tomato vege 17 onion vege 1

Com uma Tabela Dinâmica no Excel 2010, existe uma maneira de configurá-la para obter uma lista de itens que aparecem na categoria vege, mas não na categoria de frutas? A saída neste exemplo seria:

zuchini onion

(não conteria tomate, uma vez que também aparece na categoria de frutas). Desde já, obrigado.

PonyEars
fonte

Respostas:

1

Acho que você não conseguirá fazer isso com uma tabela dinâmica, pois a filtragem não é tão avançada nos itens agrupados. Ou pelo menos não é tão automatizado.

Consegui fazer isso com uma consulta SQL. Você pode consultar o Excel no Excel usando o MS Query e uma conexão de dados (basta apontar a fonte de dados para o arquivo em que está trabalhando).

Aqui está o resultado final: Resultados da consulta do MS

A consulta SQL é:

SELECT `Sheet1$`.category, `Sheet1$`.item, `Sheet1$`.number
FROM `C:\Admin\StackExchange\sql on excel.xlsx`.`Sheet1$` `Sheet1$`
WHERE `Sheet1$`.item NOT IN 
(SELECT `Sheet1$`.item
FROM `C:\Admin\StackExchange\sql on excel.xlsx`.`Sheet1$` `Sheet1$` 
WHERE (`Sheet1$`.category<>'vege'))
AND `Sheet1$`.category='vege'

Entre em contato se precisar de mais ajuda para configurar a conexão de dados.

KingOfAllTrades
fonte
Obrigado, parece interessante. Estou estudando como configurar uma conexão de dados e usar a tabela como dados para tentar fazer com que sua consulta de exemplo funcione.
PonyEars
1

Eu usaria o suplemento de consulta de energia para isso. Você pode iniciar uma consulta a partir de uma tabela do Excel.

Gostaria de iniciar uma consulta chamada Fruit e filtrar na categoria = fruit. Então eu começaria outra consulta chamada Vege e Filtre na categoria = vege. Em seguida, na consulta Vege, adicionaria um comando Merge para ingressar na consulta Fruit usando as colunas Item, mantendo as linhas que não correspondem. Então eu usaria o comando Expandir para adicionar uma coluna da consulta Fruit, por exemplo, Item. Depois, filtraria essa nova coluna, mantendo apenas as linhas nulas.

A seguir, uma introdução ao Power Query Merge and Expand:

http://office.microsoft.com/en-au/excel-help/merge-queries-HA104149757.aspx?CTT=5&origin=HA103993872

Mike Honey
fonte
Obrigado, examinei isso e foi útil saber. Gostaria de poder marcar várias respostas aceitas!
PonyEars
-1

Para responder a essa pergunta, primeiro vamos olhar para a tabela dinâmica típica. Existe a tabela gerada a partir dos dados e a lista de campos da tabela dinâmica. Para fazer o que você está pedindo, vá para a lista de campos da tabela dinâmica e, onde você vê a categoria, coloque o cursor sobre isso e verá um pequeno triângulo de cabeça para baixo à direita. Clique no triângulo. Isso abrirá um painel com opções de filtro. Na parte inferior do painel, clique na caixa superior, desmarcando-a efetivamente, e procure a que deseja ... nesse caso, clique na abobrinha e na cebola.

Espero que isso ajude e divirta-se!

Ken Long
fonte
Obrigado, mas o que eu estava perguntando era como obter o Excel para fazer isso com base em uma consulta.
PonyEars
Como você está vinculando a tabela do Excel a partir do Access ou de algum outro banco de dados em que está escrevendo código sql? O motivo pelo qual pergunto é que as consultas não são nativas do Excel.
Ken Long