XL 2013 [Résolu] Liste avec des colonne de dates décalées

figment

XLDnaute Nouveau
Bonjour,

J'ai récupéré des données d'enregistreurs de pression et de débits, horodatées, mais certaines dates sont décalées. Je voudrais rassembler les variables débits et pressions de la même date. J'ai tenté les tableaux croisés dynamique et les fonction recherche, index/equiv, mais ces fonctions font toutes la même erreur : quand il y a une date commune mais décalée sur une ou deux lignes, la valeur renvoyée n'est pas la bonne.
Dans l'exemple, le 27/9/19 à 12H18MM00 la valeur 3 m3/h est renvoyée alors qu'il aurait fallut renvoyer 0.

Merci beaucoup pour votre site et votre aide

Nicolas
 

Pièces jointes

  • DateDebitPression.xlsx
    13.6 KB · Affichages: 4

figment

XLDnaute Nouveau
Bonjour figment, salut Gardien de phare,

Dans votre fichier il n'y a aucune formule ou macro permettant de comprendre quel est le problème.

De quelle manière obtenez-vous le résultat 3 m3/h que vous indiquez ?

A+
Merci à vous pour avoir regardé et désolé de ne pas avoir été clair.
J'ai complété le fichier pour tenter de préciser.
Dans le fichier de base il n'y a aucune formules : ce sont des données récupérées. Hélas les dates, surtout les heures ne correspondent pas. Je cherche à ne retenir que les lignes avec une date et une heure strictement identique.
 

Pièces jointes

  • Dates.xlsx
    20.3 KB · Affichages: 7

job75

XLDnaute Barbatruc
Bon voyez le fichier joint et les formules en colonnes F et G :

- si la colonne C est triée en ordre croissant formule simple en F2 :
Code:
=INDEX(D:D;EQUIV(A2;C:C))
- sinon formule matricielle en G2 à valider par Ctrl+Maj+Entrée :
Code:
=INDEX(D$1:D$8;EQUIV(MAX(SI(C$1:C$8<=A2;C$1:C$8));C$1:C$8;0))
A+
 

Pièces jointes

  • DateDebitPression(1).xlsx
    10.6 KB · Affichages: 5

figment

XLDnaute Nouveau
Bon voyez le fichier joint et les formules en colonnes F et G :

- si la colonne C est triée en ordre croissant formule simple en F2 :
Code:
=INDEX(D:D;EQUIV(A2;C:C))
- sinon formule matricielle en G2 à valider par Ctrl+Maj+Entrée :
Code:
=INDEX(D$1:D$8;EQUIV(MAX(SI(C$1:C$8<=A2;C$1:C$8));C$1:C$8;0))
A+
Merci job75,
J'avais tenté mais le problème survient si il y a un décalage des dates identiques : le 27/9 à 12:18:00 (Colonne A et colonne C) les valeurs à retenir sont 3.4(colonne B) et 4 (colonneD)
 

figment

XLDnaute Nouveau
En fait je pense avoir bien lu et vous avez bien répondu, j'en suis désolé, mais c'est plutôt moi qui ai du mal à exprimer mon problème.
Par exemple la ligne 8 de votre premier tableau est correcte, mais la ligne 7 me pose problème car il faudrait ne pas en tenir compte car 12:17:30 n'est pas une valeur commune à la colonne A. J'ai fait le tri en manuel étape par étape en éliminant les dates/heure qui ne sont pas communes :

origine
27/9/19 12:15:00 3 27/09/2019 12:15:00 2.4
27/9/19 12:16:00 2.8 27/09/2019 12:15:30 2.6
27/9/19 12:16:30 3 27/09/2019 12:16:30 2.2
27/9/19 12:17:00 3.3 27/09/2019 12:17:00 2.4
27/9/19 12:18:00 3.4 27/09/2019 12:17:30 3
27/9/19 12:18:30 3.5 27/09/2019 12:18:00 4
27/9/19 12:25:30 2.7 27/09/2019 12:52:30 3.5

Dates non communes enlevées :
27/9/19 12:15:00 3 27/09/2019 12:15:00 2.4
27/9/19 12:16:00 2.8
27/9/19 12:16:30 3 27/09/2019 12:16:30 2.2
27/9/19 12:17:00 3.3 27/09/2019 12:17:00 2.4
27/9/19 12:18:00 3.4
27/9/19 12:18:30 3.5 27/09/2019 12:18:00 4
27/9/19 12:25:30 2.7

Résultat voulu :
27/09/2019 12:15:00 3 2.4
27/09/2019 12:16:30 3 2.2
27/09/2019 12:17:00 3.3 2.4
27/09/2019 12:18:00 3.5 4
 

job75

XLDnaute Barbatruc
Merci, c'est maintenant clair, voyez ce fichier (3) avec :

- en F2 formule matricielle =SIERREUR(INDEX(A$2:A$8;PETITE.VALEUR(SI(NB.SI(C$2:C$8;A$2:A$8);LIGNE(A$2:A$8)-1);LIGNES(F$2:F2)));"")

- en G2 =SIERREUR(RECHERCHEV($F2;A:B;2;0);"")

- en H2 =SIERREUR(RECHERCHEV($F2;C: D;2;0);"") [espace pour éviter le smiley]

A+
 

Pièces jointes

  • DateDebitPression(3).xlsx
    10.7 KB · Affichages: 7

figment

XLDnaute Nouveau
Merci, c'est maintenant clair, voyez ce fichier (3) avec :

- en F2 formule matricielle =SIERREUR(INDEX(A$2:A$8;PETITE.VALEUR(SI(NB.SI(C$2:C$8;A$2:A$8);LIGNE(A$2:A$8)-1);LIGNES(F$2:F2)));"")

- en G2 =SIERREUR(RECHERCHEV($F2;A:B;2;0);"")

- en H2 =SIERREUR(RECHERCHEV($F2;C: D;2;0);"") [espace pour éviter le smiley]

A+

Merci et bravo en F2, c'est du concentré !
Et encore désolé d'avoir été confus dans ma demande.
A++
 

Discussions similaires

Réponses
19
Affichages
2 K
Réponses
11
Affichages
3 K

Statistiques des forums

Discussions
311 733
Messages
2 082 019
Membres
101 872
dernier inscrit
Colin T