Identifier des données communes
Fermé
Jeff36100
Messages postés
7
Date d'inscription
jeudi 28 septembre 2017
Statut
Membre
Dernière intervention
2 mars 2018
-
19 oct. 2017 à 14:06
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 - 19 oct. 2017 à 15:32
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 - 19 oct. 2017 à 15:32
A voir également:
- Identifier des données communes
- Identifier appareil avec adresse mac - Guide
- Excel validation des données liste - Guide
- Reinstaller windows sans perte de données - Guide
- Effacer les données de navigation - Guide
- Trier des données excel - Guide
4 réponses
Vaucluse
Messages postés
26496
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
1 avril 2022
6 412
Modifié le 19 oct. 2017 à 14:27
Modifié le 19 oct. 2017 à 14:27
Bonjour
en deux temps pour éviter une matricielle compliquée qui pourrait être lourde sur 15000 lignes:
(un seul niveau de matricielle suffira!!!)
si on commence en ligne 3 avec 1° tableau A,B,C et second tableau E,F,G
une colonne hors champ (par exemple en H3 à tirer sur la hauteur dans la feuille initiale avec cette formule:
=SI(NB.SI(E3:G3;"");"";SI(EQUIV(E3&F3&G3;$A$3:$A$15001&$B$3:$B$15001&$C$3:$C$15001;0);MAX($H$2:H2)+1;""))
attention, formule matricielle à entrer avec la touche enter en maintenant les touches ctrl et shift enfoncées
(elle doit s'afficher automatiquement entre accolades dans la barre de formule)
et ensuite pour éditer le tableau de résultat cette formule, normale cette fois:
=SI(LIGNE(A1)>MAX(H:H;"";INDEX($E$3:$G$15000;EQUIV(LIGNE($A1);$H$3:$H$15000;0);1))
en fin de formule:
le .......);1) pour la colonne E ......);2) pour la colonne F et ....);3) pour la G
attention à tous les signes $ aux bons endroits
crdlmnt
ps: la formule de détection élimine les lignes qui contiennent au moins une case vide en E F ouG
La qualité de la réponse dépend surtout de la clarté de la question, merci!
en deux temps pour éviter une matricielle compliquée qui pourrait être lourde sur 15000 lignes:
(un seul niveau de matricielle suffira!!!)
si on commence en ligne 3 avec 1° tableau A,B,C et second tableau E,F,G
une colonne hors champ (par exemple en H3 à tirer sur la hauteur dans la feuille initiale avec cette formule:
=SI(NB.SI(E3:G3;"");"";SI(EQUIV(E3&F3&G3;$A$3:$A$15001&$B$3:$B$15001&$C$3:$C$15001;0);MAX($H$2:H2)+1;""))
attention, formule matricielle à entrer avec la touche enter en maintenant les touches ctrl et shift enfoncées
(elle doit s'afficher automatiquement entre accolades dans la barre de formule)
et ensuite pour éditer le tableau de résultat cette formule, normale cette fois:
=SI(LIGNE(A1)>MAX(H:H;"";INDEX($E$3:$G$15000;EQUIV(LIGNE($A1);$H$3:$H$15000;0);1))
en fin de formule:
le .......);1) pour la colonne E ......);2) pour la colonne F et ....);3) pour la G
attention à tous les signes $ aux bons endroits
crdlmnt
ps: la formule de détection élimine les lignes qui contiennent au moins une case vide en E F ouG
La qualité de la réponse dépend surtout de la clarté de la question, merci!
Jeff36100
Messages postés
7
Date d'inscription
jeudi 28 septembre 2017
Statut
Membre
Dernière intervention
2 mars 2018
19 oct. 2017 à 14:32
19 oct. 2017 à 14:32
Je vais essayer de suite et je reviens vers toi.
Je te remercie
Je te remercie
Jeff36100
Messages postés
7
Date d'inscription
jeudi 28 septembre 2017
Statut
Membre
Dernière intervention
2 mars 2018
Modifié le 19 oct. 2017 à 15:08
Modifié le 19 oct. 2017 à 15:08
Vaucluse
Messages postés
26496
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
1 avril 2022
6 412
Modifié le 19 oct. 2017 à 15:32
Modifié le 19 oct. 2017 à 15:32
votre formule
formule de détection
=SIERREUR(SI(NB.SI(C2:D2;"");"";SI(EQUIV(C2&D2;$A$2:$A$16000&$B$2:$16000;0);MAX($E$1:E1)+1;""));"")
cette formule doit vous donner une incrémentation de 1 en E à chaque ligne de C&D existant en A&B
ensuite, la formule du tableau pour ressortir la liste C/D
=SI(LIGNE(A1)>MAX($E$2:$E$16000);"";INDEX($C$2:$D$16000;EQUIV(LIGNE($A1);$E$2:$E$16000;0);1))
à la fin le ..);1) ressort la colonne C et avec ...);2) vous ressortez la D
et si ça ne va toujours pas, il faudra passez au moins une partie de la feuille que vous utilisez
si vous préférez passer en privé, , vous pouvez me joindre en cliquant sur mon pseudo ci dessus et
"lui envoyer un message privé"
c'est vous qui voyez
crdlmnt
La qualité de la réponse dépend surtout de la clarté de la question, merci!
- ne correspond pas à votre 1° demande, il n'y a que deux références au leu d'une
- le champ de EQUIV démarre en A2 et B3 ???
- ne contient las le nécessaire pour faire évoluer la numérotation en E
- et on va la compléter avec une alerte d'erreur (à partir d'excel 2007
formule de détection
=SIERREUR(SI(NB.SI(C2:D2;"");"";SI(EQUIV(C2&D2;$A$2:$A$16000&$B$2:$16000;0);MAX($E$1:E1)+1;""));"")
cette formule doit vous donner une incrémentation de 1 en E à chaque ligne de C&D existant en A&B
ensuite, la formule du tableau pour ressortir la liste C/D
=SI(LIGNE(A1)>MAX($E$2:$E$16000);"";INDEX($C$2:$D$16000;EQUIV(LIGNE($A1);$E$2:$E$16000;0);1))
à la fin le ..);1) ressort la colonne C et avec ...);2) vous ressortez la D
et si ça ne va toujours pas, il faudra passez au moins une partie de la feuille que vous utilisez
si vous préférez passer en privé, , vous pouvez me joindre en cliquant sur mon pseudo ci dessus et
"lui envoyer un message privé"
c'est vous qui voyez
crdlmnt
La qualité de la réponse dépend surtout de la clarté de la question, merci!