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

Como calcular a média com base no dia da semana no Excel?

AutorXiaoyang Data de Modificação

No Excel, é frequente deparar-se com cenários em que precisa de calcular a média de uma lista de números com base no dia da semana associado a cada entrada. Por exemplo, poderá querer analisar dados de vendas para determinar a média de encomendas às segundas-feiras, em dias úteis ou ao fim de semana. Este tipo de necessidade é comum em relatórios de vendas, acompanhamento de desempenho ou qualquer análise orientada pelo tempo. A seguir, apresentamos várias soluções práticas para calcular médias por dia da semana, utilizando fórmulas, código VBA e Tabelas Dinâmicas — ferramentas que o ajudam a extrair informações valiosas e a compreender melhor a distribuição dos seus dados segundo padrões semanais.

média com base no dia da semana


Calcular a média com base em Dia da semana com fórmulas

Calcular a média com base num Dia da semana específico

Para calcular a média dos valores associados a um determinado dia da semana — como todas as segundas-feiras —, pode utilizar fórmulas de matriz do Excel ou a função SOMARPRODUTO. Esta abordagem é especialmente útil para resumir tendências diárias e analisar padrões de eventos. Por exemplo, se precisar de calcular a média de encomendas especificamente às segundas-feiras no seu conjunto de dados, siga o método seguinte:

Introduza a seguinte fórmula numa célula vazia:

=AVERAGE(IF(WEEKDAY(D2:D15)=2,E2:E15))

Em seguida, prima Ctrl + Shift + Enter simultaneamente. Isto indica que a fórmula é uma fórmula de matriz e permite que o Excel processe cada linha individualmente, produzindo o resultado correto.

utilize uma fórmula para calcular a média com base num dia específico da semana

Notas e explicação:

  • D2:D15 é a sua lista de datas. Certifique-se de que são datas válidas do Excel.
  • 2 representa segunda-feira. Os números para os dias da semana são: domingo = 1, segunda-feira = 2, terça-feira = 3, quarta-feira = 4, quinta-feira = 5, sexta-feira = 6, sábado = 7.
  • E2:E15 é o intervalo de números cuja média pretende calcular, como contagens de encomendas, vendas ou métricas semelhantes.

Dicas:

  • Se a sua versão do Excel suportar fórmulas de matriz dinâmica (Office 365 ou posterior), pode introduzir a fórmula diretamente, sem precisar de utilizar Ctrl + Shift + Enter.
  • Verifique se há células vazias ou sem datas para evitar erros na fórmula.

Como alternativa mais flexível, pode utilizar a função SOMARPRODUTO para obter o mesmo resultado. Este método dispensa a introdução de fórmulas de matriz e é ideal para conjuntos de dados maiores:

=SUMPRODUCT((WEEKDAY(D2:D15,2)=1)*E2:E15)/SUMPRODUCT((WEEKDAY(D2:D15,2)=1)*1)

Após introduzir esta fórmula numa célula, prima Enter. Aqui, D2:D15 é o seu intervalo de datas, E2:E15 é o seu intervalo de dados e 1 representa segunda-feira (ao utilizar o 2.º argumento da função WEEKDAY como 2, em que segunda-feira = 1, terça-feira = 2, ..., domingo = 7).


Calcular a média com base em dias úteis

Para calcular o valor médio correspondente a dias úteis (segunda a sexta-feira) nos seus dados, pode utilizar a seguinte fórmula de matriz:

=AVERAGE(IF(WEEKDAY(D2:D15,2)={1,2,3,4,5},E2:E15))

Introduza esta fórmula numa célula vazia e, em seguida, prima Ctrl + Shift + Enter para confirmar.

utilize uma fórmula para calcular a média com base em dias úteis

Notas e explicação:

  • Isto calcula a média apenas para as linhas cuja data corresponde a um dia útil — ou seja, de segunda a sexta-feira.
  • Certifique-se de que os valores de data em D2:D15 são válidos; caso contrário, a função WEEKDAY poderá não devolver os resultados esperados.

Dicas:

  • Se preferir evitar a introdução de matrizes, utilize a alternativa com SOMARPRODUTO indicada abaixo.
  • Verifique se a coluna de datas contém datas reais do Excel (e não texto).

Outra forma de conseguir isto é utilizar uma fórmula SOMARPRODUTO:

=SUMPRODUCT((WEEKDAY(D2:D15,2)<6)*E2:E15)/SUMPRODUCT((WEEKDAY(D2:D15,2)<6)*1)

Basta digitar esta fórmula e premir Enter. Ela calculará automaticamente a média dos valores cujo número do dia da semana for inferior a 6 — ou seja, de segunda a sexta-feira.


