web-dev-qa-db-fra.com

Existe-t-il un moyen de générer un nombre de jours dans un mois?

Le titre en dit long, mais juste pour vous donner un exemple d'utilisation, j'ai un tableur dans lequel je contrôle les revenus publicitaires mensuels et souhaite créer une colonne de revenus quotidiens.

Voici un exemple simplifié de ce que j'ai aujourd'hui:

MONTH   | TOTAL REVENUE
-----------------------
2012-04 | $456.78
2012-03 | $345.67
2012-02 | $234.56
2012-01 | $123.45

Voici un exemple simplifié de ce que je voudrais:

MONTH   | TOTAL REVENUE | DAYS IN MONTH
---------------------------------------
2012-04 | $456.78       | 30
2012-03 | $345.67       | 31
2012-02 | $234.56       | 29
2012-01 | $123.45       | 31

Évidemment, je préférerais que ce soit sous la forme d’une formule afin que je n’ai pas besoin de faire de réglages manuels. Existe-t-il une sorte de formule pouvant prendre 2012-04 et cracher 30?

6

J'utilise cette formule:

=day(eomonth(today(),0))

Vous devrez remplacer today() par une date ou une cellule contenant une date du mois pour laquelle vous souhaitez obtenir le nombre total de jours.

17
Ian Melchior

Je suis tombé par hasard sur la fonction EOMONTH qui correspond exactement à ce dont j'avais besoin. Je finis par créer un tas de sous-chaînes, mais cela semble fonctionner, ce qui est tout ce qui est important pour moi.

Voici un exemple qui vous donnera le nombre de jours dans le champ A2 en supposant qu'il soit au format YYYY-MM

=LEFT(RIGHT(EOMONTH(RIGHT(A2,2)&"/01/"&LEFT(A2,4),0),7),2)
6

L'analyse d'une date avec Left et Right peut ne pas être fiable (par exemple, si le format des données change).

Vous pouvez simplifier la formule en utilisant plutôt la fonction DAY:

=DAY( EOMONTH(RIGHT(A2,2)&"/01/"&LEFT(A2,4),0) )

La manière dont vous composez la date dans l'appel EOMONTH peut également être remplacée, à l'aide de la fonction DATE(<year>, <month>, <day>) pour le rendre un peu plus fiable.

Ainsi, la formule finale deviendrait:

=DAY( EOMONTH( DATE(LEFT(B51,4), RIGHT(B51,2), 1) ,0) )
4
Cristian Lupascu

Disons que vous avez une date dans la cellule A1 avec une valeur

29 December 2015 

Et vous voulez savoir combien de jours il y a au mois de décembre de cette année.

Utilisez l’argument "months" de la fonction EOMONTH pour évaluer le nombre de jours du mois actuel (à l’aide de la valeur 0), ainsi que le nombre de jours de le précédent mois (en utilisant la valeur -1). Cela vous donnera les valeurs EOMONTH pour décembre et novembre.

Puis soustrayez simplement les deux valeurs l'une de l'autre

=EOMONTH(A1,0)-EOMONTH(A1,-1)

et le tour est joué! Vous obtenez le nombre de jours en décembre.

31

Cette formule fonctionnera également pour calculer les jours de février des années bissextiles et non bissextiles.

3
Andrew Fogg

Je suis un débutant aux feuilles, mais je ne comprends toujours pas comment obtenir le nombre de jours par mois. par exemple.:

Jan - 31
Feb - 28
Mar - 31
...

Pour obtenir le nombre de jours du mois en cours, =day(EOMONTH(G1;0)) a fonctionné pour moi.

0
johny_737