web-dev-qa-db-fra.com

Certaines dates sont reconnues comme dates, certaines dates ne sont pas reconnues. Pourquoi?

Voici une liste de dates:

04-22-11
12-19-11
11-04-11
12-08-11
09-27-11
09-27-11
04-01-11 

Lorsque vous copiez cette liste dans Excel, certaines d'entre elles sont reconnues comme des dates, d'autres non, de la manière suivante:

04-22-11
12-19-11
11-04-11 (date)
12-08-11 (date)
09-27-11
09-27-11
04-01-11 (date) 

Quelqu'un sait-il pourquoi? Et comment forcer Excel à reconnaître tous les éléments de la liste en tant que dates?

Merci beaucoup!

19
J. Lee

Ce n'est pas si dur...

Découvrez ce post sur le forum:

http://www.pcreview.co.uk/forums/Excel-not-recognizing-dates-dates-t3139469.html

Les étapes en bref:

  1. Sélectionnez uniquement la colonne de "dates" 
  2. Cliquez sur Données> Texte en colonnes.
  3. Cliquez sur Suivant 
  4. Cliquez sur Suivant 
  5. À l'étape 3 de l'assistant, cochez la case "Date" sous le format de données Col, puis choisissez Dans la liste déroulante, choisissez "DMY". 
  6. Cliquez sur Terminer
31
Watki02

Cela est dû aux paramètres régionaux de votre ordinateur.

Lorsque vous collez des données dans Excel, il ne s'agit que de chaînes (pas de dates).

Excel a une certaine logique pour reconnaître vos formats de données actuels, ainsi que quelques formats de date similaires ou des formats de date évidents dans lesquels il peut s’agir d’une date. Lorsqu'il est capable de faire correspondre vos données collées à une date valide, il les formate en tant que date dans la cellule dans laquelle il se trouve.

Votre exemple spécifique est dû à votre liste de dates est formatée comme "m/j/yy" qui est le format américain. il se colle correctement dans Excel, car mon paramètre régional est défini sur "Anglais américain" (même si je suis canadien :))

Si votre système est réglé sur le format anglais/français canadien, il attendra alors le format "j/m/aa" et ne reconnaîtra aucune date où le mois est> 13.

La meilleure façon d'importer des données contenant des dates dans Excel consiste à les copier dans ce format.

2011-04-22
2011-12-19
2011-11-04
2011-12-08
2011-09-27
2011-09-27
2011-04-01

"Aaaa-MM-jj", ce format est reconnu de la même manière sur tous les ordinateurs que j'ai vus (format appelé ODBC ou format standard) où les unités sont toujours du plus grand au plus petit ("aaaa-MM-jj HH: mm: ss.fff") est un autre effet secondaire: il se triera correctement en tant que chaîne.

Pour éviter d'échanger vos paramètres régionaux, vous pouvez envisager d'écrire une macro dans Excel pour y coller les données. Un format contextuel simple et une logique de base pour reformater les dates ne seraient pas trop difficiles.

5
DarrenMB

Dans votre cas, il les prend probablement au format JJ-MM-AA, et non au format MM-JJ-AA.

4
padis

Le moyen le plus simple et le plus rapide de résoudre ce problème consiste à rechercher et à remplacer le séparateur de dates sur votre séparateur de dates, avec le même séparateur . vous constaterez que toutes les dates sont alignées à droite comme elles devraient l'être après cela.

2
Michael

Voici ce qui a fonctionné pour moi sur un format mm/jj/aaaa:

=DATE(VALUE(RIGHT(A1,4)),VALUE(LEFT(A1,2)),VALUE(MID(A1,4,2)))

Convertissez la cellule avec la formule au format de date et faites-la glisser vers le bas.

1
Vasi

Voici ce qui a fonctionné pour moi. J'ai mis en évidence la colonne avec toutes mes dates. Sous l'onglet Données, j'ai sélectionné "texte en colonnes" et la case "Délimité", j'ai cliqué sur Suivant et j'ai terminé. Bien que rien ne semble avoir changé, Excel lisait maintenant la colonne sous forme de dates et je pouvais trier par dates.

1
Greg

La solution la plus simple consiste à insérer yy, mm, jj dans la formule date() en les extrayant d'abord avec left(), mid() et right(). Dans ce cas, en supposant que votre date d'entrée soit en A1:

=date(right(A1,2)+100,left(A1,2),mid(A1,4,2))

Explication de ce qui précède:

=right(A1,2) obtient les deux derniers chiffres de la cellule (yy). Nous ajoutons 100 parce que 1911 est la valeur par défaut au lieu de 2011 (omettez +100 s'il ne le fait pas pour vous)

=left(A1,2) obtient les deux premiers chiffres de la cellule (mm).

=mid(A1,4,2) obtient 2 chiffres au milieu de la cellule, en commençant par le 4ème chiffre (jj).

Pourquoi cela se produit-il en premier lieu:

Je rencontre régulièrement ce problème lorsque j'importe des données bancaires canadiennes dans Excel. En bref, le format de votre date de saisie ne correspond pas à vos paramètres régionaux. 

Votre réglage semble signifier que Excel souhaite saisir la date au format JJ-MM-AA ou AA-MM-JJ, mais vos données d’entrée sont au format MM-JJ-AA.

Ainsi, Excel voit vos jours comme des mois et vice-versa, ce qui signifie que toute date avec un jour inférieur à 12 sera reconnue comme une date, MAIS LA DATE FAUX (le mois et le jour inversés) et toute date avec un jour supérieur à 12 ne seront pas reconnus. comme date du tout, car Excel voit le jour comme un 13ème mois.

Malheureusement, vous ne pouvez pas simplement changer la mise en forme, car Excel a déjà verrouillé ces affectations jour/mois et vous finissez par déplacer visuellement ce que Excel pense en jours et en mois, sans les réaffecter.

Franchement, cela me surprend de ne pas avoir d’outil Excel pour inverser la date, car je penserais que cela se produit tout le temps. Mais la formule ci-dessus le fait assez simplement.

REMARQUE: si vos dates ne comportent pas de zéros au début (par exemple, le 4/8/11 par rapport au 04/08/12), cela devient plus compliqué, car vous devez extraire différentes quantités de chiffres en fonction de la date (par exemple, le 4/9/11 en 4)./10/11). Vous devez ensuite construire un couple si déclarations dans votre formule. Brut.

0
Shawn Taylor

Cliquez avec le bouton droit de la souris sur l'en-tête de la colonne et sélectionnez Formater les cellules, choisissez Date et sélectionnez le format de date souhaité. Ceux qui ne sont pas reconnus sont ambigus et, en tant que tels, ne sont interprétés que comme des problèmes résolus après l'application du formatage à la colonne. Notez que pour moi, dans Excel 2002 SP3, les dates indiquées ci-dessus sont automatiquement et correctement interprétées comme des dates lors du collage.

0
Benjamin

Une solution de contournement à ce problème consiste à modifier temporairement vos paramètres régionaux. Par conséquent, le format de date du fichier importé au format CSV "correspond" à celui des paramètres régionaux.

Open Office semble fonctionner de manière similaire pour ce problème, voir: http://www.oooforum.org/forum/viewtopic.phtml?t=85898

0
Frosty Z