KutoolsforOffice — Uma solução, cinco ferramentas poderosas.Fazer mais com menos esforço.

Como filtrar uma Tabela Dinâmica com base num valor específico de uma célula no Excel?

AutoraSiluvia Data de Modificação

No Excel, as Tabelas Dinâmicas são amplamente utilizadas para resumir, analisar e explorar dados de forma eficiente. Por predefinição, a filtragem numa Tabela Dinâmica é geralmente feita ao selecionar os itens pretendidos no menu pendente do filtro. Embora esta abordagem ofereça flexibilidade, existem cenários em que é necessária uma filtragem mais dinâmica — por exemplo, poderá querer que os resultados da Tabela Dinâmica se atualizem automaticamente com base no valor introduzido numa célula específica da folha de cálculo. Esta funcionalidade revela-se especialmente útil ao criar painéis de controlo, automatizar fluxos de trabalho ou desenvolver relatórios interativos para utilizadores finais que possam não estar familiarizados com a filtragem manual.

O Excel não inclui uma funcionalidade nativa que ligue diretamente o valor de uma célula a um filtro de Tabela Dinâmica (sem recorrer a código). No entanto, existem várias abordagens práticas para cumprir este objetivo, cada uma com as suas vantagens e aspetos a considerar. Este tutorial começa por apresentar um método simples em VBA que associa uma célula a um filtro de Tabela Dinâmica, garantindo que esta é atualizada automaticamente sempre que o valor da célula for alterado. Além disso, exploramos alternativas como o uso de fórmulas do Excel (por exemplo, OBTERDADOSPDC ou FILTRAR) para exibir resultados filtrados, bem como a utilização de Segmentações de Dados como controlos visuais de filtragem. Conhecer estas opções permite-lhe escolher a solução mais adequada ao seu fluxo de trabalho no Excel e à experiência do utilizador.

Uma captura de ecrã que mostra uma Tabela Dinâmica com um filtro de lista pendente no Excel


Filtrar Tabela Dinâmica com base num valor específico de célula com código VBA

Se pretende uma interatividade verdadeiramente dinâmica — ou seja, quando digita um valor numa célula e o filtro da Tabela Dinâmica responde automaticamente a essa alteração — o VBA oferece uma solução direta. Esta abordagem é especialmente útil em painéis de controlo, modelos partilhados com colegas ou situações que exigem ajustes rápidos de filtros bastando alterar apenas uma célula. Contudo, este método exige conhecimentos básicos do editor VBA e, tal como todas as macros, o seu livro deve ser guardado num formato compatível com macros ().xlsm).

O código VBA seguinte permite-lhe ligar dinamicamente uma célula da folha de cálculo a um filtro de Tabela Dinâmica. Siga estes passos com atenção e certifique-se de ajustar o nome da folha, o nome da Tabela Dinâmica e a referência do campo conforme necessário no seu livro:

Passo 1:Introduza o valor pelo qual pretende filtrar a sua Tabela Dinâmica numa célula da folha de cálculo (por exemplo, digite ou selecione o valor de filtragem na célula)H6).

Passo 2: Abra a folha de cálculo que contém a sua Tabela Dinâmica de destino. Clique com o botão direito do rato no separador da folha, na parte inferior do Excel, e selecione Ver Código no menu de contexto. Isto abre a janela do editor VBA para a folha de cálculo.

Uma captura de ecrã que mostra a opção Ver Código para uma folha de cálculo no Excel

Passo 3:Na janela aberta do Microsoft Visual Basic para Aplicações(VBA), cole o seguinte código no módulo de código da folha de cálculo (não num módulo normal):

Código VBA: Filtrar Tabela Dinâmica com base no valor da célula