Calcular a média com base em fins de semana

Para calcular a média apenas dos valores correspondentes a fins de semana (sábado e domingo), utilize a seguinte fórmula de matriz:

=AVERAGE(IF(WEEKDAY(D2:D15,2)={6,7},E2:E15))

Introduza numa célula vazia e confirme com Ctrl + Shift + Enter.

utilize uma fórmula para calcular a média com base em fins de semana

Notas e explicação:

  • Esta fórmula visa datas em que WEEKDAY devolve 6 ou 7 (sábado ou domingo) quando o segundo argumento é 2.

Dicas:

  • Para conjuntos de dados grandes, a alternativa com SOMARPRODUTO indicada abaixo pode ser mais rápida e evita a criação de matrizes.
  • Confirme que as linhas em branco ou datas inválidas são devidamente tratadas para evitar médias inesperadas.

Uma opção mais rápida com SOMARPRODUTO, que funciona sem introdução de matrizes:

=SUMPRODUCT((WEEKDAY(D2:D15,2)>5)*E2:E15)/SUMPRODUCT((WEEKDAY(D2:D15,2)>5)*1)

Como sempre, verifique os valores das datas e procure por células vazias para garantir a precisão dos seus resultados.


Código VBA – Automatize o cálculo da média por Dia da semana com uma macro

Para utilizadores que pretendem uma abordagem totalmente automatizada — especialmente com conjuntos de dados grandes ou atualizações frequentes — pode utilizar VBA para percorrer os seus dados, agrupar entradas por dia da semana e calcular as médias correspondentes. Este método é ideal para evitar ajustes manuais de fórmulas e gerar rapidamente um resumo por dia da semana.

Cenário aplicável:Adequado ao lidar com listas extensas, automatizar análises repetitivas ou apresentar quadros resumo para todos os Semana.

Vantagens: Elimina passos manuais, gera um resumo completo e pode ser personalizado para processamento adicional.

Desvantagens: Requer ativação de macros e conhecimentos básicos de VBA; poderá não ser adequado para folhas altamente dinâmicas ou baseadas na nuvem.

Operação:

1. Clique em Ferramentas de Programador > Visual Basic para abrir o editor do VBA. Na janela, escolha Inserir > Módulo e cole o seguinte código no novo módulo:

Sub AverageOrdersByWeekday()
    Dim dict As Object
    Set dict = CreateObject("Scripting.Dictionary")
    
    Dim cell As Range
    Dim ws As Worksheet
    Dim datesRange As Range, valuesRange As Range
    Dim i As Long, dayKey As String
    Dim sumArr(1 To 7) As Double
    Dim countArr(1 To 7) As Long
    
    On Error Resume Next
    xTitleId = "KutoolsforExcel"
    
    Set ws = Application.ActiveSheet
    Set datesRange = Application.InputBox("Select the date range", xTitleId, Selection.Address, Type:=8)
    Set valuesRange = Application.InputBox("Select the corresponding values range", xTitleId, "", Type:=8)
    
    For i = 1 To datesRange.Count
        If IsDate(datesRange.Cells(i).Value) Then
            Dim wd As Integer
            wd = Weekday(datesRange.Cells(i).Value, 2)
            sumArr(wd) = sumArr(wd) + valuesRange.Cells(i).Value
            countArr(wd) = countArr(wd) + 1
        End If
    Next i
    
    Dim resWs As Worksheet
    Set resWs = Worksheets.Add
    resWs.Name = "Weekday Averages"
    resWs.Cells(1, 1).Value = "Weekday"
    resWs.Cells(1, 2).Value = "Average"
    
    Dim dayNames As Variant
    dayNames = Array("Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday")
    
    For i = 1 To 7
        resWs.Cells(i + 1, 1).Value = dayNames(i - 1)
        If countArr(i) > 0 Then
            resWs.Cells(i + 1, 2).Value = sumArr(i) / countArr(i)
        Else
            resWs.Cells(i + 1, 2).Value = "No data"
        End If
    Next i
End Sub

2. Para executar a macro, clique no botão botão Executar ou prima F5. Irá surgir uma caixa de diálogo para selecionar o intervalo de datas (por exemplo, D2:D15) e o respetivo intervalo de valores (por exemplo, E2:E15).
A macro cria uma nova folha que resume a média para cada dia da semana. A «Média» será calculada de segunda a domingo e, se algum dia da semana não tiver dados correspondentes, será apresentado «Sem dados».

