IExcel ne compare pas les dates correctement


0

J'ai un tableau avec deux dates dans le format suivant:

  • C1 Sep 21, 2017 10:22 AM
  • C2 Sep 28, 2017 10:09 AM

Si je lance l'instruction suivante si contre eux ...

=IF(M4<L4, "Fail", "Pass")

... alors la formule revient Pass. Toutefois, si les deux dates sont dans des mois différents, la formule échoue.

Par exemple,

  • C1 [Sep 26, 2017 03:14 PM]
  • C2 [Oct 2, 2017 03:39 PM]
  • retourne Fail.

La valeur de C1 est inférieure à C2, mais la formule échoue toujours.

La valeur renvoyée ne fait aucune différence si la cellule est au format texte ou date. et la =DateValue()fonction ne fonctionnera pas, elle retourne#VALUE

Des idées?


Essentiellement, je cherche à comparer les valeurs de chaque colonne. c1 est l'heure à laquelle quelque chose a été corrigé et c2 est l'heure à laquelle il doit être corrigé. Si le délai a été fixé après l'échéance, la formule doit répondre comme un échec, sinon c'est une réussite
SalemTheCat

Je pense que votre dernier point qui DateValuene fonctionne pas, c’est le problème. Si Excel ne peut pas analyser le texte en ce qu’il reconnaît comme une date, il effectuera probablement des comparaisons de texte et, par conséquent, "O" est <"S". Essayez de formater les données afin que DateValue analyse.
cjb110

@SalemTheCat, donc je suppose bien que C1 représente la colonne 1 et C2 la colonne 2? Donc, les cellules dont vous parlez sont en réalité M4 et L4, n'est-ce pas?
Albin

@SalemTheCat vous devez non seulement écrire vos spécifications dans le commentaire, mais également modifier votre question afin de faciliter sa lecture. Je l'ai fait pour toi cette fois.
Albin

@SalemTheCat J'ai mis à jour ma réponse, cela devrait fonctionner maintenant, du moins cela fonctionne dans ma version Excel.
Albin

Réponses:


2

Si les instructions fonctionnent de la manière suivante:

=IF( Logical Test, Value if test is TRUE, value if test is FALSE)

Donc, vous voudrez peut-être utiliser:

=IF(C2<C1,"Pass",Fail")

Je ne l' ai pas 100% de comprendre votre question, vous devrez peut - être échanger <pour>

Les opérateurs logiques que vous pouvez utiliser:

  • > , Plus grand que
  • < Moins que
  • = Équivaut à
  • <= Inférieur ou égal à
  • >= Plus grand ou égal à
  • <> n'est pas égal

2

Dans votre formule, vous ne comparez pas C1 et C2, mais M4 et L4. Si vous souhaitez comparer directement C1 et C2, vous devez également utiliser ces valeurs dans votre formule.

Cette formule, par exemple

=IF(C1<C2, "Fail", "Pass")

affichera "Echec" si la date / heure dans la cellule C1 est plus petite que la date dans la cellule C2. Si la date dans C1 est plus grande ou égale, il affichera "Pass". Les cellules C1 et C2 doivent être formatées en tant que date et non en tant que texte. Dans les deux cellules, il doit s'agir d'un format de date ou défini par l'utilisateur (qui utilise les variables d'heure et de date proposées par Excel, telles que YYYY, MMM, DD, etc.). Si vous utilisez le format texte, la "clause-if" ne comparera pas l'heure / la date, mais les chaînes, ce qui vous donne des résultats "amusants"!

La fonction DateValue () ne fonctionne que sur les cellules au format texte et dans une certaine étendue, elle ne fonctionne pas avec votre notation. Cela fonctionne avec 31.07.2018 20:36mais ne fonctionne pas avec Jul 31, 2018 08:36 PM.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.