Fórmula WEEKDAY en Excel para obter día da semana, fins de semana e días laborables

  • Comparte Isto
Michael Brown

Se estás a buscar unha función de Excel para obter o día da semana a partir da data, chegaches á páxina correcta. Este tutorial ensinarache como usar a fórmula WEEKDAY en Excel para converter unha data nun nome de día laborable, filtrar, resaltar e contar fins de semana ou días laborables, etc.

Hai unha variedade de funcións para traballar con datas en Excel. A función do día da semana (WEEKDAY) é especialmente útil para planificar e programar, por exemplo, para determinar o prazo dun proxecto e eliminar automaticamente os fins de semana do total. Entón, repasemos os exemplos un a un e vexamos como poden axudarche a xestionar varias tarefas relacionadas coa data en Excel.

    DÍA DA SEMANA: función de Excel para o día de semana

    A función Excel WEEKDAY úsase para devolver o día da semana a partir dunha data determinada.

    O resultado é un número enteiro, que varía de 1 (domingo) a 7 (sábado) por defecto. . Se a súa lóxica empresarial require unha enumeración diferente, pode configurar a fórmula para que comece a contar con calquera outro día da semana.

    A función WEEKDAY está dispoñible en todas as versións de Excel 365 ata 2000.

    A sintaxe da función WEEKDAY é a seguinte:

    WEEKDAY(serial_number, [return_type])

    Onde:

    Serial_number (obrigatorio) - a data que quere converter ao número do día da semana. Pódese proporcionar como un número de serie que representa a data, como unha cadea de texto no formatoque Excel entende, como unha referencia á cela que contén a data, ou mediante a función DATE.

    Tipo_devolución (opcional): determina que día da semana usar como primeiro día . Se se omite, o predeterminado é a semana dom-sáb.

    Aquí tes unha lista de todos os valores de return_type admitidos:

    Return_type Número devolto
    1 ou omitido Do 1 (domingo) ao 7 (sábado)
    2 De 1 (luns) a 7 (domingo)
    3 De 0 (luns) a 6 (domingo)
    11 De 1 (luns) a 7 (domingo)
    12 De 1 (martes) a 7 (luns)
    13 Do 1 (mércores) ao 7 (martes)
    14 Do 1 (xoves) ao 7 (mércores)
    15 Do 1 (venres) ao 7 (xoves)
    16 Do 1 (sábado) ao 7 (venres)
    17 Do 1 (domingo) ao 7 (sábado)

    Nota. Os valores return_type do 11 ao 17 introducíronse en Excel 2010 e, polo tanto, non se poden usar en versións anteriores.

    Fórmula básica WEEKDAY en Excel

    Para comezar, vexamos como para usar a fórmula WEEKDAY na súa forma máis sinxela para obter o número do día a partir da data.

    Por exemplo, para obter o día da semana a partir da data en C4 coa semana predeterminada de domingo a sábado, a fórmula é:

    =WEEKDAY(C4)

    Se tes un número de serierepresentando a data (por exemplo, traída pola función DATEVALUE), pode introducir ese número directamente na fórmula:

    =WEEKDAY(45658)

    Ademais, pode escribir a data como cadea de texto entre comiñas directamente na fórmula. Só asegúrate de usar o formato de data que Excel espera e pode interpretar:

    =WEEKDAY("1/1/2025")

    Ou ben, proporcione a data de orixe dun xeito 100% fiable usando a función DATE:

    =WEEKDAY(DATE(2025, 1,1))

    Para utilizar a asignación de día diferente á predeterminada Sun-Sat, introduza un número apropiado no segundo argumento. Por exemplo, para comezar a contar os días a partir do luns, a fórmula é:

    =WEEKDAY(C4, 2)

    Na imaxe de abaixo, todas as fórmulas devolven o día da semana correspondente ao 1 de xaneiro de 2025, que é almacenado como o número 45658 internamente en Excel. Dependendo do valor definido no segundo argumento, as fórmulas producen resultados diferentes.

    A primeira vista, pode parecer que os números devoltos pola función WEEKDAY teñen moi pouco sentido práctico. Pero vexámolo desde un ángulo diferente e discutamos algunhas fórmulas que resolven tarefas da vida real.

    Como converter a data de Excel en nome do día da semana

    Por deseño, a función Excel WEEKDAY devolve o día da semana como un número. Para converter o número do día da semana no nome do día, use a función TEXTO.

    Para obter nomes de día completo , use o código de formato "dddd":

    TEXTO(WEEKDAY( data ), "dddd")

    Para devolver abreviadonomes de días , o código de formato é "ddd":

    TEXTO(WEEKDAY( data ), "ddd")

    Por exemplo, para converter a data en A3 no nome do día da semana , a fórmula é:

    =TEXT(WEEKDAY(A3), "dddd")

    Ou

    =TEXT(WEEKDAY(A3), "ddd")

    Outra posible solución é usar WEEKDAY xunto coa función CHOOSE.

    Por exemplo, para obter un nome abreviado de día da semana a partir da data en A3, a fórmula é o seguinte:

    =CHOOSE(WEEKDAY(A3),"Sun","Mon","Tus","Wed","Thu","Fri","Sat")

    Aquí, WEEKDAY devolve un número de serie de 1 (dom) a 7 (sáb). ) e ESCOLLE selecciona o valor correspondente da lista. Dado que a data en A3 (mércores) corresponde ao 4, ESCOLLE sae "Mer", que é o 4º valor da lista.

    Aínda que a fórmula ESCOLLE é un pouco máis engorrosa de configurar, ofrece máis flexibilidade que che permite emitir os nomes dos días no formato que desexes. No exemplo anterior, mostramos os nomes de días abreviados. Pola contra, pode entregar nomes completos, abreviaturas personalizadas ou mesmo nomes de días nun idioma diferente.

    Consello. Outra forma sinxela de converter unha data no nome do día da semana é aplicando un formato de data personalizado. Por exemplo, o formato de código "dddd, mmmm d, aaaa" mostrará a data como " venres 3 de xaneiro de 2025 " mentres que "dddd" mostrará só " venres ". .

    Fórmula de Excel WEEKDAY para buscar e filtrar días laborables e fins de semana

    Cando se trate dunha longa lista de datas, pode querer saber cales son días laborables e cales son fins de semana.

    Para identificar fins de semana e días laborables en Excel, crea unha instrución IF coa función WEEKDAY anidada. Por exemplo:

    =IF(WEEKDAY(A3, 2)<6, "Workday", "Weekend")

    Esta fórmula vai á cela A3 e cópiase en tantas celas como sexa necesario.

    Na fórmula WEEKDAY, define return_type a 2, que corresponde á semana de luns a domingo onde o luns é o día 1. Así, se o número do día da semana é inferior a 6 (de luns a venres), a fórmula devolve "Día laborable", se non, "Fin de semana".

    Para filtrar fins de semana ou días laborables , aplique o filtro de Excel ao seu conxunto de datos (pestana Datos > Filtro ) e seleccione "Fin de semana" ou "Día de traballo".

    Na seguinte captura de pantalla, filtromos os días laborables, polo que só son visibles os fins de semana:

    Se algunha oficina rexional da túa organización traballa nun horario diferente onde os días de descanso que non sexan sábado e domingo, pode axustar facilmente a fórmula WEEKDAY ás súas necesidades especificando un tipo_devolución diferente.

    Por exemplo, para tratar Sábado e Luns como fins de semana, establece return_type en 12, polo que obterás o tipo de semana "de martes (1) a luns (7)":

    =IF(WEEKDAY(A2, 12)<6, "Workday", "Weekend")

    Como destacar os días laborables das fins de semana e en Excel

    Para detectar os fins de semana e os días laborables na túa folla de traballo dunha ollada, podes sombrearlos automaticamente en diferentes cores. Para iso, use a fórmula de día da semana/fin de semana discutida no exemplo anterior conFormato condicional de excel. Como a condición está implícita, só necesitamos a función básica WEEKDAY sen o envoltorio IF.

    Para destacar fins de semana (sábado e domingo):

    =WEEKDAY($A2, 2)<6

    Para destacar os días laborables (de luns a venres):

    =WEEKDAY($A2, 2)>5

    onde A2 é a cela superior esquerda do intervalo seleccionado.

    Para configurar a regra de formato condicional, os pasos son:

    1. Seleccione a lista de datas (A2:A15 no noso caso).
    2. Na pestana Inicio , no grupo Estilos , faga clic en Formato condicional > Nova regra .
    3. No diálogo Nova regra de formato caixa, seleccione Usar unha fórmula para determinar as celas que desexa dar formato .
    4. Na caixa Formato de valores onde esta fórmula é verdadeira, introduza a fórmula mencionada anteriormente para fins de semana ou días laborables.
    5. Fai clic no botón Formato e selecciona o formato desexado.
    6. Fai clic dúas veces en Aceptar para gardar os cambios e pechar as ventás de diálogo.

    Para obter información detallada sobre cada paso, consulte Como configurar formato condicional con fórmula.

    O resultado parece bastante bo, non é?

    Como contar os días laborables e os fins de semana en Excel

    Para obter o número de días laborables ou fins de semana na lista de datas, pode utilizar a función WEEKDAY en combinación coa SUMA. Por exemplo:

    Para contar os fins de semana , a fórmula en D3 é:

    =SUM(--(WEEKDAY(A3:A20, 2)>5))

    Para contar os días laborables ,a fórmula en D4 toma esta forma:

    =SUM(--(WEEKDAY(A3:A20, 2)<6))

    En Excel 365 e Excel 2021 que manexan matrices de forma nativa, isto funciona como unha fórmula normal como se mostra na captura de pantalla a continuación. En Excel 2019 e anteriores, prema Ctrl + Maiús + Intro para que sexa unha fórmula matricial.

    Como funcionan estas fórmulas:

    A función WEEKDAY con return_type definido como 2 devolve un número de día de 1 (Lun) a 7 (Dom). ) para cada data no rango A3:A20. A expresión lóxica verifica se os números devoltos son maiores de 5 (para fins de semana) ou inferiores a 6 (para días laborables). O resultado desta operación é unha matriz de valores VERDADEIRO e FALSO.

    A dobre negación (--) obriga os valores lóxicos a 1 e 0. E a función SUMA súmaos. Dado que 1 (VERDADEIRO) representa os días a contar e 0 (FALSO) os días que se ignoran, obtén o resultado desexado.

    Consello. Para calcular días laborables entre dúas datas , utilice a función NETWORKDAYS ou NETWORKDAYS.INTL.

    Se é día da semana, entón, se é sábado ou domingo

    Por último, imos comentar un pouco máis caso específico que mostra como determinar o día da semana, e se é sábado ou domingo fai algo, se é un día laborable, fai outra cousa.

    IF(WEEKDAY( celda , 2)> 5, if_weekend_then , if_weekday_then )

    Supoña que está a calcular os pagos dos empregados que realizaron algún traballo extra nos seus días libres, polo que precisapara aplicar diferentes tarifas de pago para días laborables e fins de semana. Isto pódese facer mediante a seguinte instrución IF:

    • No argumento proba_lóxica , aniñe a función WEEKDAY que verifica se un día determinado é laborable ou fin de semana.
    • No argumento value_if_true , multiplique o número de horas laborables pola taxa de fin de semana (G4).
    • No argumento value_if_false , multiplique o número de horas laborables pola taxa de xornada laboral (G3).

    A fórmula completa en D3 toma esta forma:

    =IF(WEEKDAY(B3, 2)>5, C3*$G$4, C3*$G$3)

    Para que a fórmula se copie correctamente nas celas seguintes, asegúrate de bloquear os enderezos das celas de tarifa co signo $ (como $G$4).

    A función WEEKDAY non funciona

    Xeralmente, hai dous erros comúns que pode devolver unha fórmula WEEKDAY:

    #VALUE! O erro ocorre se:

    • Serial_number ou return_type non é numérico.
    • Serial_number está fóra de intervalo de datas admitido (1900 a 9999).

    #NUM! O erro ocorre cando return_type está fóra do intervalo permitido (1-3 ou 11-17).

    Así é como usar a función WEEKDAY en Excel para manipular os días da semana. No seguinte artigo, exploraremos as funcións de Excel para operar en unidades de tempo maiores, como semanas, meses e anos. Estade atentos e grazas por ler!

    Practica para descargar o libro

    Fórmula WEEKDAY en Excel - exemplos (.xlsxficheiro)

    Michael Brown é un entusiasta da tecnoloxía dedicada á súa paixón por simplificar procesos complexos mediante ferramentas de software. Con máis dunha década de experiencia na industria tecnolóxica, perfeccionou as súas habilidades en Microsoft Excel e Outlook, así como en Follas de cálculo e Documentos de Google. O blog de Michael está dedicado a compartir o seu coñecemento e experiencia con outros, proporcionando consellos e titoriais fáciles de seguir para mellorar a produtividade e a eficiencia. Tanto se es un profesional experimentado como un principiante, o blog de Michael ofrece valiosas ideas e consellos prácticos para sacar o máximo proveito destas ferramentas de software esenciais.