Curso
Os usuários do Excel geralmente precisam de maneiras flexíveis de resumir dados que respondem a filtros ou agrupamentos. Funções tradicionais como SUM()
, AVERAGE()
ou COUNT()
calculam os resultados com base em todas as células de um intervalo, independentemente de algumas linhas estarem ocultas ou filtradas. A função SUBTOTAL()
oferece uma alternativa dinâmica que ajusta automaticamente os cálculos com base no que está visível no momento em sua planilha.
Se você é novo no Excel e deseja construir uma base sólida antes de explorar funções avançadas como SUBTOTAL()
, nossocurso Introdução ao Excel abrange habilidades essenciais, incluindo navegação em planilhas, fórmulas básicas e técnicas de formatação de dados que o prepararão para trabalhos mais sofisticados no Excel.
O que é a função SUBTOTAL() no Excel?
A função SUBTOTAL()
calcula valores agregados, como soma, média, contagem e outras operações estatísticas em um conjunto de dados. O que a torna diferente das funções padrão do Excel é a forma como ela funciona dinamicamente, alterando seu resultado com base no que está visível ou filtrado. A função pode ignorar tanto as linhas ocultas manualmente quanto as linhas ocultas por meio de filtros, dependendo do número de função que você especificar.
Quando você aplica um filtro aos dados ou oculta manualmente determinadas linhas, o site SUBTOTAL()
ajusta automaticamente o cálculo para incluir apenas as células visíveis. Esse comportamento o torna uma excelente opção para criar linhas de resumo em conjuntos de dados filtrados, criar painéis interativos ou gerar relatórios que precisam ser atualizados com base nas seleções do usuário.
A função suporta as mesmas operações estatísticas que as funções padrão do Excel, incluindo soma, média, contagem, máximo, mínimo e várias outras, mas as reúne em uma única função sensível ao contexto que se adapta ao estado atual dos dados.
Sintaxe e operações suportadas
A função SUBTOTAL()
segue uma estrutura de sintaxe simples:
=SUBTOTAL(function_num, ref1, [ref2], ...)
O primeiro parâmetro, function_num
, determina o tipo de cálculo e como a função lida com as linhas ocultas. Os parâmetros restantes (ref1
, ref2
, etc.) são os intervalos de células que você deseja incluir no cálculo. Você pode especificar até 254 intervalos diferentes.
Os números de função se enquadram em duas categorias distintas com base em como eles tratam as linhas ocultas manualmente:
Número de função |
Operação |
Inclui linhas ocultas manualmente |
Exclui linhas ocultas manualmente |
1 / 101 |
AVERAGE |
1 |
101 |
2 / 102 |
CONTAR |
2 |
102 |
3 / 103 |
COUNTA |
3 |
103 |
4 / 104 |
MAX |
4 |
104 |
5 / 105 |
MIN |
5 |
105 |
6 / 106 |
PRODUTO |
6 |
106 |
7 / 107 |
STDEV |
7 |
107 |
8 / 108 |
STDEVP |
8 |
108 |
9 / 109 |
SUM |
9 |
109 |
10 / 110 |
VAR |
10 |
110 |
11 / 111 |
VARP |
11 |
111 |
Os números de função 1-11 incluem células de linhas ocultas manualmente em seus cálculos, enquanto os números de função 101-111 as excluem. No entanto, ambos os intervalos sempre ignoram as linhas ocultas pelos filtros.
Por exemplo, SUBTOTAL(9, A2:A10)
calcula a soma de A2:A10, incluindo todas as linhas ocultas manualmente, enquanto SUBTOTAL(109, A2:A10)
exclui as linhas ocultas manualmente do cálculo da soma. Em ambos os casos, as linhas filtradas são automaticamente excluídas do resultado.
Exemplo de função SUBTOTAL() em ação
Vamos ver como o SUBTOTAL()
funciona com um exemplo prático usando dados de vendas de uma loja de eletrônicos e móveis.
Conjunto de dados não filtrado. Imagem do autor.
Nossos dados de amostra contêm sete produtos em duas categorias: quatro itens de eletrônicos (laptop, telefone, tablet, monitor) e três itens de móveis (mesa, cadeira, luminária). Sem filtros aplicados, tanto a fórmula SUBTOTAL(109,C2:C8)
quanto a fórmula SUM(C2:C8)
regular mostram o mesmo resultado: 3525 (o total de todas as vendas).
Conjunto de dados filtrado. Imagem do autor.
Agora, aplicamos um filtro para mostrar apenas produtos eletrônicos, ocultando as três linhas de móveis. Observe a principal diferença em nossos resultados de cálculo:
- Fórmula SUBTOTAL mostra 3000 - ajustando automaticamente para somar apenas as linhas visíveis dos eletrônicos
- Fórmula SUM regular ainda mostra 3525 - continuando a incluir os itens ocultos de Mobília
Essa comparação lado a lado demonstra a principal vantagem do SUBTOTAL()
: ele responde dinamicamente a filtros e mudanças na visibilidade dos dados, enquanto funções tradicionais como SUM()
permanecem estáticas. Quando você filtra dados ou oculta linhas, o SUBTOTAL()
recalcula instantaneamente para refletir apenas o que está visível no momento, o que o torna essencial para painéis responsivos e relatórios interativos.
Como SUBTOTAL() funciona com dados ocultos e filtrados
A função SUBTOTAL()
lida com diferentes tipos de dados ocultos de maneiras específicas, o que torna essencial que você entenda esses comportamentos ao criar suas fórmulas.
SUBTOTAL() com linhas filtradas
Quando você aplica um filtro ao seu conjunto de dados, o site SUBTOTAL()
sempre exclui as linhas filtradas dos cálculos, independentemente do número da função que você usar. Esse comportamento é automático e consistente em todos os números de função (nos intervalos de 1 a 11 e de 101 a 111).
Por exemplo, se você tiver dados de vendas de janeiro a dezembro e aplicar um filtro para mostrar somente os meses do primeiro trimestre (janeiro, fevereiro e março), o site SUBTOTAL(9, B2:B13)
calculará a soma somente para esses três meses visíveis, ignorando os dados filtrados do segundo ao quarto trimestre.
SUBTOTAL() com linhas ocultas manualmente
As linhas ocultas manualmente são tratadas de forma diferente, dependendo da escolha do número de função. Quando você clica com o botão direito do mouse nos números das linhas e seleciona "Hide" (Ocultar), você está ocultando manualmente essas linhas.
O uso dos números de função 1-11 inclui essas linhas ocultas manualmente nos cálculos. O uso dos números de função 101-111 os exclui. Isso dá a você controle sobre se os dados ocultos devem afetar seus resultados.
SUBTOTAL() com intervalos horizontais e verticais
A função SUBTOTAL()
funciona melhor com intervalos de dados verticais (colunas de dados). Embora possa lidar com intervalos horizontais, seu comportamento de ocultação é otimizado para operações baseadas em linhas, uma vez que os recursos de filtragem e ocultação de linhas do Excel funcionam verticalmente.
Quando você aninha fórmulas SUBTOTAL()
no mesmo intervalo, a função ignora automaticamente outros resultados SUBTOTAL()
para evitar a contagem dupla. Isso é especialmente útil ao criar resumos hierárquicos ou subtotais dentro de grupos, garantindo que os totais reflitam com precisão cada agrupamento distinto sem duplicação.
Usos avançados da função SUBTOTAL()
Criando um resumo dinâmico de menu suspenso com SUBTOTAL()
Você pode combinar o site SUBTOTAL()
com a função IF()
para criar resumos interativos que mudam com base na seleção do usuário. Essa abordagem usa uma lista suspensa para permitir que os usuários alternem entre diferentes tipos de cálculo.
Para criar um resumo dinâmico suspenso, primeiro configure um menu suspenso na célula D1
com opções como "Sum"
, "Average"
, "Count"
e "Max"
.
Em seguida, use a seguinte fórmula em outra célula (por exemplo, D2
) para ajustar dinamicamente o cálculo com base na seleção do usuário:
=IF(D1="Sum",SUBTOTAL(109,A2:A10),
IF(D1="Average",SUBTOTAL(101,A2:A10),
IF(D1="Count",SUBTOTAL(103,A2:A10),
IF(D1="Max",SUBTOTAL(104,A2:A10),"Select Option"))))
Essa fórmula avalia a seleção do menu suspenso e aplica a função SUBTOTAL()
correspondente. Os usuários podem alternar entre os tipos de cálculo sem editar as fórmulas, tornando os relatórios mais interativos e fáceis de usar.
SUBTOTAL() em tabelas e esboços do Excel
As tabelas do Excel usam automaticamente o endereço SUBTOTAL()
no recurso Total de linhas. Quando você converte seu intervalo de dados em uma tabela (Ctrl+T) e ativa a linha de total, o Excel insere SUBTOTAL(109, …)
por padrão para cálculos de soma. Esse Total Row é atualizado dinamicamente sempre que as linhas são filtradas, ajustando instantaneamente os resultados para refletir apenas os dados visíveis.
Você pode alterar o tipo de cálculo clicando na seta suspensa em qualquer célula da linha Total e selecionando diferentes opções, como Contagem, Média, Máximo ou Mínimo. O Excel atualiza automaticamente o número da função enquanto mantém a estrutura SUBTOTAL()
.
O recurso Outline (Data > Subtotal) também se baseia nas fórmulas do site SUBTOTAL()
. Quando você agrupa dados e insere subtotais, o Excel coloca automaticamente as funções SUBTOTAL()
em cada quebra de grupo. Isso cria resumos hierárquicos que respondem corretamente quando você expande ou retrai os níveis de contorno, já que a função ignora os resultados de subtotais aninhados.
Armadilhas e limitações comuns
Compreender os erros e as limitações comuns do SUBTOTAL()
ajuda você a evitar erros de cálculo e a escolher a abordagem certa para suas necessidades de análise de dados.
-
Erro #VALUE! com números de função inválidos: O erro mais frequente ocorre quando você usa um número de função inválido. O site
SUBTOTAL()
aceita apenas os números de função 1-11 e 101-111. O uso de números como 12, 50 ou 200 retorna um erro #VALUE! Sempre verifique se o número da função corresponde a uma operação válida dos intervalos suportados.
-
Comportamento de colunas ocultas versus linhas ocultas: Embora o
SUBTOTAL()
responda a linhas ocultas com base na escolha do número da função, ele não tem o mesmo comportamento com colunas ocultas. A função inclui dados de colunas ocultas em todos os cálculos, independentemente de você usar os números de função 1-11 ou 101-111. Essa limitação significa que você precisa de abordagens alternativas ao trabalhar com conjuntos de dados em que a visibilidade da coluna afeta sua análise.
-
Não há suporte para referências 3D: Ao contrário de muitas funções do Excel, o site
SUBTOTAL()
não pode fazer referência a intervalos em várias planilhas. Fórmulas comoSUBTOTAL(109, Sheet1:Sheet3!A1:A10)
retornam erros. Como solução alternativa, você pode calcular primeiro as somas ou outros agregados separadamente em cada planilha usando funções padrão comoSUM()
e, em seguida, consolidar esses resultados intermediários com um único SUBTOTAL em uma planilha de resumo.
-
Os valores de erro permanecem nos cálculos: o site
SUBTOTAL()
não ignora as células que contêm valores de erro como #N/A, #DIV/0! ou #VALUE! Esses erros se propagam pelos cálculos do subtotal, podendo invalidar todos os resultados. Limpe os erros dos seus dados antes de aplicar oSUBTOTAL()
ou considere usar a funçãoAGGREGATE()
, que pode ignorar os valores de erro.
-
A orientação vertical dos dados funciona melhor: Embora o site
SUBTOTAL()
possa lidar com intervalos horizontais, seu design é otimizado para estruturas de dados verticais. Os recursos de filtragem, classificação e ocultação do Excel funcionam linha por linha, tornando as disposições verticais mais compatíveis com o comportamento pretendido pela função.
Subtotal() vs. AGGREGATE()
A função AGGREGATE()
funciona como uma alternativa aprimorada ao SUBTOTAL()
com recursos adicionais para tratamento de erros e mais operações estatísticas. Enquanto o SUBTOTAL()
oferece 11 operações básicas, o AGGREGATE()
oferece 19 funções diferentes, incluindo cálculos de percentis, quartis e mediana.
A principal vantagem do AGGREGATE()
está em seus recursos de tratamento de erros. Ao contrário do SUBTOTAL()
, que inclui valores de erro nos cálculos, o AGGREGATE()
pode ignorar automaticamente as células que contêm erros como #N/A
, #DIV/0!
ou #VALUE!
. Isso o torna particularmente útil para conjuntos de dados com dados incompletos ou problemáticos.
AGGREGATE()
também oferece um controle mais detalhado sobre o que deve ser ignorado. Você pode configurá-lo para ignorar linhas ocultas, subtotais aninhados, valores de erro ou qualquer combinação desses elementos usando seu parâmetro de opções.
Dicas profissionais ao usar SUBTOTAL()
Sempre classifique primeiro
Ao usar o recurso interno do Excel, Dados > Subtotal, classifique seus dados primeiro pela coluna de agrupamento. Isso garante que todos os registros relacionados apareçam juntos, criando intervalos de grupos limpos para os seus cálculos de subtotal. Dados não classificados produzem subtotais dispersos que não fornecem resumos significativos.
Use rótulos na primeira linha de colunas
Coloque cabeçalhos descritivos na primeira linha do intervalo de dados antes de aplicar subtotais. O Excel usa esses rótulos para criar descrições significativas de subtotais e facilitar a interpretação dos relatórios. Os cabeçalhos de coluna claros também ajudam na seleção de intervalos para fórmulas manuais do SUBTOTAL()
.
Esteja ciente do posicionamento do resumo (acima ou abaixo)
A ferramenta Subtotal do Excel coloca as linhas de resumo abaixo de cada grupo por padrão, mas você pode optar por colocá-las acima. Considere o uso pretendido do seu relatório ao fazer essa escolha. As linhas de resumo acima dos grupos funcionam bem para painéis executivos, enquanto as linhas de resumo abaixo dos grupos se alinham aos formatos tradicionais de contabilidade.
Ocultar vs. filtrar linhas para um controle preciso
Entenda a diferença entre filtrar e ocultar manualmente as linhas para obter os resultados esperados. Use filtros quando você quiser que o SUBTOTAL()
ignore temporariamente determinados dados. Use a ocultação manual (clique com o botão direito do mouse > Ocultar) quando você quiser exclusões mais permanentes e, em seguida, escolha os números de função 101-111 para respeitar o estado oculto.
Essa abordagem oferece a você um controle em camadas: filtre as exibições de dados temporários, oculte manualmente as exclusões semipermanentes e selecione os números de função apropriados para atender às suas intenções de ocultação.
Conclusão
Aprender a usar o SUBTOTAL()
transforma efetivamente a forma como você aborda a análise de dados no Excel. Em vez de criar cálculos estáticos que quebram quando os dados são alterados, você pode criar fórmulas resilientes que se adaptam automaticamente às ações do usuário e às modificações de dados. Essa habilidade se torna particularmente valiosa ao trabalhar com grandes conjuntos de dados ou ao criar relatórios que vários usuários filtrarão e manipularão ao longo do tempo.
Para desenvolver um conhecimento abrangente do Excel, além de funções individuais como SUBTOTAL()
, nossatrilha de habilidades em Fundamentos do Excel oferece um caminho estruturado de 16 horas de aprendizagem que leva você da preparação de dados até técnicas avançadas de análise e visualização. Para os leitores prontos para explorar os aplicativos analíticos imediatamente, nosso curso Análise de dados no Excel ensina o domínio da tabela dinâmica e das funções lógicas avançadas para obter insights mais profundos.
Como um profissional experiente em ciência de dados, machine learning e IA generativa, Vinod se dedica a compartilhar conhecimento e capacitar aspirantes a cientistas de dados para que tenham sucesso nesse campo dinâmico.
Perguntas frequentes
Por que devo usar o número de função 109 em vez de 9 em SUBTOTAL()?
A função número 9 inclui linhas ocultas manualmente nos cálculos, enquanto a 109 as exclui. Escolha 109 quando você quiser que as linhas filtradas e ocultas manualmente sejam ignoradas.
Qual é a diferença entre SUBTOTAL() e SUM() no Excel?
SUBTOTAL()
exclui automaticamente as linhas filtradas dos cálculos, enquanto SUM()
inclui todas as células, independentemente da filtragem. SUBTOTAL()
também ignora outras fórmulas de subtotal para evitar contagem dupla.
SUBTOTAL() pode trabalhar com dados em várias planilhas?
Não, o site SUBTOTAL()
só funciona com intervalos dentro da mesma planilha e não é compatível com referências 3D. Use funções alternativas como SUM()
para cálculos em várias planilhas.
Posso usar SUBTOTAL() com intervalos de dados horizontais?
Sim, mas o site SUBTOTAL()
funciona melhor com dados verticais, pois os recursos de filtragem e ocultação do Excel operam em linhas. Os intervalos horizontais podem não se comportar como esperado com a lógica de visibilidade da função.
Quantos intervalos posso incluir em uma única fórmula SUBTOTAL()?
Você pode especificar até 254 intervalos diferentes em uma fórmula SUBTOTAL()
. Cada intervalo é adicionado como um parâmetro separado após o número da função.
Quando devo escolher AGGREGATE() em vez de SUBTOTAL()?
Use o AGGREGATE()
quando os dados contiverem valores de erro que precisem ser excluídos ou quando você precisar de funções estatísticas além das 11 operações básicas oferecidas pelo SUBTOTAL()
. O SUBTOTAL()
é mais simples para conjuntos de dados limpos com cálculos padrão.