Renvoie le nombre de jours ouvrables entre deux dates.

WORKDAY(date_début; date_fin <;joursnonouvr>)
Nom Type Description
date_début

DateHeure

Date de début de la période pour laquelle les jours ouvrables sont calculés. La date de début est incluse dans la période.

date_fin DateHeure Date de fin de la période pour laquelle les jours ouvrables sont calculés. La date de fin est incluse dans la période.
joursnonouvr

optionnel

caractère

Jours de la semaine qui sont les jours de week-end, ou jours non ouvrables, et exclus du calcul. Si vous ignorez le paramètre joursnonouv, samedi et dimanche servent de jours non ouvrables par défaut.

Saisissez joursnonouvr à l'aide des abréviations suivantes, séparées par une espace ou une virgule :

  • Mon
  • mar
  • mer
  • jeu
  • ven
  • sam
  • Sun

joursnonouvr ne respectent pas la casse. Les abréviations doivent être saisies en anglais même si vous utilisez une version d'Analytics qui n'est pas en anglais :

"Fri, Sat, Sun"

Remarque

Vous pouvez indiquer une valeur de type DateHeure pour date_début ou date_fin, mais la portion de la valeur correspondant à l'heure sera ignorée.

Si date_début est plus récente que date_fin, une valeur négative est renvoyée.

Numérique. Nombre de jours ouvrables dans la période pour laquelle les jours ouvrables sont calculés.

Exemples basiques

Valeurs d'introduction littérales