Private Sub Worksheet_Change(ByVal Target As Range)
'Atualizado por 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("= 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:

  • «Sheet1» é a folha de cálculo que contém a Tabela Dinâmica. Ajuste conforme necessário.
  • «PivotTable2» é o nome da sua Tabela Dinâmica. Pode encontrá-lo no separador Análise de Tabela Dinâmica.
  • «Category» é o campo que pretende filtrar. Deve corresponder exatamente ao nome da condição.
  • H6 é a célula de filtragem. Certifique-se de que o valor corresponde a um item na lista de filtros.
  • Os valores do filtro devem corresponder caráter por caráter. Espaços adicionais ou erros ortográficos podem provocar erros ou resultados em branco.

Passo 4: Prima Alt + Q para fechar o editor VBA e regressar ao Excel.

Agora, a sua Tabela Dinâmica filtra automaticamente para mostrar apenas os dados que correspondem ao valor introduzido na célula H6. Esta macro é executada sempre que o valor em H6 muda, permitindo um ajuste dinâmico e imediato do seu resumo de dados.

Tabela Dinâmica filtrada com base num valor específico de célula

Pode alterar o valor na célula de filtro a qualquer momento — a Tabela Dinâmica atualiza-se instantaneamente sempre que o conteúdo da célula for modificado ou substituído.

Resultado da alteração do valor da célula de filtro para a Tabela Dinâmica

Resolução de problemas:

  • Certifique-se de que as macros estão ativadas no seu livro.
  • Verifique novamente se a folha de cálculo, a Tabela Dinâmica e o nome da condição correspondem à sua configuração real.
  • Certifique-se de que o valor do filtro em H6 corresponda exatamente aos valores da Tabela Dinâmica.
  • Esta abordagem VBA funciona para filtros de campo único; para vários campos, é necessária programação adicional.

Fórmula do Excel – Apresentar Resultados Filtrados da Tabela Dinâmica com Base num Valor de Célula

Para utilizadores que preferem não ativar macros, o Excel oferece abordagens baseadas em fórmulas para apresentar resultados da Tabela Dinâmica com base num valor específico de célula. Embora funções como OBTERDADOSPDC e FILTRAR não alterem efetivamente as definições de filtro da Tabela Dinâmica, conseguem referenciar e apresentar dinamicamente resultados resumidos que respondem à entrada do utilizador.

Esta solução é especialmente útil para criar tabelas resumo personalizadas, painéis de controlo ou relatórios que refletem critérios em constante mudança definidos pelo utilizador — tudo isto sem alterar a vista original da Tabela Dinâmica.

Utilização da função OBTERDADOSPDC:

Suponha que a sua Tabela Dinâmica (denominada)«PivotTable2») resume as vendas por categoria e que o valor do filtro está na célula H6. Pode utilizar a função OBTERDADOSPDC para apresentar as vendas totais da categoria especificada em H6:

1.Selecione a célula onde pretende apresentar o resultado resumido (por exemplo,)I6):

=GETPIVOTDATA("Sum of Sales", $A$4, "Category", $H$6)

2. Prima Enter. Quando alterar o valor em H6, o resultado em I6 será atualizado automaticamente para refletir o resumo correspondente da Tabela Dinâmica.

Se a sua Tabela Dinâmica utilizar nomes de campo ou esquemas diferentes, ajuste a fórmula em conformidade. Para gerar automaticamente uma fórmula OBTERDADOSPDC, digite = numa célula e, em seguida, clique numa célula com valor da sua Tabela Dinâmica. O Excel insere automaticamente a fórmula adequada, que pode editar conforme necessário.

Utilização da função FILTRAR com uma Tabela Auxiliar:

Se pretender extrair registos detalhados do seu conjunto de dados original (em vez de apenas resumos da Tabela Dinâmica), e estiver a utilizar o Excel 365 ou o Excel 2019, a função FILTRARpermite-lhe efetuar uma filtragem dinâmica com base num valor de célula:

Assuma que os seus dados de origem estão no intervalo A1:C100 e que a coluna Categoria está na coluna A.

1.Selecione a célula inicial onde os registos filtrados deverão aparecer (por exemplo,)J6):

=FILTER(A2:C100, A2:A100 = H6, "No data")

