Extraire-une-liste-sans-doublon-avec-formule-Matricielle

richard31

XLDnaute Occasionnel
Bonjour

Voilà , j'utilise une formule complexe matricielle qui est capable d'extraire les valeurs d'une colonne sans doublons. Quand il faut obligatoirement passer par une formule cela doit être automatique. Cela peut aider des personnes donc ^^

j'utilise donc cette formule:

=INDEX(Ma_Colonne;PETITE.VALEUR(SI(FREQUENCE(SI(Ma_Colonne<>"";EQUIV(Ma_Colonne;Ma_Colonne;0)); LIGNE(Ma_Colonne)-LIGNE($B$2)+1);LIGNE(Ma_Colonne)-LIGNE($B$2)+1);LIGNES(I$2:I2)))

B2 par la première cellule de votre colonne où il y a les doublons
I2 par la cellule dans laquelle vous voulez voir le résultat (normalement écrire la référence de la cellule du résultat dans la formule de calcul de cette même formule entraîne une référence circulaire mais pas dans le cas d’une formule matricielle)


Remplacer "Ma_Colonne" par la plage de cellule qui contient les données que vous voulez extraire et il est important que les données soient fixes (avec "$") exemple en prenant en compte que les données soient en colonne D et le résultat désiré à partir de la cellule F3:

=INDEX=INDEX($D$2:$D$1000;PETITE.VALEUR(SI(FREQUENCE(SI($D$2:$D$1000<>"";EQUIV($D$2:$D$1000;$D$2:$D$1000;0)); LIGNE($D$2:$D$1000)-LIGNE($D$2)+1);LIGNE($D$2:$D$1000)-LIGNE($D$2)+1);LIGNES(F$3:F3)))



Règles-de-modification-des-formules-matricielles:

https://support.office.com/fr-fr/article/Règles-de-modification-des-formules-matricielles-8a80c2c1-44c1-42c3-88c1-37a3a7c2d367


Si vous avez entré une formule de tableau à cellule unique, sélectionnez la cellule, appuyez sur F2, apportez vos modifications et appuyez sur

Ctrl + Maj + Entrée...

Si vous avez entré une formule matricielle à plusieurs cellules, sélectionnez toutes les cellules qui contiennent, appuyez sur F2, puis suivent

les règles suivantes :

Vous ne pouvez pas déplacer les cellules individuelles contenant votre formule, mais vous pouvez les déplacer en tant que groupe. Les références

de cellule dans la formule changeront en même temps. Pour les déplacer, sélectionnez toutes les cellules, appuyez sur Ctrl+X, sélectionnez le

nouvel emplacement et appuyez sur Ctrl+V.
 

laurentla69

XLDnaute Nouveau
Voici une idée
Il suffit d"appuyer sur le bouton "EXTRAIRE"une boîte de dialogue apparaîtra pour vous rappeler de sélectionner la plage de données que vous souhaitez utiliser. Et puis cliquez OK, une autre boîte apparaîtra pour vous permettre de choisir un endroit pour mettre le résultat

C'est pas automatisé mais ça marche niquel! merci infiniment! j'ai pu l'utiliser dans mon fichier de départ via le menu macro.

Je vais me servir de cela, si quelqu'un arrive à faire une formule je reste preneur ^^

Merci encore en tout cas et pour la rapidité! ça me fait gagner un temps fou!!!

LL
 

richard31

XLDnaute Occasionnel
C'est pas automatisé mais ça marche niquel! merci infiniment! j'ai pu l'utiliser dans mon fichier de départ via le menu macro.

Je vais me servir de cela, si quelqu'un arrive à faire une formule je reste preneur ^^

Merci encore en tout cas et pour la rapidité! ça me fait gagner un temps fou!!!

LL
Pas de souci ! si tu veux d'autres moyens tu en as d autres ici :

Et un outil puissant :
 

badraaliou4

XLDnaute Occasionnel
Bonjour

Voilà , j'utilise une formule complexe matricielle qui est capable d'extraire les valeurs d'une colonne sans doublons. Quand il faut obligatoirement passer par une formule cela doit être automatique. Cela peut aider des personnes donc ^^

j'utilise donc cette formule:

=INDEX(Ma_Colonne;PETITE.VALEUR(SI(FREQUENCE(SI(Ma_Colonne<>"";EQUIV(Ma_Colonne;Ma_Colonne;0)); LIGNE(Ma_Colonne)-LIGNE($B$2)+1);LIGNE(Ma_Colonne)-LIGNE($B$2)+1);LIGNES(I$2:I2)))

B2 par la première cellule de votre colonne où il y a les doublons
I2 par la cellule dans laquelle vous voulez voir le résultat (normalement écrire la référence de la cellule du résultat dans la formule de calcul de cette même formule entraîne une référence circulaire mais pas dans le cas d’une formule matricielle)


Remplacer "Ma_Colonne" par la plage de cellule qui contient les données que vous voulez extraire et il est important que les données soient fixes (avec "$") exemple en prenant en compte que les données soient en colonne D et le résultat désiré à partir de la cellule F3:

=INDEX=INDEX($D$2:$D$1000;PETITE.VALEUR(SI(FREQUENCE(SI($D$2:$D$1000<>"";EQUIV($D$2:$D$1000;$D$2:$D$1000;0)); LIGNE($D$2:$D$1000)-LIGNE($D$2)+1);LIGNE($D$2:$D$1000)-LIGNE($D$2)+1);LIGNES(F$3:F3)))



Règles-de-modification-des-formules-matricielles:

https://support.office.com/fr-fr/article/Règles-de-modification-des-formules-matricielles-8a80c2c1-44c1-42c3-88c1-37a3a7c2d367


Si vous avez entré une formule de tableau à cellule unique, sélectionnez la cellule, appuyez sur F2, apportez vos modifications et appuyez sur

Ctrl + Maj + Entrée...

Si vous avez entré une formule matricielle à plusieurs cellules, sélectionnez toutes les cellules qui contiennent, appuyez sur F2, puis suivent

les règles suivantes :

Vous ne pouvez pas déplacer les cellules individuelles contenant votre formule, mais vous pouvez les déplacer en tant que groupe. Les références

de cellule dans la formule changeront en même temps. Pour les déplacer, sélectionnez toutes les cellules, appuyez sur Ctrl+X, sélectionnez le

nouvel emplacement et appuyez sur Ctrl+V.
bonjour,
ci-dessous ma formule mais ça ne marche pas.
msg error : vous avez tapé un nombre trop important d'arguments pour cette fonction

=SIERREUR(INDEX(Tableau8[MATRICULE];PETITE.VALEUR(SI(FREQUENCE(Tableau8[MATRICULE]<>"";EQUIV(Tableau8[MATRICULE];Tableau8[MATRICULE];0));LIGNE(Tableau8[MATRICULE])-LIGNE('Achat'!$B$6)+1);LIGNE(Tableau8[MATRICULE])-LIGNE('Achat'!$B$6)+1;LIGNES(client!L$2:client!L2)));"")
 

Discussions similaires

Statistiques des forums

Discussions
315 096
Messages
2 116 184
Membres
112 678
dernier inscrit
arno12345678