Renvoie 5 (nombre de jours ouvrables s'écoulant entre le lundi 2 mars 2015 et le dimanche 8 mars 2015 inclus) :

WORKDAY(`20150302`; `20150308`)

Renvoie 6 (nombre de jours ouvrables s'écoulant entre le lundi 2 mars 2015 et le dimanche 8 mars 2015 inclus), lorsque le dimanche est le seul jour non ouvrable) :

WORKDAY(`20150302`; `20150308`; "Sun")

Renvoie 5 (nombre de jours ouvrables s'écoulant entre le dimanche 1er mars 2015 et le samedi 7 mars 2015 inclus), lorsque le vendredi et le samedi sont les jours non ouvrables) :

WORKDAY(`20150301`; `20150307`; "Fri, Sat")

Vous pouvez également utiliser la fonction pour calculer le nombre de jours de week-end dans une plage de dates.

Renvoie 2 (nombre de jours de week-end entre le lundi 2 mars 2015 et le dimanche 8 mars 2015 inclus) :

WORKDAY(`20150302`, `20150308`, "Lun, mar, mer, jeu, ven")

Valeurs d'introduction champ

Renvoie le nombre de jours ouvrables s'écoulant entre chaque date dans le champ Date_début et le 31 décembre 2015 inclus :

WORKDAY(Date_début; `20151231`)

Renvoie le nombre de jours ouvrables s'écoulant entre chaque date dans le champ Date_début et une date correspondante dans le champ Date_fin inclus :

  • Les jours fériés légaux sont inclus dans le total des jours ouvrables et il se peut qu'ils doivent être exclus à l'aide d'un calcul distinct
  • Une valeur renvoyée négative indique que la date de début est plus récente que la date de fin
WORKDAY(Date_début; Date_fin)

Formats de date

Un champ spécifié pour date_début et date_fin peut utiliser n'importe quel format de date, tant que la définition de champ définit correctement le format.

Lorsque vous indiquez une valeur littérale de date pour date_début et date_fin, vous êtes limité aux formats AAAAMMJJ et AAMMJJ, et vous devez entourer cette valeur de guillemets inversés, par exemple, `20141231`.

Jours non ouvrables différents de samedi et de dimanche

La possibilité de spécifier des jours non ouvrables différents de samedi et de dimanche vous permet d'utiliser la fonction WORKDAY( ) avec des données qui ne dépendent pas de la semaine de travail habituelle du lundi au vendredi ou d'une semaine de travail de cinq jours.

Par exemple, si vous spécifiez "Sun" tout seul comme jour non ouvrable, vous créez une semaine de travail de six jours du lundi au samedi.

Prise en compte des jours fériés légaux

La fonction WORKDAY( ) ne prend pas en compte les jours fériés légaux, ce qui signifie que la valeur renvoyée ne reflète pas forcément le nombre réel de jours ouvrables dans une période si la période contient un ou plusieurs jours fériés légaux.

Script « Calculer les jours ouvrables » dans ScriptHub

Si vous devez prendre en compte les jours fériés légaux, une possibilité consiste à utiliser le script Calculer les jours ouvrables dans ScriptHub, qui accepte une liste de jours fériés définis par l'utilisateur.

Pour les données qui englobent des périodes plus longues et qui incluent de nombreux jours fériés, l'utilisation du script est probablement l'approche la plus simple. Pour plus d'informations, consultez la rubrique « Importation de scripts à partir de ScriptHub » dans l'aide d'Analytics.

Pour des périodes plus courtes ne comportant que trois ou quatre jours fériés, comme un trimestre, vous trouverez peut-être que la création du champ calculé conditionnel décrit ci-dessous ne demande pas trop de travail.

Champ calculé conditionnel permettant d'ôter les jours fériés légaux

Si besoin, vous pouvez créer un champ calculé conditionnel permettant d'ôter les jours fériés légaux de la valeur renvoyée par la fonction WORKDAY( ).

Par exemple, pour les données du 1er trimestre 2015, vous pourriez décrémenter la valeur renvoyée WORKDAY( ) de 1 pour chaque jour férié tombant dans une période spécifiée :

  • 1er janvier 2015
  • 19 janvier 2015
  • 16 février 2015

L'exemple qui suit contient des périodes qui présentent n'importe quelle date de début et n'importe quelle date de fin pendant le trimestre.

Vous pourriez commencer par créer un champ calculé, par exemple Jours_ouvr, qui calcule les jours ouvrables pour toutes les périodes du trimestre :

DEFINE FIELD Jours_ouvr COMPUTED WORKDAY(Date_début; Date_fin)

Vous créez ensuite un champ calculé conditionnel, par exemple Jours_ouvr_sans_jours_fériés, qui ajuste la valeur renvoyée par le premier champ calculé (Jours_ouvr) :

DEFINE FIELD Jours_ouvr_sans_jours_fériés COMPUTED
 
Jours_ouvr-1 IF Date_début = `20150101` AND Date_fin < `20150119`
Jours_ouvr-2 IF Date_début = `20150101` AND Date_fin < `20150216`
Jours_ouvr-3 IF Date_début = `20150101` AND Date_fin <= `20150331`
Jours_ouvr   IF Date_début < `20150119` AND Date_fin < `20150119`
Jours_ouvr-1 IF Date_début < `20150119` AND Date_fin < `20150216`
Jours_ouvr-2 IF Date_début < `20150119` AND Date_fin <= `20150331`
Jours_ouvr-1 IF Date_début = `20150119` AND Date_fin < `20150216`
Jours_ouvr-2 IF Date_début = `20150119` AND Date_fin <= `20150331`
Jours_ouvr   IF Date_début < `20150216` AND Date_fin < `20150216`
Jours_ouvr-1 IF Date_début < `20150216` AND Date_fin <= `20150331`
Jours_ouvr-1 IF Date_début = `20150216` AND Date_fin <= `20150331`
Jours_ouvr   IF Date_début < `20150331` AND Date_fin <= `20150331`
Jours ouvrables

Remarque

L'ordre des conditions dans le champ calculé conditionnel est important.

Analytics évalue plusieurs conditions à partir du haut. La première condition évaluée sur Vrai pour un enregistrement affecte la valeur du champ calculé conditionnel pour cet enregistrement. Une condition ultérieure évaluée sur Vrai ne modifie pas la valeur affectée.