J'essayais d'utiliser des fonctions pour obtenir le jour d'aujourd'hui sous forme de nombre dans Excel. Par exemple, lorsque j'ai écrit cette question, j'aurais dû obtenir 18 $.
J'ai essayé d'utiliser:
- la fonction
TODAY()
qui renvoie la date du jour dans un format de date. Day(<date>)
qui renvoie le nombre de jours de<date>
. CelaDAY(19/05/1984)
devrait renvoyer 19.
Par conséquent, la formule
=DAY(TODAY())
devrait donner le résultat que je voulais.
Cependant, ce retour 18/01/1900 (lors de l'utilisation de la fonction aujourd'hui)
Si j'utilise
=TODAY()
dans la cellule A1, puis
=DAY(A1)
dans une autre cellule, j'obtiens le bon résultat.
Pourquoi DAY (TODAY ()) ne donne-t-il pas le résultat attendu?
De par mon expérience de mathématicien et de programmeur amateur (en Maple, Java et certains Python), ma composition de fonctions semble correcte.
Plus généralement, comment Excel gère-t-il la composition des formules?
microsoft-excel
microsoft-excel-2010
Taladris
la source
la source
=DAY(TODAY())
... Renvoie le jour du mois en cours (1 - 31) ..Réponses:
Votre formule est correcte; c'est la façon dont Excel met en forme les cellules qui prête à confusion. Par exemple, si vous définissez manuellement une valeur de cellule sur
18
puis changez le format en une date, il l'affichera commeJanuary 18, 1900
.Si vous modifiez le format de la cellule avec votre formule en "Général", il devrait afficher le résultat que vous attendez.
la source
TODAY()
. Vraiment ennuyeux lorsque vous les utilisez uniquement dans les fonctions de décomposition et que vous devez revenir en arrière.Je pense que vous pourriez être confus en pensant qu'Excel manipule les valeurs de «date»: ce n'est pas le cas.
Comment utiliser les dates et les heures dans Excel
Dans Excel, les nombres sont utilisés pour représenter les dates (le nombre éventuellement fractionnaire de jours depuis le 0 janvier 1900), mais ils sont stockés et manipulés par Excel sous forme de nombres. TODAY () est une fonction à valeur numérique et DAY () est une fonction d'un argument numérique à un résultat numérique.
Dans votre cas, DAY (TODAY ()) a correctement renvoyé 18 (un nombre) que j'imagine que vous avez attribués à une cellule qui est formatée pour afficher une date sous forme abrégée - de sorte que 18 s'affiche comme 18/01/1900. Parce que pour Excel, quand 18 est interprété comme une date, c'est ce que cela signifie.
Si vous formatez cette cellule au format numérique, vous verrez la réponse affichée de la manière attendue, c'est-à-dire 18.
la source
Il n'y a rien de mal avec votre formule. Ce que je voudrais vous suggérer, si la formule ne produit pas le résultat attendu, elle produit soit une erreur, soit un résultat incorrect. Puisque vous n'avez pas mentionné ce que la formule a à cuisiner!.
En attendant, je voudrais vous montrer quelles sont les possibilités d'obtenir la valeur JOUR en nombre dans Excel.
Vérifiez la capture d'écran ci-dessous.
NB:
La date est dans la cellule E166 . La 2e colonne F donne des résultats et la 3e colonne G montre la formule que j'ai utilisée.
Vous pouvez également utiliser la fonction TEXTE pour obtenir la valeur du jour sous forme de données texte.
La valeur est ROUGE La couleur a un format de cellule personnalisé DD, vous pouvez appliquer sur la cellule (S) pour afficher uniquement les valeurs de jour de la date (S).
Remarque, je vous ai suggéré toutes les possibilités car vous avez mentionné que, fondamentalement, vous n'êtes pas un utilisateur d'Excel.
J'espère que cela vous aidera, n'oubliez pas de publier l'ERREUR que votre formule a donnée.
la source
Votre formule est composée correctement. Le résultat inattendu est dû à la façon dont différents types de données sont stockés par Excel.
Il existe deux systèmes similaires qu'Excel utilise pour stocker des dates, en fonction d'un paramètre de niveau de classeur.
Le système de date 1900
Le système de date de 1904
Ces extraits sont extraits de: https://support.microsoft.com/en-us/help/214330/differences-between-the-1900-and-the-1904-date-system-in-excel
Le numéro de série est un simple décompte du nombre de dates depuis le 1er janvier 1900, y compris la date fictive du 29 février 1900. La fonction JOUR, cependant, peut également être considérée comme une fonction de conversion de type de données. Il prend un numéro de série de date en entrée et renvoie un entier en sortie. Dans votre exemple, si nous considérons 18 comme représentant une date en série et comptons 18 jours à partir du 1er janvier 1900, nous nous retrouvons avec le 18 janvier 1900.
La solution simple sur le frontal est de changer votre format de cellule en quelque chose d'autre comme Number ou General . Cela indiquera à Excel de vous l'afficher sous forme d'entier, plutôt que d'essayer de l'interpréter comme une série de dates. À l'arrière, tout est bon pour aller. Le résultat entier peut être utilisé dans n'importe quelle autre formule et se comportera correctement.
Par exemple, supposons que nous voulions créer une formule conditionnelle qui nous indique si le 15 s'est écoulé ou non au cours du mois en cours. Nous pouvons le faire en utilisant:
Il serait beaucoup plus difficile d'obtenir le même résultat en utilisant une série de dates, de sorte que la fonction DAY renvoyant un entier finit par être plus utile dans le contexte des cas d'utilisation courants d'Excel.
la source