Como Calcular Dias Úteis Entre Duas Datas (com Feriados)
Prazos processuais, entregas, SLA de atendimento, contagem de férias: muita coisa é medida em dias úteis, não em dias corridos. Calcular isso à mão é fácil de errar quando o intervalo cruza vários fins de semana e feriados. Veja a lógica e as fórmulas prontas.
Índice
- Dias corridos x dias úteis
- A lógica do cálculo
- Exemplo passo a passo
- Feriados nacionais de 2026
- Feriados móveis: como calcular
- Fórmula no Excel e no Google Sheets
- Casos de uso
- Perguntas Frequentes
- Ferramentas relacionadas
Dias corridos x dias úteis
- Dias corridos: todos os dias entre as duas datas, incluindo sábados, domingos e feriados. É o cálculo usado para idade e para a maioria dos prazos contratuais em direito civil.
- Dias úteis: apenas segunda a sexta, descontando feriados. É o padrão de prazos processuais (CPC), trabalhistas e de vários SLAs comerciais.
Para o cálculo de dias corridos entre duas datas quaisquer, veja Como calcular idade exata — o mesmo algoritmo de diferença de datas se aplica.
A lógica do cálculo
Para contar dias úteis entre uma data inicial e uma final:
- Percorra cada dia do intervalo (normalmente excluindo o dia inicial e incluindo o final, mas confira a regra do seu contexto).
- Para cada dia, verifique o dia da semana. Se for sábado ou domingo, ignore.
- Se a data estiver na sua lista de feriados, ignore.
- Some 1 para todos os demais.
Em pseudocódigo:
function diasUteis(inicio, fim, feriados) {
let total = 0;
const d = new Date(inicio);
d.setDate(d.getDate() + 1); // exclui o dia inicial
while (d <= fim) {
const diaSemana = d.getDay(); // 0 = domingo, 6 = sábado
const iso = d.toISOString().slice(0, 10);
if (diaSemana !== 0 && diaSemana !== 6 && !feriados.includes(iso)) {
total++;
}
d.setDate(d.getDate() + 1);
}
return total;
}
A parte sensível é a lista de feriados: feriados fixos (1/1, 21/4, 1/5, 7/9, 12/10, 2/11, 15/11, 25/12) são simples; os móveis (Carnaval, Sexta-feira Santa, Corpus Christi) dependem da data da Páscoa e mudam todo ano. Feriados municipais e estaduais não entram numa lista nacional.
Exemplo passo a passo
Quantos dias úteis entre quinta, 30/04/2026 e sexta, 08/05/2026?
| Data | Dia | Conta? | Motivo | |---|---|---|---| | 01/05 (sex) | sexta | não | feriado (Dia do Trabalho) | | 02/05 (sáb) | sábado | não | fim de semana | | 03/05 (dom) | domingo | não | fim de semana | | 04/05 (seg) | segunda | sim | dia útil | | 05/05 (ter) | terça | sim | dia útil | | 06/05 (qua) | quarta | sim | dia útil | | 07/05 (qui) | quinta | sim | dia útil | | 08/05 (sex) | sexta | sim | dia útil |
Excluindo o dia inicial (30/04) e incluindo o final: 5 dias úteis. São 8 dias corridos no mesmo intervalo — a diferença é o feriado e o fim de semana. Com a função NETWORKDAYS, que conta as duas pontas, o resultado seria 6 (ela inclui 30/04).
Feriados nacionais de 2026
| Data | Feriado | |---|---| | 01/01 | Confraternização Universal | | 16–17/02 | Carnaval (móvel) | | 03/04 | Sexta-feira Santa (móvel) | | 21/04 | Tiradentes | | 01/05 | Dia do Trabalho | | 04/06 | Corpus Christi (móvel) | | 07/09 | Independência | | 12/10 | Nossa Senhora Aparecida | | 02/11 | Finados | | 15/11 | Proclamação da República | | 25/12 | Natal |
Confirme sempre feriados estaduais e municipais da sua cidade — eles também suspendem prazos locais.
Feriados móveis: como calcular
Carnaval, Sexta-feira Santa e Corpus Christi giram em torno da Páscoa, que cai no primeiro domingo após a primeira lua cheia depois do equinócio de março. O algoritmo de Gauss/Meeus calcula a data:
function pascoa(ano) {
const a = ano % 19;
const b = Math.floor(ano / 100);
const c = ano % 100;
const d = Math.floor(b / 4);
const e = b % 4;
const f = Math.floor((b + 8) / 25);
const g = Math.floor((b - f + 1) / 3);
const h = (19 * a + b - d - g + 15) % 30;
const i = Math.floor(c / 4);
const k = c % 4;
const l = (32 + 2 * e + 2 * i - h - k) % 7;
const m = Math.floor((a + 11 * h + 22 * l) / 451);
const mes = Math.floor((h + l - 7 * m + 114) / 31);
const dia = ((h + l - 7 * m + 114) % 31) + 1;
return new Date(ano, mes - 1, dia);
}
function feriadosMoveis(ano) {
const p = pascoa(ano);
const add = (base, dias) => {
const x = new Date(base);
x.setDate(x.getDate() + dias);
return x.toISOString().slice(0, 10);
};
return {
carnavalTerca: add(p, -47),
sextaSanta: add(p, -2),
corpusChristi: add(p, 60),
};
}
Junte esse resultado aos feriados fixos do ano e você tem a lista completa para a função diasUteis.
Fórmula no Excel e no Google Sheets
Ambos têm a função NETWORKDAYS (em português do Excel, DIATRABALHOTOTAL):
=NETWORKDAYS(data_inicial; data_final; intervalo_de_feriados)
data_inicialedata_final: as duas datas (a inicial é contada por essa função).intervalo_de_feriados: um intervalo com as datas dos feriados (opcional).
Exemplo com feriados numa coluna F2:F15:
=NETWORKDAYS(A2; B2; $F$2:$F$15)
Para semanas de trabalho diferentes de seg–sex, use NETWORKDAYS.INTL, cujo 3º argumento define o fim de semana (1 = sáb+dom, 7 = sex+sáb, 11 = só domingo):
=NETWORKDAYS.INTL(A2; B2; 11; $F$2:$F$15)
Para somar X dias úteis a uma data (achar o vencimento), use WORKDAY / WORKDAY.INTL:
=WORKDAY(A2; 10; $F$2:$F$15) → 10 dias úteis depois de A2
Ferramenta gratuita
Precisa da diferença exata entre duas datas?
A Calculadora de Idade calcula o intervalo entre duas datas em anos, meses e dias corridos — o ponto de partida para depois descontar fins de semana e feriados.
Casos de uso
- Prazos processuais: contagem em dias úteis conforme o CPC.
- Logística e e-commerce: previsão de entrega "em até X dias úteis".
- SLA de suporte: tempo de resposta e resolução dentro do horário comercial.
- RH: aviso prévio, banco de horas, contagem de férias.
Para converter o resultado em outras unidades (horas úteis, por exemplo), o Conversor de Unidades ajuda; para medir tempo real gasto em tarefas, use o Cronômetro Online.
Perguntas Frequentes
O dia inicial entra na contagem?
Depende da regra do seu contexto. Prazos processuais costumam excluir o dia de início e incluir o de vencimento. Já a função NETWORKDAYS do Excel inclui as duas pontas. Sempre confira a norma aplicável.
Como lido com feriados móveis?
Carnaval, Sexta-feira Santa e Corpus Christi dependem da data da Páscoa e mudam a cada ano. Para cálculos recorrentes, mantenha uma tabela de feriados atualizada por ano.
Feriado que cai no fim de semana "vira" segunda?
No Brasil, em regra não. O feriado nacional que cai no sábado ou domingo não é transferido para o dia útil seguinte (diferente de alguns outros países).
Ponto facultativo conta como dia útil?
Juridicamente, sim — ponto facultativo (como a quarta-feira de Cinzas até as 14h) não é feriado e não suspende prazos processuais. Na prática comercial, muitas empresas tratam como não útil; defina isso na sua lista de exceções.
Sábado é dia útil para bancos?
Para efeito bancário e de compensação, não: sábado, domingo e feriados não são dias úteis. Já para o comércio, sábado costuma ser dia útil. Ajuste o parâmetro de fim de semana conforme o contexto.
Como calcular horas úteis, e não dias?
Conte os dias úteis do intervalo, multiplique pela jornada (por exemplo, 8h) e ajuste as pontas pelo horário de início e fim. Para converter o total em minutos ou segundos, use o Conversor de Unidades.
Existe diferença entre "dias úteis" e "dias corridos" no vencimento de boletos?
Sim. Boletos e muitos contratos usam dias corridos; se o vencimento cai em dia não útil, costuma ser pago no próximo dia útil. Prazos processuais usam dias úteis.
Ferramentas relacionadas
- Calculadora de Idade — diferença exata entre duas datas em anos, meses e dias
- Conversor de Unidades — converta dias em horas, minutos e segundos
- Cronômetro Online — meça tempo real de tarefas
Leia também Como calcular idade exata para a lógica de diferença entre datas em dias corridos.