Alternative aux si imbriqués AUTRE que recherchev

Bonjour tout le monde !

J'ai créé un tableau à remplir avec des croix ou des chiffres.

En fonction de la colonne cochée ou remplie (une seule par ligne) je désire mettre un intitulé...

Ex

Train

Métro X

RER

type de transport : Métro

Quand c'est la colonne Métro qui est coché je veux qu'il (Excel !) m'affiche "Métro" dans la colonne "Type de transport"

(j'ai inversé colonne et lignes ici pour des soucis de présentation)

Je n'arrive pas à trouver une solution simple...

J'ai trop de colonnes pour choisir la solution des si imbriqués, mais la fonction rechercheV ne s'applique pas à mon cas...

So help !!!

45help.zip (14.78 Ko)

Bonjour lison lisette,

Tu peux essayer cette formule à mettre en W9 :

=SI(NBVAL(B9:N9)>1;"Attention plusieurs valeurs détectées";SI(NBVAL(B9:N9)<1;"";INDEX($B$7:$N$8;2;SOMMEPROD((B9:N9<>"")*COLONNE(A:M)))))

Le problème c'est que si par exemple la case du RER est remplie, ce ne sera pas RER qui sera retourné mais "Nombre de stations de RER". Idem pour le métro et le tramway.

Si tu veux quand même avoir "Métro", "RER" et "tramway", ça peut se faire mais la formule sera un peu plus longue.

Pour les distances, formule à mettre en X9 :

=SI(V9<>"";V9;SI(NBVAL(O9:U9)>1;"Attention plusieurs valeurs détectées";SI(NBVAL(O9:U9)<1;"";INDEX($O$7:$U$8;2;SOMMEPROD((O9:U9<>"")*COLONNE(A:G))))))

bonjour

en supposant que ta colonne "type de transport" soit celle "transport" de ton tableau ;je vois cela ainsi

69metro.zip (21.18 Ko)

maintenant il faudra certainement modifier la condition

en esperanant t'aider

Coucou , et surtout merci !

ça marche TB !

Pour éviter "nombre de stations de métro" j'ai mis "nombre de stations de :" et "Métro", "RER" etc dans des cases en dessous (en ajoutant une ligne).

Par contre j'ai du mal à comprendre ta formule (la première, car la deuxième je vais d'abord lui dire de traduire "De 5 à 10 km" en "7,5" et de calculer la distance en fonction du nombre de stations...)

=SI(NBVAL(B9:N9)>1;"Attention plusieurs valeurs détectées";SI(NBVAL(B9:N9)<1;"";INDEX($B$7:$N$8;2;SOMMEPROD((B9:N9<>"")*COLONNE(A:M)))))

Peux tu m'expliquer ce qu'il y a en rouge ?

-- 08 Juil 2010, 14:22 --

tulipe_3 a écrit :

bonjour

en supposant que ta colonne "type de transport" soit celle "transport" de ton tableau ;je vois cela ainsi

maintenant il faudra certainement modifier la condition

en esperanant t'aider

Merci Tulipe, mais je souhaite faire la distinction entre TGV, TER etc ... je ne peux pas mettre "train" pour tout ça ! Et dans ce cas il y a trop de si imbriqués si je suis ton raisonnement !

Lison Lisette a écrit :

=SI(NBVAL(B9:N9)>1;"Attention plusieurs valeurs détectées";SI(NBVAL(B9:N9)<1;"";INDEX($B$7:$N$8;2;SOMMEPROD((B9:N9<>"")*COLONNE(A:M)))))

Le SOMMEPROD((B9:N9<>"")*COLONNE(A:M))permet de trouver le numéro de la colonne qui contient quelque chose (X ou nombre).

Le (B9:N9<>"") va regarder dans la plage B9:N9 si une cellule est non vide. Si c'est le cas, le résultat retourné est VRAI. Sinon FAUX.

Exemple : si la case E9 (RER) contient un chiffre le résultat sera {FAUX.FAUX.FAUX.VRAI.FAUX.FAUX.FAUX.FAUX.FAUX.FAUX.FAUX.FAUX.FAUX}

La partie COLONNE(A:M) retournera le numéro des colonnes de A à M => {1.2.3.4.5.6.7.8.9.10.11.12.13}

Ensuite : (B9:N9<>"")*COLONNE(A:M) = {FAUX.FAUX.FAUX.VRAI.FAUX.FAUX.FAUX.FAUX.FAUX.FAUX.FAUX.FAUX.FAUX}*{1.2.3.4.5.6.7.8.9.10.11.12.13} = {0.0.0.4.0.0.0.0.0.0.0.0.0} car FAUX équivaut à 0 et VRAI équivaut à 1.

Le SOMMEPROD te permet ici de faire la somme des valeurs de {0.0.0.4.0.0.0.0.0.0.0.0.0} => 4

Enfin, le INDEX($B$7:$N$8;2;SOMMEPROD((B9:N9<>"")*COLONNE(A:M))) = INDEX($B$7:$N$8;2;4)te retournera la valeur qui se trouve à la ligne 2 et à la colonne 4 du tableau $B$7:$N$8 c'est-à-dire la valeur qui se trouve en E8

Une fonction excel très utile est l'audit de formules. Place-toi en W9 par exemple puis va dans Outils / Audit de formules / Évaluation de formule puis clic sur Evaluer successivement

Wah !

Très utile les SOMMEPROD et INDEX ! Et très bonne explication ! Merci

Utile aussi l'audit de formules, (pour info dans excel 2007 dans "formules" puis dans "audits de formules" choisir "évaluation de formules" --> évaluer).

Comment fait-t-on maintenant pour mettre 20/20 à son sauveur

Bonne soirée

re lison,

Lison Lisette a écrit :

Comment fait-t-on maintenant pour mettre 20/20 à son sauveur

suffit de mettre le post en résolu (le petit V vert à cliquer lorsque tu écris un message)
Rechercher des sujets similaires à "alternative imbriques que recherchev"