2. Prima Enter. As linhas correspondentes serão preenchidas nas células adjacentes, listando todos os registos cuja categoria corresponda ao valor em H6. Ao atualizar H6, os resultados são imediatamente atualizados.

Para corresponder a agrupamentos de Tabela Dinâmica ou filtrar com base em múltiplos critérios, considere combinar GETPIVOTDATA e FILTER, ou alargar a fórmula com condições lógicas adicionais.

📝 Dicas e Avisos:

  • Estas fórmulas não alteram o filtro real da Tabela Dinâmica — apenas oferecem uma vista dinâmica e independente, baseada nos valores das células.
  • Para alterar diretamente os filtros da Tabela Dinâmica, é necessário recorrer ao VBA.
  • Certifique-se de que os Nomes das condições utilizados em OBTERDADOSPDC correspondem exatamente aos da Tabela Dinâmica (incluindo maiúsculas, minúsculas e espaçamento).
  • Se vir erros #REF!, verifique se as suas referências são válidas e se a estrutura da Tabela Dinâmica não foi alterada.

Outros métodos incorporados do Excel – Utilize Segmentadores como filtros interativos de Tabela Dinâmica

Se as soluções baseadas em VBA ou fórmulas não se adaptarem totalmente ao seu fluxo de trabalho, os Segmentadores do Excel oferecem uma alternativa interativa para filtrar Tabelas Dinâmicas. Os Segmentadores são controlos visuais de filtro que permitem aos utilizadores filtrar dados através de uma interface simples e intuitiva, baseada em apontar e clicar. Embora não possam ser ligados diretamente a valores de células — o que significa que não é possível controlar um Segmentador alterando o conteúdo de uma célula —, são extremamente intuitivos e eficazes em painéis e relatórios destinados a utilizadores não técnicos.

Como adicionar e utilizar um Segmentador:

  1. Selecione qualquer célula dentro da sua Tabela Dinâmica.
  2. Aceda ao separador Análise de Tabela Dinâmica(ou ao separador)Analisar em versões anteriores) e clique em Inserir Segmentação de Dados.
  3. Na caixa de diálogo Inserir Segmentações de Dados, marque o campo pelo qual pretende filtrar (por exemplo,)Categoria) e, em seguida, clique em OK.
  4. A Segmentação de Dados aparecerá na sua folha de cálculo. Clique num botão para filtrar a Tabela Dinâmica por esse valor. Mantenha premida a tecla Ctrl para selecionar vários itens.

Os Segmentadores podem ser formatados, redimensionados e ligados a múltiplos Tabela Dinâmica para permitir filtragem sincronizada em diferentes relatórios. São especialmente úteis em painéis ou livros partilhados onde os utilizadores podem não estar à vontade com filtros suspensos, mas ainda precisam de filtrar dados facilmente sem recorrer a VBA ou editar fórmulas.

Limitações: Os Segmentadores não suportam ligação nativa a valores de células. Se o seu fluxo de trabalho exigir filtragem dinâmica controlada por uma entrada numa célula, os Segmentadores devem ser vistos como uma ferramenta complementar — e não como substituto dos métodos baseados em VBA ou fórmulas.

Adicionalmente, se os seus dados estiverem armazenados numa Tabela do Excel (e não numa Tabela Dinâmica), ainda pode utilizar Segmentadores: basta selecionar a tabela e aceder ao separador Estrutura da Tabela > Inserir Segmentador.

Resolução de problemas: Se o Segmentador não parecer estar a filtrar a Tabela Dinâmica, verifique as Ligações do Relatório(no separador)Segmentador ou Analisar) para garantir que está corretamente ligado à(s) Tabela(s) Dinâmica(s) pretendida(s).

Cada um dos métodos acima cumpre um propósito distinto: o VBA permite uma filtragem diretamente ligada a células, as fórmulas garantem uma apresentação dinâmica dos resultados e os Segmentadores oferecem uma filtragem gráfica intuitiva e fácil de usar. Escolha a abordagem que melhor se adapte às suas necessidades em termos de automatização, flexibilidade e facilidade de utilização. Os filtros suspensos tradicionais de Tabela Dinâmica permanecem disponíveis como opção básica.

