XL 2016 Report des cellules en excluant les 10% les plus hautes et basses

Xenopus

XLDnaute Nouveau
Bonjour à tous,

voilà ce que je cherche à faire pour ce fichier d’analyse de données :
les données sont rentrées dans la feuille 1,
reportées dans la feuille 2 dans laquelle les 10% des valeurs les plus hautes et basses sont identifiées en utilisant une MFC,
les valeurs non identifiées comme étant dans les 10% les plus hautes et basses (celles qui ne sont pas colorées par la MFC) sont ensuite transférées dans la feuille 3.

Je bloque sur la troisième étape, merci pour votre aide potentielle, si possible sans passer par le VBA pour rester le plus simple possible.

Merci d'avance !

David
 

Pièces jointes

  • Test trim10%.xlsx
    14 KB · Affichages: 11

Hasco

XLDnaute Barbatruc
Repose en paix
Bonjour,

J'ai fait le truc sur la feuille 2 pour plus de facilité à composer la formule matricielle et pour comparaison des résultats, après avoir trier (toujours pour comparaison et facilité) chaque colonnes de données.

Je vous laisse mettre ça en feuille 3.
Sélectionner le nombre de lignes idoines avant de saisir et valider la fonction par CTRL+MAJ+ENTREE

Cordialement
 

Pièces jointes

  • Test trim10%.xlsx
    14.7 KB · Affichages: 13

Xenopus

XLDnaute Nouveau
Bonjour,

merci beaucoup pour votre réponse et l'aide apportée.

C'est la première fois que j'ai à manipuler une formule matricielle et je ne réussi pas à la refaire fonctionner depuis la feuille 3, pourriez vous me décrire pas à pas les étapes pour le refaire depuis la feuille 3 afin que je comprenne et puisse la transférer ensuite dans un fichier plus complexe ?

Un grand merci par avance.

Bien à vous,
 

Hasco

XLDnaute Barbatruc
Repose en paix
Bonjour,

Sur la base du classeur que je vous ai donné, vous copier les 21 cellules qui contiennent la formule de la première colonne (F2:F21).
Vous les coller sur la feuille 3 à l'endroit que vous voudrez. Probablement, elle ne retournera aucun résultat à ce moment là, et comportera certainement des #REF! et ressemblera à ça:
{=SIERREUR(PETITE.VALEUR(#REF!;LIGNE(INDIRECT(LIGNE(INDIRECT("A" &ENT( NB(#REF!)*0,1)))+1&":"&LIGNE(INDIRECT("A" &NB(#REF!)-ENT( NB(#REF!)*0,1))))));"")}

Surtout ne cliquez pas dans l'éditeur de formule.

Les 21 cellules étant sélectionnées faites CTRL+H (chercher/remplacer). Dans la zone 'rechercher' mettez #REF! et dans la zone remplacer mettez Feuil1!A$2:A$21 puis cliquez sur 'Remplacer tout'.

La formule ressemble maintenant à çà:
{=SIERREUR(PETITE.VALEUR(Feuil1!A$2:A$21;LIGNE(INDIRECT(LIGNE(INDIRECT("A" &ENT( NB(Feuil1!A$2:A$21)*0,1)))+1&":"&LIGNE(INDIRECT("A" &NB(Feuil1!A$2:A$21)-ENT( NB(Feuil1!A$2:A$21)*0,1))))));"")}

et fournit ses résultats.

Prenez la poignée de recopie en bas de la colonne de cellules sélectionnées et tirez vers la droite sur les colonnes voisines.

C'est finit.

N.B.: Comme souvent avec les formules matricielles, si elles sont appliquées sur de grandes quantités de données peuvent provoquer des ralentissement de calcul. A vous de voir.

Cordialement
 

Discussions similaires