récupérer données seulement si suite logique Le sujet est résolu

Y compris Power BI, Power Query et toute autre question en lien avec Excel
k
kimagure
Membre habitué
Membre habitué
Messages : 50
Inscrit le : 13 mai 2014
Version d'Excel : 2007 fr

Message par kimagure » 29 juillet 2015, 13:35

Bonjour,
je dois récupérer des temps sur un fichier Excel.
ce fichier est composé de données sur le nombre de pièce par plaque en case D (ici, une plaque de 6 pièces), un statut (pièce OK ou KO) et de l'heure à laquelle la pièce est passée. quand une pièce est KO, elle repasse un 2 ème test à la fin de la plaque
je ne dois prendre uniquement les temps des pièces OK qui s'enchaine sur une plaque, c'est à dire de la 1 à la 6 en étant OK.
je souhaitais donc faire un filtre pour virer les KO, puis faire une formule pour récupérer les données ou je ne récupérerais uniquement que ceux ou 6 pièces s'enchainent, ce qui m'évitera d'avoir par exemple en ligne 131 à 137, 1/2/3/5/6/4.
Pouvez-vous m'aider?

Le but par la suite est de faire la différence entre toutes les pièces 1 pour avoir un temps / plaque.
Merci d'avance.
essais KIM.xlsx
(29.62 Kio) Téléchargé 4 fois
k
kimagure
Membre habitué
Membre habitué
Messages : 50
Inscrit le : 13 mai 2014
Version d'Excel : 2007 fr

Message par kimagure » 29 juillet 2015, 15:10

peut être que ça n'est pas possible...
je n'arrive pas à trouver.
M
MFerrand
Fanatique d'Excel
Fanatique d'Excel
Messages : 17'203
Appréciations reçues : 445
Inscrit le : 20 juillet 2015
Version d'Excel : 2010 FR

Message par MFerrand » 30 juillet 2015, 02:39

Bonsoir,

Cette formule simple convient à ton tableau actuel pour extraire le temps de la pièce 1:

=SI($D5=1;SI($C11<>"";SI(ET($C11<>$C5;$C10=$C5);$B5;"");SI($C10<>"";$B5;""));"")

Mais je n'ai pas compris ce que tu voulais faire d'autre.
Cordialement,
Ferrand
essais KIM.xlsx
(41.83 Kio) Téléchargé 4 fois
k
kimagure
Membre habitué
Membre habitué
Messages : 50
Inscrit le : 13 mai 2014
Version d'Excel : 2007 fr

Message par kimagure » 30 juillet 2015, 14:51

Bonjour,
merci c'est exactement ça car ça fonctionne pour tout mes besoins ou je n'ai que 6 pièces.
Par contre, mes besoins ou le nombre MAX est autre, ne marche pas car la formule va de 6 en 6...

y'a t'il moyen de faire la même recherche, avec comme intervalle de recherche, la valeur max de la colonne D?
exemple:
si le nombre MAX est 40 dans la colonne D, la 1ère formule ira de D5 à D39.
Toutes mes données, à ce moment là iront de 40 en 40.
si je prend une autre donnée, je ré-écraserais le texte, et la quantité pourra aller de 2 en 2...

je ne sais pas si j'ai été clair...
merci d'avance.
M
MFerrand
Fanatique d'Excel
Fanatique d'Excel
Messages : 17'203
Appréciations reçues : 445
Inscrit le : 20 juillet 2015
Version d'Excel : 2010 FR

Message par MFerrand » 30 juillet 2015, 15:38

Bonjour,

Je n'avais pas dans ton modèle les éléments pour la rendre adaptable à tous les cas que tu rencontres...
Il faudrait confirmer d'abord que ce que tu souhaites extraire est bien la valeur horaire pour la pièce 1 (dans tous les cas).
Ensuite que ton tableau de travail est toujours constitué de la même façon avec ces 4 colonnes, que la ligne au-dessus reste vide, et que la ligne qui suit le tableau reste également vide.
Et si le nombre de pièces varie, le tableau est toujours constitué de la même façon : succession 1, 2, 3... reprise des KO...

Et j'introduis un élément pour relativiser la formule, de façon qu'en la recopiant en première ligne du tableau, en E, elle puisse fonctionner pour tout tableau.
Cordialement,
Ferrand
k
kimagure
Membre habitué
Membre habitué
Messages : 50
Inscrit le : 13 mai 2014
Version d'Excel : 2007 fr

Message par kimagure » 30 juillet 2015, 17:12

