Skip to main content

Como calcular a mediana se houver várias condições no Excel?

Author: Sun Last Modified: 2025-08-06

Calcular a mediana de um conjunto de dados no Excel é uma operação frequentemente necessária na análise e elaboração de relatórios de dados. Embora encontrar a mediana para um intervalo simples possa ser feito rapidamente usando funções padrão do Excel, muitas vezes surgem situações em que você precisa do valor da mediana apenas dos dados que atendem a múltiplos critérios específicos — por exemplo, encontrar o valor mediano das vendas de um produto específico em uma data específica dentro de um grande conjunto de dados. Lidar com essas operações complexas e condicionais apenas com funções tradicionais pode ser desafiador. Neste tutorial, apresentaremos várias soluções práticas para calcular a mediana com múltiplas condições no Excel, explorando tanto abordagens baseadas em fórmulas quanto automação usando VBA para necessidades avançadas.


Calcular a mediana se atender a múltiplas condições

Suponha que você tenha um intervalo de dados conforme mostrado abaixo, e sua tarefa seja determinar o valor mediano que atenda a dois critérios: por exemplo, determinar o valor mediano da coluna B onde a coluna A tem o valor "a" e a coluna C tem a data "2-Jan". Esse cenário é especialmente comum em relatórios de vendas, resultados de testes de classe e outras análises de dados acadêmicos ou comerciais onde é necessário filtrar por várias categorias.

a screenshot of the original data

Para maior clareza, vamos preparar a planilha da seguinte forma: Na sua planilha do Excel, insira suas condições e crie um layout semelhante à imagem abaixo. Aqui, a coluna E lista os critérios para a coluna A, e a linha 1 das colunas F e seguintes representam os critérios de data da coluna C.

a screenshot of typing new required data

Para calcular a mediana atendendo a múltiplos critérios, você pode usar uma fórmula matricial que aproveita as funções MEDIANA E SE para construir uma lista filtrada de valores com base em suas condições. Aqui está como fazer isso:

1. Clique na célula F2, onde deseja que o resultado da mediana apareça, e insira a seguinte fórmula:

=MEDIAN(IF($A$2:$A$12=$E2,IF($C$2:$C$12=F$1,$B$2:$B$12)))

Essa fórmula funciona verificando, para cada linha, se o valor na coluna A corresponde à condição em E2 e se o valor na coluna C corresponde ao cabeçalho em F1. Se ambas as condições forem satisfeitas, ela coleta o valor na coluna B para o cálculo da mediana.

2. Após inserir a fórmula, pressione Ctrl + Shift + Enter (não apenas Enter), pois esta é uma fórmula matricial. O Excel automaticamente envolverá a fórmula com chaves { } para indicar uma fórmula matricial.

3. Arraste a alça de preenchimento do canto inferior direito de F2 para copiar a fórmula para outras células relevantes onde você precisa de medianas sob diferentes condições, conforme mostrado abaixo:

a screenshot of using the formula

Explicações de parâmetros e dicas de uso: Na fórmula, $A$2:$A$12 é o intervalo contendo a primeira condição (como nomes de produtos), $C$2:$C$12 é o intervalo para a segunda condição (como datas), e $B$2:$B$12 é o intervalo contendo os valores numéricos para os quais você deseja a mediana. Ajuste esses intervalos conforme necessário para sua própria planilha. Sempre use referências absolutas ($ símbolos) para garantir que os intervalos não mudem ao copiar a fórmula.

Precauções: Se nenhum valor atender a ambas as condições, a fórmula retornará um erro #NÚM!. Para evitar confusão, você pode aninhar a fórmula dentro de SEERRO para retornar um espaço vazio ou uma mensagem personalizada:

=IFERROR(MEDIAN(IF($A$2:$A$12=$E2,IF($C$2:$C$12=F$1,$B$2:$B$12))),"No match")

Certifique-se de que seus dados não contenham células vazias ou valores não numéricos na coluna da mediana, pois isso também pode afetar os resultados.

