Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel
Excel Forum d'entraide sur Excel. Vos questions sur les fonctions, formules, manipulations, et tout sujet qui ne trouve pas sa place dans un sous-forum.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 17/12/2010, 08h44   #1
Futur Membre du Club
 
Inscription : février 2006
Messages : 63
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 63
Points : 15
Points : 15
Par défaut formule matricielle SI

Bonjour,
j'ai une liste de donnée (environ 10 col et 500 lignes).

j'aimerai en faire un tri et en sortir les données selon les critères de tri.
Le tout, sans utiliser de macro ni la fonction filtre (le resultat du tri doit se trouver dans une autre feuille que la feuille active).

J'aimerai donc utiliser une formule matricielle du type ci dessous :
On retrouve au départ mes deux criètres puis mon tableau.
Si la ligne traitée ne correspond pas au critère, j'aimerai qu'il aille à la ligne suivante. (je l'ai représenté par "next" dans la formule).

Code :
={SI((AIC!B8:B480="C")*(AIC!O8:O480="");AIC!D8:L18;"next")}

Auriez vous une idée, une astuce pour que la formule matricielle passe automatiquement à la ligne d'après.

merci beaucoup pour votre aide.

Concrètement, voici le résultat que j'ai actuellement :
next
next
next
action 4
next
next
next
next
next
next
action 11
next
next
next


J'aimerai obtenir le résultat suivant :
action 4
action 11
bigboy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/12/2010, 09h21   #2
Membre Expert
 
Avatar de wilfried_42
 
Homme Wilfried
Auto-entrepreneur
Inscription : novembre 2006
Messages : 1 428
Détails du profil
Informations personnelles :
Nom : Homme Wilfried
Âge : 50
Localisation : France, Vendée (Pays de la Loire)

Informations professionnelles :
Activité : Auto-entrepreneur
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : novembre 2006
Messages : 1 428
Points : 1 859
Points : 1 859
Bonjour

un fichier exemple n'aurait pas été de trop, m'enfin

je vais essayé de détailler : avec 10 conditions Excel 2003 en comporte que 7 imbriquées

un debut : en formule matricielle
tester les valeurs : on va utiliser les test booleen
Code :
=Si((A1:A10=1)*(B1:B10="PAPA")*(C1:C10=aujourdhui())=1;ligne(A1:A10);9^9)
la j'ai utilisé 3 colonnes avec 3 tests différents : qui me renvoie une matrice avec les n° de ligne si le test est bon et 9^9 si c'est faux

ensuite tu disposes d'un n° de ligne pour afficher les données et d'une fonction : petite.valeur
exemple : je commence en ligne 1 ma formule
Code :
=petite.valeur(Si((A1:A10=1)*(B1:B10="PAPA")*(C1:C10=aujourdhui())=1;ligne(A1:A10);9^9);ligne())
me donnera la premiére ligne trouvée
pour afficher l'info : un index suffit
Code :
=Index(A1:A10;petite.valeur(Si((A1:A10=1)*(B1:B10="PAPA")*(C1:C10=aujourdhui())=1;ligne(A1:A10);9^9);ligne()))
bien entendu quand on arrivera à des valeurs 9^9 on va provoquer une erreur qu'il suffit de tester
Code :
=si(esterreur(maformule);"";maformule)
et tout ca en formule matricielle (valider avec CTRL SHIFT ENTER)

cordialement
__________________
Wilfried
wilfried_42 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/12/2010, 21h46   #3
Futur Membre du Club
 
Inscription : février 2006
Messages : 63
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 63
Points : 15
Points : 15
Merci beaucoup , ca marche très bien.
Merci !!!
bigboy est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h23.


 
 
 
 
Partenaires

Hébergement Web