Formule Excel, obtenez la date de mercredi précédente

3

J'ai la formule suivante

=WORKDAY(TODAY(),-2)

Ce qui me vaut le 30 janvier.

Y at-il de toute façon je peux obtenir le 30 janvier sans mettre le -2 dans cette formule? Je veux qu'il formule toujours la date du mercredi précédente, mais je soustrais manuellement la journée de travail du jour précédent pour obtenir le mercredi précédent.

excelguy
la source

Réponses:

8

Que diriez-vous:

=TODAY() - MOD(TODAY(), 7) + 4

Ce qui signifie obtenir le premier jour de la semaine en cours (samedi), puis ajoutez 4 = mercredi (éventuellement -7 pour la semaine précédente).

Si vous voulez la semaine précédente (si vous êtes encore dimanche ou lundi), utilisez if pour MOD(TODAY(), 7)

Ahmed Ashour
la source
merci ahmed!
excelguy
1
J'ai du mal à suivre l'explication. Pourquoi le premier jour de la semaine en cours est-il un samedi (par opposition à lundi ou dimanche, selon le système de calendrier utilisé)? Si vous ajoutez 4 à un samedi, je peux voir que vous obtenez mercredi, mais pourquoi -7 vous mènerait au mercredi précédent? Il me semble que samedi - 7 = samedi. Remarque: je ne remets pas en question la formule, mais simplement l'explication qui l'accompagne.
Jon Bentley
@JonBentley le -7 est destiné à être ajouté à la formule indiquée, non substitué au +4. Quant à savoir pourquoi MOD (TODAY (), 7) produit ce résultat très utile, je suis également curieux.
Alex M
1
@AlexM Les dates dans Excel sont comme un entier. Aujourd'hui, par exemple, correspond à 43497. Si vous le divisez par 7 à l'aide de la formule MOD, vous obtiendrez toujours 6 si le jour est vendredi. Cela fonctionne parce que le tout premier jour, Excel accepte. En divisant par 7, vous garantissez que vous obtiendrez toujours un nombre compris entre 0 et 6 (Parce que 7/7 = 1, qui ne renvoie rien). 8/7 retours 1 pour tout le monde et 1 non divisé.
Moacir
Alors maintenant vous êtes allé au samedi de cette semaine (sachant que samedi serait le premier jour), puis le +4 corrige à mercredi
Moacir