Precauções e dicas:

  • Certifique-se de que os intervalos de datas e de valores têm o mesmo tamanho e estão alinhados linha a linha.
  • Macro requer que guarde o seu livro como um ficheiro ativado para macros (*.xlsm).
  • Se encontrar um erro, verifique se os seus intervalos não contêm entradas vazias ou inválidas.
  • Pode adaptar o código para incluir um filtro de dias da semana específicos ou alargar o resumo?

Tabela Dinâmica – Utilize Tabela Dinâmica para agrupar datas por dia da semana e calcular médias sem fórmulas

Outra forma de analisar e calcular a média dos seus dados por semana é utilizar uma Tabela Dinâmica. Esta abordagem é intuitiva e não exige fórmulas manuais nem programação. As Tabelas Dinâmicas permitem-lhe agrupar os dados dinamicamente, calcular médias e atualizar rapidamente os resultados à medida que os seus dados são alterados.

Cenário aplicável:Ideal para utilizadores que preferem interfaces de apontar e clicar e pretendem resumos flexíveis com opções de arrastar e largar.

Vantagens: Configuração rápida, compatibilidade com conjuntos de dados grandes, atualização automática sempre que forem adicionados novos dados e suporte para análises adicionais (como filtragem e ordenação).

Desvantagens: Exige que os dados estejam organizados numa Tabela do Excel ou num intervalo estruturado; oferece personalização limitada em comparação com soluções em VBA.

Passos da operação:

1.Adicione uma coluna auxiliar com os nomes dos dias da semana:
Numa coluna vazia (por exemplo,)F), introduza em F2:

=TEXT(D2,"dddd")

Copie a fórmula para baixo, de modo a abranger todas as suas linhas de dados. (Pressupõe que as datas estão em)D2:D15.)

2.Selecione o seu intervalo de origem, incluindo a coluna auxiliar (por exemplo,)D2:F15). Para obter melhores resultados, converta-o numa Tabela do Excel (Ctrl+T) e mantenha a seleção ativa.

3. Aceda a Inserir > Tabela Dinâmica. Na caixa de diálogo Criar Tabela Dinâmica, escolha onde a colocar (recomenda-se uma nova folha de cálculo) e clique em OK.

4. No painel Campos da Tabela Dinâmica:
— Arraste o campo auxiliar Dia da Semana (coluna F) para a área Linhas.
— Arraste o seu campo numérico (por exemplo,)Encomendas da coluna E) para a área Valores.

5. Altere a agregação para média:
Clique na seta suspensa na área Valores > Configurações do Campo > selecione Média > OK.

6. (Opcional) Ordene os dias da semana de segunda a domingo:
Clique com o botão direito em qualquer rótulo de dia da semana > Ordenar > Mais Opções de Ordenação, ou adicione um pequeno auxiliar de ordenação personalizada (1–7) e ordene por ele. Também pode formatar números através de Configurações dos Configurações de Campo > Formato de Número.

7. Atualize sempre que os dados mudarem:
Depois de atualizar a tabela de origem, clique em qualquer lugar da Tabela Dinâmica e escolha Atualizar(ou)Dados > Atualizar Tudo).

Dicas e resolução de problemas:

  • Certifique-se de que a coluna de datas contenha datas válidas do Excel (e não texto); caso contrário, a fórmula do dia da semana poderá falhar.
  • Se as médias parecerem incorretas, verifique se o campo Valores está definido como Média e não como Soma.
  • Após alterar ou adicionar uma linha na tabela de origem, utilize Atualizar para que a Tabela Dinâmica recalcule.
  • Para definições regionais que utilizam ponto e vírgula, introduza =TEXT(D2;"dddd") em vez disso.

Utilizar uma Tabela Dinâmica para análise por dia da semana simplifica o processo e ajuda-o a criar relatórios interativos, ideais para apresentações ou para partilhar informações com outras pessoas.

uma captura de ecrã do kutools for excel ai

Desbloqueie a Magia do Excel com KUTOOLS AI

  • Execução Inteligente: Realize operações em células, analise dados e crie gráficos — tudo impulsionado por comandos simples.
  • fórmulas personalizadas: Crie fórmulas personalizadas para simplificar os seus fluxos de trabalho.
  • Programação VBA: Escreva e implemente código VBA com facilidade.
  • Interpretação de Fórmulas: Compreenda facilmente fórmulas complexas.
  • Tradução de Texto: Elimine barreiras linguísticas nas suas folhas de cálculo.
Potencie as capacidades do seu Excel com ferramentas alimentadas por IA.Descarregue Agorae experimente uma eficiência como nunca antes!

Artigos relacionados:

Como calcular a média entre duas datas no Excel?

Como calcular a média de células com base em múltiplos critérios no Excel?

Como calcular a média dos 3 maiores ou menores valores no Excel?

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