XL 2010 Extraire et ordonner des valeurs

Studebaker

XLDnaute Nouveau
Bonjour,

Tout nouveau sur le forum, je ne sais sans doute pas encore bien chercher les réponses à mes questions, aussi je viens vous exposer mon problème, espérant que je m'y prends comme il faut (et comptant sur toute votre indulgence !).
Je souhaiterais à partir d'une table de données comportant de très nombreuses cellules vides (valeurs nulles), extraire les cellules non vides en les classant par ordre croissant et en leur associant l'en-tête de colonne leur correspondant.
La formule PETITE.VALEUR() me semblait tout à fait appropriée pour cela, mais voilà : en cas de doublon, ça coince...
Les valeurs sont bien extraites (ex : 4 | 5 | 5 | 7 | 9...) comme je le souhaite, mais lorsque je leur applique un INDEX/EQUIV pour récupérer l'en-tête, je n'obtiens que celle de la première occurrence (ie : la même pour les deux 5).
C'est certainement un "cas d'école" mais je rame un peu à trouver la solution (nb : Excel 2010 + j'aimerais si possible éviter les TCD et les VBA).
Je vous joins un fichier qui vous parlera peut-être plus que mes mots (!).

Un très grand merci d'avance pour vos éclairages !
 

Pièces jointes

  • Test.xlsx
    13.7 KB · Affichages: 19
Solution
Bonsoir @studebak,

En N2, mettre la formule matricielle:
VB:
=SIERREUR(PETITE.VALEUR($B2:$K2;COLONNES($M:N)/2);"")

En M2, mettre la formule matricielle:
Code:
=SIERREUR(INDEX($1:$1;ARRONDI(1000*(PETITE.VALEUR(SI($B2:$K2<>"";$B2:$K2+(COLONNE($B2:$K2))/1000;"");COLONNES($M:N)/2)-N2);0));"")

Copier la plage M2:N2 sur le O2:V2 puis M2:V2 sur M3:V11.

Si vous désirez quelques éclaircissements, me le faire savoir.

mapomme

XLDnaute Barbatruc
Supporter XLD
Bonsoir @studebak,

En N2, mettre la formule matricielle:
VB:
=SIERREUR(PETITE.VALEUR($B2:$K2;COLONNES($M:N)/2);"")

En M2, mettre la formule matricielle:
Code:
=SIERREUR(INDEX($1:$1;ARRONDI(1000*(PETITE.VALEUR(SI($B2:$K2<>"";$B2:$K2+(COLONNE($B2:$K2))/1000;"");COLONNES($M:N)/2)-N2);0));"")

Copier la plage M2:N2 sur le O2:V2 puis M2:V2 sur M3:V11.

Si vous désirez quelques éclaircissements, me le faire savoir.
 

Pièces jointes

  • Studebaker- Index Ptite valeur- v1.xlsx
    15.6 KB · Affichages: 22
Dernière édition:

Studebaker

XLDnaute Nouveau
Un très grand merci pour la rapidité et l'efficacité de ta réponse !!!
Cela fonctionne parfaitement.
Peux-tu me dire néanmoins ce qu'il faudrait modifier dans les formules (j'ai un doute) si les cellules vides ont en réalité la valeur zéro (masquée via le menu Options par exemple) ?
D'autre part, et puisque tu le proposes gentiment, je veux bien en effet que tu m'expliques un peu le principe général (notamment celui de cet ARRONDI() que tu utilises).
Merci infiniment pour ton aide une nouvelle fois.
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Bonjour @Studebaker,

Concernant le zéro:
  • la formule considère 0 comme tout autre nombre et non pas comme une cellule vide
  • Si les zéros ne sont affichés, on ne pourra pas distinguer visuellement un zéro d'une cellule vide
  • Pour le voir: mettre un zéro dans une ligne du tableau et voir le résultat (avec ou sans l'option de visualisation des zéros)
Pour l'explication, je le ferai un peu plus tard ;).
 

Studebaker

XLDnaute Nouveau
Bonjour @Studebaker,

Concernant le zéro:
  • la formule considère 0 comme tout autre nombre et non pas comme une cellule vide
  • Si les zéros ne sont affichés, on ne pourra pas distinguer visuellement un zéro d'une cellule vide
  • Pour le voir: mettre un zéro dans une ligne du tableau et voir le résultat (avec ou sans l'option de visualisation des zéros)
Pour l'explication, je le ferai un peu plus tard ;).
Ok, pas de problème, aucune urgence (et je ne t'en voudrai pas si tu t'abstiens ). Un très grand merci encore !!!
 

Studebaker

XLDnaute Nouveau
Bonsoir @Studebaker,

Chose promise, chose due :

Voir les explications sur la formule dans le fichier joint.
Waow, super !!!
J'avais vaguement capté l'idée de base (j'étais d'ailleurs passé un peu instinctivement en effet à un facteur 10000 au lieu de 1000 pour faire fonctionner la chose avec mon assez gros fichier), mais j'étais loin d'avoir tout compris dans le détail !
Vraiment merci infiniment pour la peine que tu t'es donné.
Au plaisir @mapomme , prends soin de toi...
 

Discussions similaires

Statistiques des forums

Discussions
311 711
Messages
2 081 782
Membres
101 817
dernier inscrit
carvajal