une fonction assez compliquée

  • Initiateur de la discussion francois
  • Date de début
F

francois

Guest
Bonjour à tous,
Bon j'ai un problème. J'ai un tableau qui doit classer des informations (des chiffres) et il ne marche pas très bien . C assez difficile à expliquer. C expliqué sur le fichier excel joint. J'ai cherché pendant des heures. Je crois savoir d'ou vient l'erreur mais j'arrive pas à la corriger. Je commence vraiment à déprimer. Je peux vous donner des infos au fur et a mesure. Demander moi si je suis pas clair
Merci d'avance
Cordialement
François [file name=marchepas.zip size=5227]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/marchepas.zip[/file]
 

Pièces jointes

  • marchepas.zip
    5.2 KB · Affichages: 10
  • marchepas.zip
    5.2 KB · Affichages: 9
  • marchepas.zip
    5.2 KB · Affichages: 11
F

françois

Guest
Une solution serait de renvoyer les valeurs Max Steam Demand,Average Steam Demand,Min Steam Demand du régime correspondant. (voir fichier excel pour comprendre)
Par exemple, pour ma premiere colonne du tableau bleu et jaune, donner les valeurs de Max Steam Demand,Average Steam Demand,Min Steam Demand correspondant au régime situé a la case B20. Puis faire pareil pour la case C20 etc...
Mais je sais pas quelle fonction utilisée.
 

Monique

Nous a quitté
Repose en paix
Bonjour,

Tu demandes à la formule de ne pas renvoyer plus d'une fois la même valeur,
mais tu ne lui demandes pas de s'arrêter quand toutes les valeurs sont renvoyées :
elle renvoie le contenu de la 1ère colonne

Comme condition (pour B21) :
SI(SOMME(($B$16:$AC$16=B$19)*(NB.SI($A21:A21;$B12:$AC12)=0))=0;'';

La formule complète pour B21 :
=SI(SOMME(($B$16:$AC$16=B$19)*(NB.SI($A21:A21;$B12:$AC12)=0))=0;'';INDEX($A12:$AC12;MIN(SI($B$16:$AC$16=B$19;SI(NB.SI($A21:A21;$B12:$AC12)=0;COLONNE($B12:$AC12))))))
Tu peux la copier-coller sur toute la plage jaune
Et tu la modifies un peu pour la ligne 20

Sauf que : tu veux répéter les valeurs semblables ou non ? Je n'ai pas bien compris
 
F

francois

Guest
Monique.
Merci beaucoup pour ton aide. Ca mest vraiment precieux
J'ai mis ta fonction et ca marche tout a fait correctement encore. Le fichier est joint.
c pas plus simple en mettant une fonction qui va chercher les valeurs correspondant au régime sélectionné.
[file name=Marchepas.zip size=5357]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Marchepas.zip[/file]
 

Monique

Nous a quitté
Repose en paix
Re,

Regarde la ligne 20 :
si tu copies G20 en H20, tu obtiens aussi le titre de la colonne,
parce que toutes les valeurs uniques sont renvoyées.
Pour B20 :
=SI(SOMME(($B$16:$AC$16=B$19)*(NB.SI($A20:A20;$B15:$AC15)=0))=0;'';INDEX($A15:$AC15;MIN(SI($B$16:$AC$16=B$19;SI(NB.SI($A20:A20;$B15:$AC15)=0;COLONNE($B15:$AC15))))))

Ce que tu proposes serait plus simple, mais seulement pour le raisonnement.
La fonction va chercher le 9 dans une ligne, va renvoyer la valeur correspondante dans une autre ligne
Puis elle va chercher un autre 9, va tomber pile sur le même et va renvoyer… la même chose.
C'est pour ça qu'on lui demande de renvoyer une valeur qui n'a pas été déjà renvoyée dans les cellules de gauche.
et en commençant par la 1ère cellule à partir de la gauche, par Min(Si(cond 1; cond 2; (Colonne()))

Si tu prèfères obtenir toutes les valeurs, même les doublons, c'est faisable, mais j'ai du mal à passer d'un raisonnement à l'autre quand il s'agit de doublons.
 

Monique

Nous a quitté
Repose en paix
Re,

Dans le fichier joint, tu as les 2 :
avec ou sans doublons.
(une ligne sup pour départager les ex aequo de la ligne 16,
puis Index Equiv) [file name=MarchePasMalFrancois.zip size=6261]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/MarchePasMalFrancois.zip[/file]
 

Pièces jointes

  • MarchePasMalFrancois.zip
    6.1 KB · Affichages: 10

Discussions similaires

Statistiques des forums

Discussions
312 239
Messages
2 086 508
Membres
103 237
dernier inscrit
smbt-excel