Bonjour,
j'ai modifié le fichier joint, avec 3 cas différents.
feuille 1, 6 pièces, feuille 2, 40 pièces, et feuille 3, 18 pièces.
je te confirme que je souhaite bien extraire les valeurs 1 d'une série OK pour toutes les pièces.
Si 1 KO dans la série, il ne faut pas le comptabiliser. ( comme la formule entrée dans le premier essai)
il y aura toujours les lignes vides sur le dessus, par contre elle n'est pas seulement constitué de 4 colonne, mais peut avoir des 50aines, que je copie et colle, mais dont je n'ai pas besoin. je peux copier et coller les données des 4 colonne pour n'avoir que celle là si besoin.
le nombre de lignes sera différents à chaque fois. je me suis donnée un MAX de 1000 lignes.
par contre, le tableau est toujours configuré de la même façon, enchainement des pièces "logiques" et , si pièce KO, elle repasse une deuxième fois à la fin de la plaque. qu'elle soit KO ou OK la deuxième fois, je ne veux pas de la donnée de cette plaque.
essais KIM.xlsx
(64.14 Kio) Téléchargé 2 fois
M
MFerrand
Fanatique d'Excel
Fanatique d'Excel
Messages : 17'203
Appréciations reçues : 445
Inscrit le : 20 juillet 2015
Version d'Excel : 2010 FR

Message par MFerrand » 30 juillet 2015, 18:29

OK, je vois ça dès que possible...
Si je comprends bien, ces 4 colonnes ne se trouvent pas en A, B, C, D dans le fichier initial. Il faut donc s'appuyer sur la position relative. Ou bien tu transfères sur une nouvelle feuille pour ton extraction d'heure et à ce moment là on commence toujours par A ?

A+
Ferrand
k
kimagure
Membre habitué
Membre habitué
Messages : 50
Inscrit le : 13 mai 2014
Version d'Excel : 2007 fr

Message par kimagure » 30 juillet 2015, 22:47

Si, les données en Arc ou D seront toujours du même genre, pas de.problème.
Par contre, les données à partir de E peuvent varier et il peut y en avoir jusqu a des colonnes à 2 lettres.
M
MFerrand
Fanatique d'Excel
Fanatique d'Excel
Messages : 17'203
Appréciations reçues : 445
Inscrit le : 20 juillet 2015
Version d'Excel : 2010 FR

Message par MFerrand » 30 juillet 2015, 23:10

Si les données utiles sont bien dans les colonnes A à D, je les traite en absolues pour que ça fonctionne quelle que soit la colonne où on place la formule.
A+
M
MFerrand
Fanatique d'Excel
Fanatique d'Excel
Messages : 17'203
Appréciations reçues : 445
Inscrit le : 20 juillet 2015
Version d'Excel : 2010 FR

Message par MFerrand » 31 juillet 2015, 00:00

Voilà la formule provisoirement "définitive" :

=SI($D5=1;SI(DECALER($C5;MAX($D:$D);)<>"";SI(ET(DECALER($C5;MAX($D:$D);)<>$C5;DECALER($C5;MAX($D:$D)-1;)=$C5);$B5;"");SI(DECALER($C5;MAX($D:$D)-1;)<>"";$B5;""));"")

Il faut savoir que le formule ne s'occupe pas des KO ou OK. Celle-ci a été modifiée pour s'adapter aux variations du nombre de pièces (identifié comme nombre maximum dans la colonne D.
Elle cherche les 1, vérifie que à la position théorique du 1 suivant le code Flan en C est différent de celui qui précède, auquel cas le lot est bon et elle prélève l'indication horaire.
En fin, à cet emplacement du 1 suivant elle va trouver une cellule vide : dans ce cas elle s'assure que le 1 précédent est servi et elle valide.

Cette dernière vérification n'intervient logiquement qu'une fois en fin de colonne. Mais sur ta série 18 pièces il y a plusieurs trous en C. Il ne semble pas que cela ait eu de conséquence (mais à vérifier).
Si des lots dépourvus de codes flan peuvent être corrects, ils pourraient ne pas être validés, et vice versa. Ce point est à regarder de plus près...

Il y a 2 autres anomalies que j'ai noté dans cette feuille : un lot de 17 pièces (la 12 manquante), non validé, normal, incomplet ; un autre avec la 12 KO, mais non reprise en fin, d'où le lot validé par la formule.

Aucun souci pour 6 pièces et 40 pièces.

A toi de voir maintenant.

Cordialement
Ferrand
essais2 KIM.xlsx
(87.36 Kio) Téléchargé 3 fois
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message