Como filtrar uma Tabela Dinâmica com base em um valor de célula específico no Excel?
No Excel, as Tabelas Dinâmicas são amplamente utilizadas para resumir, analisar e explorar dados de forma eficiente. Por padrão, a filtragem dentro de uma Tabela Dinâmica geralmente é feita selecionando os itens desejados no menu suspenso de filtro. Embora essa abordagem ofereça flexibilidade, existem certos cenários onde um método de filtragem mais dinâmico é necessário — por exemplo, você pode querer que os resultados da Tabela Dinâmica mudem automaticamente com base no valor inserido em uma célula específica da planilha. Isso é especialmente útil ao preparar dashboards, automatizar fluxos de trabalho ou criar relatórios interativos para usuários finais que podem não se sentir confortáveis com a filtragem manual.
O Excel não fornece um recurso padrão que vincule nativamente o valor de uma célula ao filtro de uma Tabela Dinâmica (sem usar código). No entanto, existem várias técnicas práticas para atender a essa necessidade, cada uma com suas próprias vantagens e pontos a considerar. Este tutorial apresenta inicialmente um método VBA simples para conectar diretamente uma célula ao filtro da Tabela Dinâmica, de modo que ela seja atualizada instantaneamente conforme o valor da célula muda. Além disso, abordaremos métodos alternativos, como o uso de fórmulas do Excel (por exemplo, GETPIVOTDATA, FILTER) para exibir resultados filtrados, e o uso de Filtros Gráficos como controles de filtro interativos. Compreender essas opções ajuda você a escolher o melhor método para seu fluxo de trabalho no Excel e experiência do usuário.
➤ Filtrar Tabela Dinâmica com base em um valor de célula específico usando código VBA
➤ Fórmula do Excel - Exibir resultados filtrados da Tabela Dinâmica com base em um valor de célula
➤ Outros Métodos Incorporados no Excel - Usar Filtros Gráficos como filtros interativos de Tabela Dinâmica
Filtrar Tabela Dinâmica com base em um valor de célula específico com código VBA
Se você deseja uma verdadeira interatividade dinâmica — isto é, quando você digita um valor em uma célula e o filtro da Tabela Dinâmica responde automaticamente à mudança — o VBA oferece uma solução direta. Isso é particularmente útil em dashboards, modelos para colegas ou situações onde ajustes rápidos de filtros são necessários alterando uma única célula. No entanto, esse método exige familiaridade básica com o editor VBA, e, como ocorre com todas as macros, sua pasta de trabalho deve ser salva em um formato habilitado para macro (.xlsm).
O seguinte código VBA permite vincular dinamicamente uma célula da planilha a um filtro de Tabela Dinâmica. Siga cuidadosamente estas etapas e certifique-se de modificar o nome da planilha, o nome da Tabela Dinâmica e a referência do campo conforme necessário na sua pasta de trabalho:
Passo 1: Insira o valor pelo qual deseja filtrar sua Tabela Dinâmica em uma célula da planilha (por exemplo, digite ou selecione o valor de filtragem na célula H6).
Passo 2: Abra a planilha que contém sua Tabela Dinâmica de destino. Clique com o botão direito na aba da planilha na parte inferior do Excel e selecione Ver Código no menu de contexto. Isso abrirá a janela do editor VBA para a planilha.
Passo 3: Na janela Microsoft Visual Basic for Applications (VBA) aberta, cole o seguinte código no módulo de código da planilha (não em um módulo padrão):
Código VBA: Filtrar Tabela Dinâmica com base no valor da célula
Private Sub Worksheet_Change(ByVal Target As Range)
'Update by Extendoffice 20180702
Dim xPTable As PivotTable
Dim xPFile As PivotField
Dim xStr As String
On Error Resume Next
If Intersect(Target, Range("H6:H7")) Is Nothing Then Exit Sub
Application.ScreenUpdating = False
Set xPTable = Worksheets("Sheet1").PivotTables("PivotTable2")
Set xPFile = xPTable.PivotFields("Category")
xStr = Target.Text
xPFile.ClearAllFilters
xPFile.CurrentPage = xStr
Application.ScreenUpdating = True
End Sub
📝 Notas:
- "Planilha1" é a planilha que contém a Tabela Dinâmica. Ajuste conforme necessário.
- "TabelaDinâmica2" é o nome da sua Tabela Dinâmica. Você pode encontrá-la na guia Analisar Tabela Dinâmica.
- "Categoria" é o campo que você deseja filtrar. Ele deve corresponder exatamente ao nome do campo.
- H6 é a célula de filtragem. Certifique-se de que o valor corresponda a um item na lista de filtros.
- Os valores de filtro devem coincidir caractere por caractere. Espaços extras ou erros de digitação podem causar erros ou resultados em branco.
Passo 4: Pressione Alt + Q para fechar o editor VBA e retornar ao Excel.
Agora, sua Tabela Dinâmica deve filtrar automaticamente para exibir apenas os dados que correspondem ao valor inserido na célula H6. Essa macro é executada toda vez que o valor em H6 muda, facilitando o ajuste dinâmico do resumo dos seus dados.
Você pode modificar o valor na célula de filtro a qualquer momento — a Tabela Dinâmica será atualizada instantaneamente sempre que o conteúdo da célula for alterado ou substituído.
Solução de problemas:
- Certifique-se de que as macros estejam habilitadas em sua pasta de trabalho.
- Verifique novamente se os nomes da planilha, Tabela Dinâmica e campos correspondem à sua configuração real.
- Certifique-se de que o valor de filtro em H6 corresponda exatamente aos valores da Tabela Dinâmica.
- Essa abordagem VBA funciona para filtros de campo único. Para múltiplos campos, é necessário um script adicional.
Fórmula do Excel – Exibir Resultados Filtrados da Tabela Dinâmica com Base em um Valor de Célula
Para usuários que preferem não habilitar macros, o Excel oferece abordagens baseadas em fórmulas para exibir resultados da Tabela Dinâmica com base em um valor de célula específico. Embora funções como GETPIVOTDATA
e FILTER
não alterem as configurações de filtro da Tabela Dinâmica, elas podem referenciar e apresentar dinamicamente resultados de resumo que respondem à entrada do usuário.
Essa solução é especialmente útil ao criar tabelas de resumo personalizadas, dashboards ou relatórios que refletem critérios variáveis inseridos pelo usuário — sem alterar a visualização original da Tabela Dinâmica.
Usando GETPIVOTDATA:
Suponha que sua Tabela Dinâmica (chamada "TabelaDinâmica2") resume vendas por categoria, e o valor do filtro está inserido na célula H6. Você pode usar GETPIVOTDATA
para exibir o total de vendas para a categoria especificada em H6:
1. Selecione a célula onde deseja exibir o resultado do resumo (por exemplo, I6):
=GETPIVOTDATA("Sum of Sales", $A$4, "Category", $H$6)
2. Pressione Enter. Quando você alterar o valor em H6, o resultado em I6 será atualizado automaticamente para refletir o resumo correspondente da Tabela Dinâmica.
Se sua Tabela Dinâmica usar nomes de campos ou layouts diferentes, ajuste a fórmula de acordo. Para gerar automaticamente uma fórmula GETPIVOTDATA
, digite =
em uma célula e clique em uma célula de valor dentro da sua Tabela Dinâmica. O Excel inserirá a fórmula apropriada, que você poderá editar conforme necessário.
Usando FILTER com uma tabela auxiliar:
Se você quiser extrair registros detalhados do seu conjunto de dados original (em vez de apenas resumos da Tabela Dinâmica), e estiver usando o Excel 365 ou Excel 2019, a função FILTER
permite filtragem dinâmica com base no valor de uma célula:
Suponha que seus dados de origem estejam no intervalo A1:C100
e Categoria esteja na coluna A.
1. Selecione a célula inicial onde os registros filtrados devem aparecer (por exemplo, J6):
=FILTER(A2:C100, A2:A100 = H6, "No data")
2. Pressione Enter. As linhas correspondentes serão listadas em células adjacentes, mostrando todos os registros onde a categoria corresponde ao valor em H6. Atualizar H6 atualizará instantaneamente os resultados.
Para combinar agrupamentos da Tabela Dinâmica ou filtrar com base em vários critérios, considere combinar GETPIVOTDATA
e FILTER
, ou estender a fórmula com condições lógicas adicionais.
📝 Dicas & Avisos:
- Essas fórmulas não modificam o filtro real da Tabela Dinâmica. Elas fornecem apenas uma visão separada e dinâmica baseada nos valores das células.
- Para alterar os filtros da Tabela Dinâmica diretamente, é necessário usar VBA.
- Certifique-se de que os nomes de campos usados em
GETPIVOTDATA
correspondam exatamente aos da Tabela Dinâmica (maiúsculas e espaçamento). - Se você vir erros
#REF!
, verifique se suas referências são válidas e se a estrutura da Tabela Dinâmica não foi alterada.
Outros Métodos Incorporados no Excel – Use Filtros Gráficos como Filtros Interativos de Tabela Dinâmica
Se soluções VBA ou baseadas em fórmulas não atendem totalmente ao seu fluxo de trabalho, os Filtros Gráficos do Excel fornecem outro método interativo para filtrar Tabelas Dinâmicas. Os Filtros Gráficos são controles visuais de filtro que permitem aos usuários filtrar dados com uma interface simples de clique. Embora eles não possam ser vinculados diretamente aos valores das células — ou seja, você não pode alterar uma célula para controlar um Filtro Gráfico — eles são intuitivos e altamente eficazes para dashboards e relatórios usados por usuários não técnicos.
Como adicionar e usar um Filtro Gráfico:
- Selecione qualquer célula dentro da sua Tabela Dinâmica.
- Vá para a guia Analisar Tabela Dinâmica (ou guia Analisar em versões anteriores) e clique em Inserir Filtro Gráfico.
- Na caixa de diálogo Inserir Filtros Gráficos, marque o campo pelo qual deseja filtrar (por exemplo, Categoria) e clique em OK.
- O Filtro Gráfico aparecerá na sua planilha. Clique em um botão para filtrar a Tabela Dinâmica por esse valor. Mantenha Ctrl pressionado para selecionar vários itens.
Os Filtros Gráficos podem ser formatados, redimensionados e vinculados a várias Tabelas Dinâmicas para filtragem sincronizada em diferentes relatórios. Eles são especialmente úteis em dashboards ou pastas de trabalho compartilhadas onde os usuários podem não se sentir confortáveis com filtros suspensos, mas ainda precisam filtrar dados facilmente sem usar VBA ou editar fórmulas.
Limitações: Os Filtros Gráficos não suportam vinculação nativa a valores de células. Se o seu fluxo de trabalho exigir filtragem dinâmica controlada pela entrada de células, os Filtros Gráficos devem ser considerados uma ferramenta complementar, e não uma substituta para métodos baseados em VBA ou fórmulas.
Além disso, se seus dados estiverem armazenados em uma Tabela do Excel (não uma Tabela Dinâmica), você ainda pode usar Filtros Gráficos selecionando a tabela e indo até a guia Design da Tabela > Inserir Filtro Gráfico.
Solução de problemas: Se o Filtro Gráfico não parecer filtrar a Tabela Dinâmica, verifique as Conexões de Relatório (abaixo da guia Filtro Gráfico ou Analisar) para garantir que ele esteja conectado corretamente à(s) Tabela(s) Dinâmica(s) pretendida(s).
Cada um dos métodos acima serve a um propósito diferente: o VBA permite filtragem vinculada diretamente à célula, as fórmulas fornecem uma exibição dinâmica dos resultados e os Filtros Gráficos oferecem filtragem gráfica amigável ao usuário. Escolha a abordagem que melhor corresponde às suas necessidades de automação, flexibilidade e facilidade de uso. Os filtros suspensos tradicionais da Tabela Dinâmica permanecem disponíveis como uma opção básica de fallback.
Artigos relacionados:
- Como combinar várias planilhas em uma Tabela Dinâmica no Excel?
- Como criar uma Tabela Dinâmica a partir de um arquivo de texto no Excel?
- Como vincular o filtro de Tabela Dinâmica a uma determinada célula no Excel?
Melhores Ferramentas de Produtividade para Office
Impulsione suas habilidades no Excel com Kutools para Excel e experimente uma eficiência incomparável. Kutools para Excel oferece mais de300 recursos avançados para aumentar a produtividade e economizar tempo. Clique aqui para acessar o recurso que você mais precisa...
Office Tab traz interface com abas para o Office e facilita muito seu trabalho
- Habilite edição e leitura por abas no Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
- Abra e crie múltiplos documentos em novas abas de uma mesma janela, em vez de em novas janelas.
- Aumente sua produtividade em50% e economize centenas de cliques todos os dias!
Todos os complementos Kutools. Um instalador
O pacote Kutools for Office reúne complementos para Excel, Word, Outlook & PowerPoint, além do Office Tab Pro, sendo ideal para equipes que trabalham em vários aplicativos do Office.





- Pacote tudo-em-um — complementos para Excel, Word, Outlook & PowerPoint + Office Tab Pro
- Um instalador, uma licença — configuração em minutos (pronto para MSI)
- Trabalhe melhor em conjunto — produtividade otimizada entre os aplicativos do Office
- Avaliação completa por30 dias — sem registro e sem cartão de crédito
- Melhor custo-benefício — economize comparado à compra individual de add-ins