#Excel#Python#Fórmulas#NETWORKDAYS#Desarrollo

5 formas de calcular los días hábiles en Excel y Python (con plantillas gratuitas)

Por Elena Vance 5 ene 2026 5 min de lectura

5 formas de calcular los días hábiles en Excel y Python (con plantillas gratuitas)

Calcular con precisión los días laborables entre fechas arbitrarias del calendario es un requisito esencial en finanzas corporativas, motores de nómina, modelado de cadenas de suministro y gestión de proyectos. Ya sea que esté configurando una hoja de Google simple o diseñando una canalización ETL de Python de alto rendimiento, aquí tiene la guía completa para la aritmética programática del día hábil.


1. Microsoft Excel y Google Sheets: NETWORKDAYS frente a NETWORKDAYS.INTL

La función estándar NETWORKDAYS calcula los días laborables netos entre dos fechas, excluyendo automáticamente los sábados y domingos.

=DÍAS DE LA RED(A2, B2, Lista de Días Festivos)

Fines de semana personalizados con NETWORKDAYS.INTL

Para operaciones en Medio Oriente (por ejemplo, Emiratos Árabes Unidos antes de 2022, Arabia Saudita) o turnos personalizados de 4 días, use NETWORKDAYS.INTL:

=NETWORKDAYS.INTL(fecha de inicio, fecha de finalización, 7, rango de vacaciones)

Donde 7 especifica viernes y sábado como fin de semana.


2. Cálculo vectorizado numpy de Python (busday_count)

Para marcos de datos masivos (millones de filas), numpy.busday_count es órdenes de magnitud más rápido que los bucles iterativos:

importar numpy como np

# Cálculo de días laborables vectorizados
start_dates = np.array(['2026-01-01', '2026-03-01'], dtype='datetime64[D]')
end_dates = np.array(['2026-01-31', '2026-03-31'], dtype='datetime64[D]')
vacaciones = ['2026-01-01', '2026-01-19']

días_trabajables = np.busday_count(fechas_inicio, fechas_finalización, feriados = feriados)
print(f"Días laborables calculados: {días_laborables}")

3. Python pandas.bdate_range y compensaciones de días laborables personalizadas

Al crear índices de series temporales con días festivos personalizados:

importar pandas como pd
de pandas.tseries.holiday importar USFederalHolidayCalendar
de pandas.tseries.offsets importar CustomBusinessDay

us_bday = CustomBusinessDay(calendario=USFederalHolidayCalendar())
días = len(pd.bdate_range('2026-01-01', '2026-12-31', freq=us_bday))
print(f"Total de días laborables federales de EE. UU. en 2026: {días}")

Resumen de mejores prácticas

  • Declare siempre vectores de vacaciones explícitos: Las suposiciones de vacaciones implícitas conducen a errores de cálculo del SLA.
  • Normalizar límites inclusivos: Decida si se cuentan tanto el día 0 como el día objetivo.
  • Utilice nuestro motor interactivo: Utilice WorkingDaysCalculator.net para realizar una verificación cruzada de sus fórmulas con reglas instantáneas de cumplimiento legal en varios países.

Guías y Artículos Relacionados