Artigos relacionados:

As Melhores Ferramentas de Produtividade para o Office

🤖KUTOOLS AI Assistente: Revolucione o Análise de Dados com base em:Execução Inteligente   |  Gerar Código|  Criar fórmulas personalizadas  |  Analisar Dados e Gerar Gráficos|  Invocar Funções Aprimoradas
Funcionalidades Populares:Localizar, Destacar ou Marcar Duplicatas   |  Excluir linhas em branco   |  Combinar Colunas ou Células sem Perder Dados   |   Arredondamento sem usar fórmula...
Super PROC:VLookup com Múltiplos Critérios  |  VLookup com Múltiplos Valores  |   VLookup em Múltiplas Folhas   |   Correspondência Fuzzy....
Lista Suspensa Avançada:Criar Rapidamente Lista de Seleção   |  Lista de Seleção Dependente   |  Lista de Seleção com Múltipla Escolha....
Gestor de Colunas:Adicionar um Número Específico de Colunas|Mover Colunas|Alternar Estado de Visibilidade de Colunas Ocultas|Comparar Intervalos e Colunas...
Funcionalidades em Destaque:Grade de foco   |  Visualização de Design   |Barra de fórmulas aprimorada   | Gestor de Pastas de Trabalho e Folhas   |  Biblioteca de Recursos(Texto Automático)|  Seleção de Data   |  Consolidar Planilhas  |  Encriptar/Descriptografar Células   | Enviar Emails por Lista   |  Super Filtro   |   Filtro Especial(Filtrar Células com Fonte em Negrito/itálico/rasurado...) ...
Principais Conjuntos de Ferramentas 15:12 Ferramentasde Texto(Adicionar Texto,Excluir Caracteres Específicos, ...)|   50+Tiposde Gráfico(Gráfico de Gantt, ...)|   40+ Fórmulas Práticas(Calcular a idade com base na data de nascimento, ...)|   19 Ferramentasde Inserção(Inserir QR Code,Inserir Imagem a Partir do Caminho, ...)|   12 Ferramentasde Conversão(Converter em Palavras,Conversão de moeda, ...)|   7 Ferramentasde Mesclar e Dividir(Mesclar Linhas Avançado,Dividir Células, ...)|... e muito mais
Utilize o Kutools na sua língua preferida – suporta inglês, espanhol, alemão, francês, chinês e mais 40+ idiomas!

Potencie as suas competências no Excel com Kutools para Excel e experimente uma eficiência como nunca antes.Kutools para Excel Oferece mais de 300 funcionalidades avançadas para impulsionar a produtividade e Economizar Tempo.Clique aqui para obter a funcionalidade de que mais precisa...


Office Tab Traz uma interface com separadores para o Office e torna o seu trabalho muito mais fácil

  • Ative a edição e leitura com separadores no Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
  • Abra e crie vários documentos em novos separadores da mesma janela, em vez de em janelas separadas.
  • Aumente a sua produtividade em 50 % e elimine centenas de cliques do rato todos os dias!

Todos os suplementos Kutools — num único instalador.

Kutools for Office reúne suplementos para Excel, Word, Outlook e PowerPoint, além do Office Tab Pro, sendo a solução ideal para equipas que trabalham em várias aplicações do Office.

ExcelWordOutlookTabsPowerPoint
  • Pacote tudo-em-um— suplementos para Excel, Word, Outlook e PowerPoint + Office Tab Pro
  • Um instalador, uma licença— configuração em minutos (pronto para MSI)
  • Funciona melhor em conjunto— produtividade simplificada em todas as aplicações do Office
  • Teste gratuito de 30 dias com todas as funcionalidades— sem registo, sem cartão de crédito
  • Melhor relação qualidade-preço— poupe face à compra individual dos suplementos