Essa abordagem baseada em fórmulas é adequada quando você tem condições relativamente simples (normalmente até duas ou três condições). É rápido de configurar e não requer habilidades de programação. No entanto, para filtragem complexa com condições dinâmicas ou conjuntos de dados maiores, manter ou editar fórmulas matriciais pode se tornar complicado.


Código VBA - Calcular a mediana com múltiplas condições

Para cenários em que você precisa automatizar o cálculo da mediana condicional — como quando há muitas condições, grandes conjuntos de dados ou os próprios critérios mudam frequentemente — uma solução em VBA pode oferecer uma alternativa prática. Usando o VBA, você pode criar uma macro reutilizável que calcula a mediana com base em qualquer número de condições. Soluções baseadas em VBA são especialmente úteis se você deseja simplificar análises repetitivas ou desenvolver processos personalizados do Excel para relatórios e dashboards.

Siga estes passos para usar o VBA no cálculo da mediana condicional:

1. Clique em Ferramentas de Desenvolvedor > Visual Basic. Uma nova janela Microsoft Visual Basic for Applications será aberta. Clique em Inserir > Módulo, depois cole o seguinte código no Módulo:

Sub ConditionalMedian()
    Dim DataRange As Range
    Dim CriteriaRange1 As Range
    Dim CriteriaRange2 As Range
    Dim OutputRange As Range
    Dim Criteria1 As Variant
    Dim Criteria2 As Variant
    Dim TempArr() As Double
    Dim i As Long
    Dim j As Long
    Dim count As Long
    
    On Error Resume Next
    xTitleId = "KutoolsforExcel"
    
    Set DataRange = Application.InputBox("Select the range containing median values (e.g., B2:B12):", xTitleId, "", Type:=8)
    Set CriteriaRange1 = Application.InputBox("Select the first criteria range (e.g., A2:A12):", xTitleId, "", Type:=8)
    Criteria1 = Application.InputBox("Enter the first criteria value (e.g., a):", xTitleId, "", Type:=2)
    Set CriteriaRange2 = Application.InputBox("Select the second criteria range (e.g., C2:C12):", xTitleId, "", Type:=8)
    Criteria2 = Application.InputBox("Enter the second criteria value (e.g.,2-Jan):", xTitleId, "", Type:=2)
    Set OutputRange = Application.InputBox("Select the cell to output the result:", xTitleId, "", Type:=8)
    
    count = 0
    For i = 1 To DataRange.Rows.count
        If StrComp(CStr(CriteriaRange1.Cells(i, 1).Value), CStr(Criteria1), vbTextCompare) = 0 And _
           CStr(CriteriaRange2.Cells(i, 1).Value) = CStr(Criteria2) Then
            ReDim Preserve TempArr(count)
            TempArr(count) = DataRange.Cells(i, 1).Value
            count = count + 1
        End If
    Next i
    
    If count = 0 Then
        OutputRange.Value = "No match"
    Else
        Call QuickSort(TempArr, LBound(TempArr), UBound(TempArr))
        If count Mod 2 = 1 Then
            OutputRange.Value = TempArr(count \ 2)
        Else
            OutputRange.Value = (TempArr(count \ 2) + TempArr(count \ 2 - 1)) / 2
        End If
    End If
End Sub

Sub QuickSort(arr() As Double, first As Long, last As Long)
    Dim i As Long
    Dim j As Long
    Dim pivot As Double
    Dim temp As Double
    
    i = first
    j = last
    pivot = arr((first + last) \ 2)
    
    Do While i <= j
        Do While arr(i) < pivot
            i = i + 1
        Loop
        
        Do While arr(j) > pivot
            j = j - 1
        Loop
        
        If i <= j Then
            temp = arr(i)
            arr(i) = arr(j)
            arr(j) = temp
            i = i + 1
            j = j - 1
        End If
    Loop
    
    If first < j Then
        QuickSort arr, first, j
    End If
    
    If i < last Then
        QuickSort arr, i, last
    End If
End Sub

