Formule pour extraire des valeurs uniques

toto142

XLDnaute Nouveau
Bonjour,

Je souhaite extraire des données uniques dans l'ordre croissant d'une série de valeurs. Pour ce faire, j'aimerais disposer d'une série de fonctions Excel me permettant d'effectuer cette extraction sans utiliser de filtre ni de macro s'il vous plaît.

Pouvez-vous modifier mon document Excel en conséquence et me le renvoyer ?

Je travaille avec Microsoft Excel 2013.

Merci pour votre aide et votre temps précieux.

Cordialement
 

Pièces jointes

  • Valeurs Uniques.xlsx
    9.7 KB · Affichages: 4
Solution
Re,

Formule (toujours matricielle) en C416 à recopier vers le bas :
VB:
=SIERREUR(PETITE.VALEUR(SIERREUR(SI(EQUIV(E$7:E$407;E$7:E$407;0)=LIGNE(E$7:E$407)-6;E$7:E$407;"");"");LIGNES(A$1:A1));"")

nota 1 : le terme -6 est déterminé par la première ligne des données (c'est la ligne E7) diminué d'une unité.
nota 2 : le terme LIGNES(A$1:A1) de la première cellule avec la formule doit toujours être relatif à la cellule A1 et s'écrira toujours A$1:A1. Ce terme va prendre les valeurs 1 puis 2 puis 3 puis ... quand on recopie la formule vers le bas.

mapomme

XLDnaute Barbatruc
Supporter XLD
Bonjour @toto142 :),

Formule matricielle en D2 à recopier vers le bas :
=SIERREUR(PETITE.VALEUR(SI((EQUIV($B$2:$B$231;$B$2:$B$231;0)=LIGNE($B$2:$B$231)-1);$B$2:$B$231;"");LIGNES(A$1:A1));"")

1709819160310.png
 

Pièces jointes

  • toto142- Valeurs Uniques- v1.xlsx
    14 KB · Affichages: 4

toto142

XLDnaute Nouveau
Bonjour @toto142 :),

Formule matricielle en D2 à recopier vers le bas :
=SIERREUR(PETITE.VALEUR(SI((EQUIV($B$2:$B$231;$B$2:$B$231;0)=LIGNE($B$2:$B$231)-1);$B$2:$B$231;"");LIGNES(A$1:A1));"")

Regarde la pièce jointe 1192403
Ok merci c'est hyper gentil, je savais pas qu'il fallait faire une série de touche

Mais j'ai un autre soucis c'est que j'ai changé la disposition de mes données et la formule ne fonctionner plus (tableau de données uniques en bas du classeur)
 

Pièces jointes

  • toto142- Valeurs Uniques- v2.xlsx
    28.6 KB · Affichages: 5

toto142

XLDnaute Nouveau
Ok merci c'est hyper gentil, je savais pas qu'il fallait faire une série de touche

Mais j'ai un autre soucis c'est que j'ai changé la disposition de mes données et la formule ne fonctionner plus (tableau de données uniques en bas du classeur)
Je crois avoir trouvé la solution : lorsque je prends ma plage de données, je remarque la présence de cellules vides. Ainsi, lorsque je ne prends pas en compte ces cellules vides, le processus fonctionne correctement. En revanche, si je les inclue, le processus échoue. Y aurait-il un moyen d'extraire les valeurs même en présence de cellules vides ?
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Re,

Formule (toujours matricielle) en C416 à recopier vers le bas :
VB:
=SIERREUR(PETITE.VALEUR(SIERREUR(SI(EQUIV(E$7:E$407;E$7:E$407;0)=LIGNE(E$7:E$407)-6;E$7:E$407;"");"");LIGNES(A$1:A1));"")

nota 1 : le terme -6 est déterminé par la première ligne des données (c'est la ligne E7) diminué d'une unité.
nota 2 : le terme LIGNES(A$1:A1) de la première cellule avec la formule doit toujours être relatif à la cellule A1 et s'écrira toujours A$1:A1. Ce terme va prendre les valeurs 1 puis 2 puis 3 puis ... quand on recopie la formule vers le bas.
 

Pièces jointes

  • toto142- Valeurs Uniques- v2.xlsx
    29.8 KB · Affichages: 8
Dernière édition:

Discussions similaires

Réponses
4
Affichages
503

Statistiques des forums

Discussions
314 708
Messages
2 112 097
Membres
111 416
dernier inscrit
philipperoy83