Comment puis-je obtenir le trimestre de l'année à partir d'une date?

8

Dans Excel, comment puis-je obtenir le trimestre de l'année à partir d'une date, à l'aide d'une formule de feuille de calcul? J'ai une colonne avec des dates s'étalant sur plusieurs années.

  • 01 janvier au 31 mars = T1
  • 01 avril au 30 juin = T2
  • etc...

Question bonus: Comment puis-je déplacer le trimestre pour que le premier trimestre soit avril-juin (janvier-mars serait le quatrième trimestre).

mtone
la source

Réponses:

7

Selon la façon dont vous avez formaté votre valeur de date, Excel peut automatiquement la convertir en "code de date". il s'agit du nombre de jours écoulés depuis le 1er janvier 1900 (code de date 1). Ce numéro est ensuite utilisé par les différentes fonctions Date. Voici une formule suggérée pour une simple analyse trimestrielle.

= ARRONDISSEMENT (MOIS (A1) / 3,0)

Cela vous donnera simplement le numéro du trimestre. vous pouvez ensuite utiliser CONCATENATE pour ajouter du texte.

Voici un excellent tutoriel avec de nombreux exemples:

http://www.cpearson.com/excel/DateTimeWS.htm

[ÉDITER]

Comme indiqué par @hyperslug, une meilleure façon de procéder consiste à utiliser ce qui suit:

= CONCATENER ("Q", ARRONDISSEMENT (MOIS (DATE (ANNÉE (A1), MOIS (A1) -3, JOUR (A1))) / 3,0))

Cette méthode décale la date vers l'avant ou vers l'arrière avant d'obtenir une valeur de mois avant de la diviser par 3. Vous pouvez contrôler le mois de début du trimestre en modifiant la section "Mois (A1) -3".

  • Date de début d'utilisation de janvier: "Mois (A1)"
  • Date de début d'utilisation en avril: "Mois (A1) -3"
  • Date de début d'utilisation de septembre: "Mois (A1) +4"

L'addition et la soustraction peuvent toutes deux être utilisées. Ce n'est pas intuitif, mais l'utilisation de la soustraction fait avancer le quart de départ (-1 en février) et l'addition le fait reculer (+1 en décembre).

[/ÉDITER]


[EDIT] Remarque: Cette méthode fonctionne, mais n'est pas aussi élégante que la méthode ci-dessus.

Après avoir joué, j'ai trouvé un moyen de répondre à votre question bonus. Vous pouvez utiliser des instructions IF pour renvoyer une valeur (texte / int) basée sur le mois. Il vous suffit de déterminer quels mois sont associés à quel trimestre.

= SI (ET (MOIS (A1)> = 4, MOIS (A1) <7), "Q1", IF (ET (MOIS (A1)> = 7, MOIS (A1) <10), "Q2", IF (ET (MOIS (A1)> = 10), "Q3", SI (ET (MOIS (A1)> = 1, MOIS (A1) <4), "Q4")))))

C'est une équation dense qui utilise une combinaison de fonctions "IF", "AND" et "MONTH". En modifiant les valeurs du mois (à l'intérieur des instructions AND), vous pouvez contrôler davantage la valeur renvoyée. J'ai utilisé des chaînes de texte, mais vous pouvez facilement les modifier en fonction de vos besoins.

[/ÉDITER]

J'espère que cela t'aides

Doltknuckle
la source
Merci beaucoup - utilisez-le tout de suite!
mtone
1
Ou=CONCATENATE("Q",ROUNDUP(MONTH(DATE(YEAR(A1),MONTH(A1)-3,DAY(A1)))/3,0))
hyperslug le
Whoa @hyperslug, c'est une bien meilleure façon de le faire. Tout ce que vous avez à faire pour modifier le mois de début du 1er trimestre est d'ajouter ou de soustraire du premier calcul de données "Mois (A1) -3". Je suis trop habitué à travailler avec des instructions IF / TEN.
Doltknuckle
2

Réponse bonus:

=MOD(INT((MONTH(A1)-1)/3)-1,4)+1
Toc
la source
1

Cela devrait être plus efficace:

=CONCATENATE("Q", INT(MONTH(A1)/4) + 1)
David
la source
2
Plus efficace que quoi? Pourquoi faites-vous cette affirmation?
Ƭᴇcʜιᴇ007
Il y a moins de calculs (conversion de date, etc.), le nombre de paramètres est maintenu au niveau minimum, et il est plus court. Cependant, je devrais utiliser INT au lieu de FLOOR. Je vais le tester d'abord.
David
ça marche, j'ai mis à jour la réponse.
David
0

La formule suivante devrait fonctionner:

=IF(OR(MONTH(A1)=1,MONTH(A1)=2,MONTH(A1)=3),"Q1",IF(OR(MONTH(A1)=4,MONTH(A1)=5,MONTH(A1)=6),"Q2",IF(OR(MONTH(A1)=7,MONTH(A1)=8,MONTH(A1)=9),"Q3",IF(OR(MONTH(A1)=10,MONTH(A1)=11,MONTH(A1)=12),"Q4",""))))

Bonne chance.

Titty George
la source