2. Clique no Run button botão (ou pressione F5) para executar o código. Você será solicitado a selecionar cada um dos intervalos necessários e inserir seus critérios. Após completar os prompts, o resultado (a mediana que atende a todos os critérios) será exibido na célula de destino especificada.

Essa macro permite que você selecione flexivelmente o intervalo de valores, intervalos de critérios, valores de critérios e onde exibir o resultado sempre que ela for executada. Você também pode adaptar facilmente o código para incluir mais condições, se necessário.

Dicas e solução de problemas: Ao usar soluções em VBA, certifique-se de que todos os intervalos selecionados tenham comprimentos iguais e que os critérios correspondam ao tipo de dado correto e formatação (por exemplo, texto vs. datas). Se nenhum valor atender aos critérios, a saída exibirá "Sem correspondência." Para maior estabilidade, salve sua pasta de trabalho antes de executar a macro e sempre habilite macros quando solicitado. Essa solução em VBA é adequada para usuários familiarizados com configurações de segurança de macro e para uso em fluxos de trabalho automatizados do Excel.

Em resumo, a abordagem em VBA automatiza cálculos complexos de mediana que são trabalhosos ou difíceis de realizar apenas com fórmulas. É especialmente adequada ao lidar com condições variáveis, recálculos frequentes e grandes conjuntos de dados.


Artigos Relacionados:


Melhores Ferramentas de Produtividade para Office

🤖 Kutools AI Aide: Revolucione a análise de dados com base em: Execução Inteligente|Gerar Código |Criar Fórmulas Personalizadas|Analisar Dados e Gerar Gráficos |Acionar Funções Aprimoradas
Recursos populares: Encontrar, Destacar ou Marcar Duplicados|Excluir Linhas em Branco|Combinar Colunas ou Células sem perder dados| Arredondar...
Super PROC: PROC com múltiplos critérios|PROC com múltiplos valores|Procura em várias planilhas|Correspondência Fuzzy....
Lista Suspensa Avançada: Crie rapidamente Lista Suspensa|Lista Suspensa Dependente|Lista Suspensa com Múltipla Seleção....
Gerenciador de Colunas: Adicionar um número específico de colunas |Mover Colunas |Alternar o Estado de Visibilidade de Colunas Ocultas| Comparar Intervalo & Colunas...
Recursos em Destaque: Grade de foco|Visualização de Design|Barra de fórmulas aprimorada|Gerenciador de Pasta de Trabalho & Planilha|Biblioteca de AutoTexto|Selecionador de Data|Mesclar Dados |Criptografar/Descriptografar Células|Enviar Email por Lista|Super Filtro|Filtro Especial (filtrar negrito/itálico/tachado...)...
Top15 Conjuntos de Ferramentas:12 Ferramentas de Texto (Adicionar Texto, Excluir Caracteres Específicos, ... ) |Mais de50 Tipos de Gráficos (Gráfico de Gantt, ... ) |Mais de40 Fórmulas Práticas (Calcular a idade com base na data de nascimento, ... ) |19 Ferramentas de Inserção (Inserir Código QR, Inserir Imagem a partir do Caminho, ... ) |12 Ferramentas de Conversão (Converter em Palavras, Conversão de Moeda, ... ) |7 Ferramentas de Mesclar & Dividir (Mesclar Linhas Avançado, Dividir Células, ... ) |... e muito mais
Use o Kutools no idioma de sua preferência – compatível com Inglês, Espanhol, Alemão, Francês, Chinês e mais de40 outros!

Impulsione suas habilidades no Excel com Kutools para Excel e experimente uma eficiência sem igual. Kutools para Excel oferece mais de300 recursos avançados para aumentar sua produtividade e economizar tempo.Clique aqui para obter o recurso que você mais precisa...


Office Tab traz interface de abas para o Office e facilita muito seu trabalho

  • Habilite a edição e leitura com abas no Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
  • Abra e crie vários documentos em novas abas da mesma janela, em vez de novas janelas.
  • Aumente sua produtividade em50% e reduza centenas de cliques do mouse todos os dias!