Excel-Extraction données sans doublons
Résolu/Fermé
Sam357
Messages postés
134
Date d'inscription
dimanche 11 février 2007
Statut
Membre
Dernière intervention
15 mars 2018
-
2 févr. 2011 à 12:14
tontong Messages postés 2549 Date d'inscription mercredi 3 février 2010 Statut Membre Dernière intervention 23 avril 2024 - 11 févr. 2011 à 14:23
tontong Messages postés 2549 Date d'inscription mercredi 3 février 2010 Statut Membre Dernière intervention 23 avril 2024 - 11 févr. 2011 à 14:23
A voir également:
- Excel-Extraction données sans doublons
- Liste déroulante excel - Guide
- Supprimer les doublons excel - Guide
- Formule excel - Guide
- Doublons photos - Guide
- Si et excel - Guide
7 réponses
Vaucluse
Messages postés
26496
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
1 avril 2022
6 396
7 févr. 2011 à 17:08
7 févr. 2011 à 17:08
Bonsoir
j'ai déconnecté un peu sur la fin, ce qui fait que je me souviens plus très bien des critères de sélections?
Est ce que ce dernier fichier correspond à ce que vous cherchez, sinon, revenez en précisant toutes les conditions du tri.
http://www.cijoint.fr/cjlink.php?file=cj201102/cijzNjqnXw.xls
La formule de codage affiche 0 si le code que vous aviez placé en résultat de la colonne F calcule une valeur nulle pour le N° placé en ligne dans la colonne Q de la feuille données
c'est à dire qu'elle élimine de l'édition tout ce qui pouvait valoir 0 dans la colonne F de la feuille récap
Crdlmnt
j'ai déconnecté un peu sur la fin, ce qui fait que je me souviens plus très bien des critères de sélections?
Est ce que ce dernier fichier correspond à ce que vous cherchez, sinon, revenez en précisant toutes les conditions du tri.
http://www.cijoint.fr/cjlink.php?file=cj201102/cijzNjqnXw.xls
La formule de codage affiche 0 si le code que vous aviez placé en résultat de la colonne F calcule une valeur nulle pour le N° placé en ligne dans la colonne Q de la feuille données
c'est à dire qu'elle élimine de l'édition tout ce qui pouvait valoir 0 dans la colonne F de la feuille récap
Crdlmnt
Vaucluse
Messages postés
26496
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
1 avril 2022
6 396
2 févr. 2011 à 12:57
2 févr. 2011 à 12:57
Bonjour
peut être sur cette base pour débuter
en feuille F_1 les entrées en continue
en feuille F_0 la liste exhaustive des fournisseurs.
pour éliminer les dates de plus de 5 jours, il suffit de rajouter une condition dans la colonne qui incrémente le code en feuille F_0 en colonne G
Selon mon modèle à adapter au votre
Rajouter par rapport à la date:
=SI(B2<AUJOURDHUI()-5;0;SI(NB.SI($A$2:A2;A2)=1;MAX($G$1:G1)+1;0))
revenez si besoin de complément
crdlmnt
http://www.cijoint.fr/cjlink.php?file=cj201102/cijNimuEF0.xls
peut être sur cette base pour débuter
en feuille F_1 les entrées en continue
en feuille F_0 la liste exhaustive des fournisseurs.
pour éliminer les dates de plus de 5 jours, il suffit de rajouter une condition dans la colonne qui incrémente le code en feuille F_0 en colonne G
Selon mon modèle à adapter au votre
Rajouter par rapport à la date:
=SI(B2<AUJOURDHUI()-5;0;SI(NB.SI($A$2:A2;A2)=1;MAX($G$1:G1)+1;0))
revenez si besoin de complément
crdlmnt
http://www.cijoint.fr/cjlink.php?file=cj201102/cijNimuEF0.xls
Sam357
Messages postés
134
Date d'inscription
dimanche 11 février 2007
Statut
Membre
Dernière intervention
15 mars 2018
18
2 févr. 2011 à 14:52
2 févr. 2011 à 14:52
Bonjour Vaucluse,
Pourrais tu m'éclairer sur le rôle de la fonction dans le nom "Liste" ?
=INDIRECT("F1!O2:O"&NB.SI(F_0!A:A;"<>")-1)
Le format de la date (dans mon fichier est en texte) est il génant car lorsque j'ajoute cette condition la formule ne renvie plus de données sur l'autre feuille. Voici ma formule :
=SI(J2<AUJOURDHUI()-5;0;SI(NB.SI($Q$2:Q2;Q2)=1;MAX($W$2:W2)+1;0))
colonne J = date livraison
colonne Q = n# d'immat.
colonne W = code liste
Cordialement
Pourrais tu m'éclairer sur le rôle de la fonction dans le nom "Liste" ?
=INDIRECT("F1!O2:O"&NB.SI(F_0!A:A;"<>")-1)
Le format de la date (dans mon fichier est en texte) est il génant car lorsque j'ajoute cette condition la formule ne renvie plus de données sur l'autre feuille. Voici ma formule :
=SI(J2<AUJOURDHUI()-5;0;SI(NB.SI($Q$2:Q2;Q2)=1;MAX($W$2:W2)+1;0))
colonne J = date livraison
colonne Q = n# d'immat.
colonne W = code liste
Cordialement
Vaucluse
Messages postés
26496
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
1 avril 2022
6 396
2 févr. 2011 à 15:04
2 févr. 2011 à 15:04
re
1°) la formule INDIRECT n'a rien à voir avec le sujet, elle était là dans un autre exemple pour créer une liste de référence à un menu déroulant en ajustant la longueur de liste au nombre de nom. C'est un autre sujet que j'ai omis de retirer, on y reviendra s'il vous intéresse.
je ne vois pas ce qui peut ne pas marcher dans la formule que vous présentez, sauf si il n'y a pas dans votre liste de N° dont la date est supérieure à Aujourd'hui -5, c'est à dite au 28/1 auquel cas, li n'y a que des 0 dans la colonne W
si vous voulez inclure le aujourd'hui -5 , passez à aujourd'hui passer à <AUJOURDHUI()-6
si tout cela va bien, dites moi quelle est la formule que vous utilisez pour reconstruire la liste.(mon modèle, colonne A feuille F_1)
a vous lire
crdlmnt
1°) la formule INDIRECT n'a rien à voir avec le sujet, elle était là dans un autre exemple pour créer une liste de référence à un menu déroulant en ajustant la longueur de liste au nombre de nom. C'est un autre sujet que j'ai omis de retirer, on y reviendra s'il vous intéresse.
je ne vois pas ce qui peut ne pas marcher dans la formule que vous présentez, sauf si il n'y a pas dans votre liste de N° dont la date est supérieure à Aujourd'hui -5, c'est à dite au 28/1 auquel cas, li n'y a que des 0 dans la colonne W
si vous voulez inclure le aujourd'hui -5 , passez à aujourd'hui passer à <AUJOURDHUI()-6
si tout cela va bien, dites moi quelle est la formule que vous utilisez pour reconstruire la liste.(mon modèle, colonne A feuille F_1)
a vous lire
crdlmnt
Sam357
Messages postés
134
Date d'inscription
dimanche 11 février 2007
Statut
Membre
Dernière intervention
15 mars 2018
18
2 févr. 2011 à 15:42
2 févr. 2011 à 15:42
re,
J'ai trouvé l'erreur (voir ci-dessous) donc maintenant j'ai un retour sur la feuille recap.
=SI(J2<AUJOURDHUI()-5;0;SI(NB.SI($Q$2:Q2;Q2)=1;MAX($W$2:W2)+1;0))
alors qu'il fallait entrer
=SI(J2<AUJOURDHUI()-5;0;SI(NB.SI($Q$2:Q2;Q2)=1;MAX($W$1:W1)+1;0))
Malheureusement ça ne fonctionne pas à 100%, je m'explique : ça me remonte dans la liste les Immat. pour les livraisons à partir du 01/02 mais, pas celle datant du 30/01 qui est pourtant dans les 5 jours.
D'autre part, malgré la condition ci-dessous, la fonction située dans la colonne "Code liste" renvoie un chiffre à partir des livraisons du 16/01.
=SI(J2<AUJOURDHUI()-5;0;
Voici la formule que je rentre pour obtenir la liste sur ma feuille "Recap" qui correspond à la feuille F1 de votre exemple.
=SI(LIGNE()-1>MAX(données!W:W);"";INDEX(données!A:W;EQUIV(LIGNE()-1;données!W:W;0);17))
Cordialement,
Sam357
J'ai trouvé l'erreur (voir ci-dessous) donc maintenant j'ai un retour sur la feuille recap.
=SI(J2<AUJOURDHUI()-5;0;SI(NB.SI($Q$2:Q2;Q2)=1;MAX($W$2:W2)+1;0))
alors qu'il fallait entrer
=SI(J2<AUJOURDHUI()-5;0;SI(NB.SI($Q$2:Q2;Q2)=1;MAX($W$1:W1)+1;0))
Malheureusement ça ne fonctionne pas à 100%, je m'explique : ça me remonte dans la liste les Immat. pour les livraisons à partir du 01/02 mais, pas celle datant du 30/01 qui est pourtant dans les 5 jours.
D'autre part, malgré la condition ci-dessous, la fonction située dans la colonne "Code liste" renvoie un chiffre à partir des livraisons du 16/01.
=SI(J2<AUJOURDHUI()-5;0;
Voici la formule que je rentre pour obtenir la liste sur ma feuille "Recap" qui correspond à la feuille F1 de votre exemple.
=SI(LIGNE()-1>MAX(données!W:W);"";INDEX(données!A:W;EQUIV(LIGNE()-1;données!W:W;0);17))
Cordialement,
Sam357
tontong
Messages postés
2549
Date d'inscription
mercredi 3 février 2010
Statut
Membre
Dernière intervention
23 avril 2024
1 054
2 févr. 2011 à 16:20
2 févr. 2011 à 16:20
Bonjour,
Juste en passant pour dire qu'il vaudrait mieux que les dates ne soient pas au format texte.
Juste en passant pour dire qu'il vaudrait mieux que les dates ne soient pas au format texte.
Vaucluse
Messages postés
26496
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
1 avril 2022
6 396
2 févr. 2011 à 16:26
2 févr. 2011 à 16:26
Etes vous sur que vos dates sont bien en format date dans la colonne J
faits cette expèrience:
formatez la colonne J en format standard et voyez si toutes les valeurs se transforment bien en nombre à 5 chiffres le format excel pour les dates?
sinon, si vous pouvez mettre à disposition une partie de votre fichier (avec uniquement la colonne des dates si problème de confidentialité) sur:
http///www.cijoint.fr, on regardera ce qui se passe
crdlmnt
faits cette expèrience:
formatez la colonne J en format standard et voyez si toutes les valeurs se transforment bien en nombre à 5 chiffres le format excel pour les dates?
sinon, si vous pouvez mettre à disposition une partie de votre fichier (avec uniquement la colonne des dates si problème de confidentialité) sur:
http///www.cijoint.fr, on regardera ce qui se passe
crdlmnt
tontong
Messages postés
2549
Date d'inscription
mercredi 3 février 2010
Statut
Membre
Dernière intervention
23 avril 2024
1 054
3 févr. 2011 à 15:16
3 févr. 2011 à 15:16
Peut-être une solution à vérifier( basée sur la dernière proposition de Vaucluse).
Remplacer la formule en W2 =SI(J2<AUJOURDHUI()-Nb_jour_passés;0;SI(NB.SI($Q$2:Q2;Q2)=1;MAX($W$1:W1)+1;0))
Par la suivante:
=SI(SOMMEPROD(($J$2:J2>AUJOURDHUI()-Nb_jour_passés)*($Q$2:Q2=Q2)*($Q$2:Q2<>"")*($P$2:P2>0))=1;MAX($W$1:W1)+1;0)
et recopier sur la hauteur.
Remplacer la formule en W2 =SI(J2<AUJOURDHUI()-Nb_jour_passés;0;SI(NB.SI($Q$2:Q2;Q2)=1;MAX($W$1:W1)+1;0))
Par la suivante:
=SI(SOMMEPROD(($J$2:J2>AUJOURDHUI()-Nb_jour_passés)*($Q$2:Q2=Q2)*($Q$2:Q2<>"")*($P$2:P2>0))=1;MAX($W$1:W1)+1;0)
et recopier sur la hauteur.
Vaucluse
Messages postés
26496
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
1 avril 2022
6 396
4 févr. 2011 à 06:35
4 févr. 2011 à 06:35
Bonjour tous
et merci à tontong, le défaut de ré-alignement de la formule et des N° de ligne dans la feuille récapitulative m'avait échappé!
je pense que sa dernière proposition pour éliminer les valeurs 0 en P devrait marcher
crdlmnt
et merci à tontong, le défaut de ré-alignement de la formule et des N° de ligne dans la feuille récapitulative m'avait échappé!
je pense que sa dernière proposition pour éliminer les valeurs 0 en P devrait marcher
crdlmnt
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Sam357
Messages postés
134
Date d'inscription
dimanche 11 février 2007
Statut
Membre
Dernière intervention
15 mars 2018
18
7 févr. 2011 à 16:11
7 févr. 2011 à 16:11
Bonjour à tous et désolé pour le retard,
J'ai peut être manqué une étape mais le Récap affiche toujours les 0.
Je mets en ligne le fichier tenant compte des dernières modifications.
http://www.cijoint.fr/cjlink.php?file=cj201102/cij2faVHvv.xls
Merci.
Cordialement,
J'ai peut être manqué une étape mais le Récap affiche toujours les 0.
Je mets en ligne le fichier tenant compte des dernières modifications.
http://www.cijoint.fr/cjlink.php?file=cj201102/cij2faVHvv.xls
Merci.
Cordialement,
tontong
Messages postés
2549
Date d'inscription
mercredi 3 février 2010
Statut
Membre
Dernière intervention
23 avril 2024
1 054
7 févr. 2011 à 17:49
7 févr. 2011 à 17:49
Bonjour à tous,
Le fichier joint au #23 semble correct sauf pour la colonne P qui contient encore des zéros en texte.
Un de mes commentaires précédents doit être appliqué:
Il serait prudent de nettoyer la colonne NB de Tc qui contient des nombres et des textes( les 0). Pour cela appliquez la même procédure que pour les dates:
dans une cellule vierge, taper 1 et copier le
sélectionnez le champ de NB de Tc
clic droit / collage spécial / cochez "multiplication"
Le fichier joint au #23 semble correct sauf pour la colonne P qui contient encore des zéros en texte.
Un de mes commentaires précédents doit être appliqué:
Il serait prudent de nettoyer la colonne NB de Tc qui contient des nombres et des textes( les 0). Pour cela appliquez la même procédure que pour les dates:
dans une cellule vierge, taper 1 et copier le
sélectionnez le champ de NB de Tc
clic droit / collage spécial / cochez "multiplication"
Sam357
Messages postés
134
Date d'inscription
dimanche 11 février 2007
Statut
Membre
Dernière intervention
15 mars 2018
18
7 févr. 2011 à 18:13
7 févr. 2011 à 18:13
Re,
Tontong et Vaucluse merci à vous ça fonctionne !
Tontong, vous aviez raison j'avais oublié de modifier le format en nombre.
Vaucluse votre exemple ne fait effectivement pas apparaître de 0 dans la feuille Récap.
Merci à vous pour le temps que vous m'avez consacré.
Cordialement,
Sam357
Tontong et Vaucluse merci à vous ça fonctionne !
Tontong, vous aviez raison j'avais oublié de modifier le format en nombre.
Vaucluse votre exemple ne fait effectivement pas apparaître de 0 dans la feuille Récap.
Merci à vous pour le temps que vous m'avez consacré.
Cordialement,
Sam357
tontong
Messages postés
2549
Date d'inscription
mercredi 3 février 2010
Statut
Membre
Dernière intervention
23 avril 2024
1 054
10 févr. 2011 à 17:49
10 févr. 2011 à 17:49
Bonjour,
En essayant d'utiliser la solution décrite pour un autre fichier j'ai découvert un bug.
La diversité, pourtant importante, des combinaisons dans le fichier de Sam357 ne nous a pas mis à l'abri.
Un petit fichier tente de résumer tout ça.
https://www.cjoint.com/?0ckrVwLGmER
En essayant d'utiliser la solution décrite pour un autre fichier j'ai découvert un bug.
La diversité, pourtant importante, des combinaisons dans le fichier de Sam357 ne nous a pas mis à l'abri.
Un petit fichier tente de résumer tout ça.
https://www.cjoint.com/?0ckrVwLGmER
Vaucluse
Messages postés
26496
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
1 avril 2022
6 396
11 févr. 2011 à 09:18
11 févr. 2011 à 09:18
Bonjour tontong...
nous avons abandonné ton option où sommeprod cherchant le 0 est inclus dans la formule de codage...elle ne correspond pas en effet aux besoins puisqu'il s'agit de détecter que les codes trouvés n'ont pas dans toute la liste une somme égal à 0.
voir la dernière proposition. ici
http://www.cijoint.fr/cjlink.php?file=cj201102/cijzNjqnXw.xls
en fait le codage reprend l'item de calcul de la feuille récap, mis en facteur 0 pour annuler l'incrémentation du code si ce résultat est égal à 0 et 1 pour le conserver dans le cas contraire
crdlmnt
nous avons abandonné ton option où sommeprod cherchant le 0 est inclus dans la formule de codage...elle ne correspond pas en effet aux besoins puisqu'il s'agit de détecter que les codes trouvés n'ont pas dans toute la liste une somme égal à 0.
voir la dernière proposition. ici
http://www.cijoint.fr/cjlink.php?file=cj201102/cijzNjqnXw.xls
en fait le codage reprend l'item de calcul de la feuille récap, mis en facteur 0 pour annuler l'incrémentation du code si ce résultat est égal à 0 et 1 pour le conserver dans le cas contraire
crdlmnt
tontong
Messages postés
2549
Date d'inscription
mercredi 3 février 2010
Statut
Membre
Dernière intervention
23 avril 2024
1 054
11 févr. 2011 à 14:23
11 févr. 2011 à 14:23
Bonjour Vaucluse,
et surtout merci d'avoir "replonger".
J'avais en effet zapper la partie SommeProd qui annule l'incrément...
Bonne journée.
et surtout merci d'avoir "replonger".
J'avais en effet zapper la partie SommeProd qui annule l'incrément...
Bonne journée.