Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Si Et, trop d'imbication

Lolote83

XLDnaute Barbatruc
Bonjour à tous,
Dur dur la reprise, on oublie tout pendant les vacances.
Ma question :
Je cherche en fonction d'une valeur saisie en cellule D12 (nommée xVAL) d'obtenir une correspondance dans un tableau de deux colonnes.
- Au dela de 10 (compris) et jusqu'à 14, je veux obtenir 2
- Au dela de 15 (compris) et jusqu'à 20, je veux obtenir 4
- Au dela de 20 (compris), je veux obtenir 6

J'ai bien réussi avec des "SI(ET" imbriqués mais mon exemple est simplifié à 3 données.
Si j'ai 25 données, cette formule risque d'être complexe voire impossible à faire.
J'ai pensé à des "sommeprod", des "equiv", "index equiv", "décaler" mais impossible de m'en sortir.
Je reste persuadé qu'il existe une solution matricielle mais mon cerveau me joue des tours.
Merci à tous les formulistes

@+ Lolote83
 

Pièces jointes

  • Si Et trop d'imbications.xlsx
    17.2 KB · Affichages: 27

Dranreb

XLDnaute Barbatruc
Re : Si Et, trop d'imbication

Bonjour.
- Au dela de 10 (compris) et jusqu'à 14, je veux obtenir 2
- Au dela de 15 (compris) et jusqu'à 20, je veux obtenir 4
- Au dela de 20 (compris), je veux obtenir 6
(on dit "à partir de" quand c'est inclus)
Ben là c'est simplement en D13 :
Code:
=MIN(MAX(0;ENT(xVAL/5-1)*2);6)
Je n'avais pas vu la suite. INDEX/EQUIV ferait parfaitement l'affaire.

Edit: Bonjour R@chid
 
Dernière édition:

Lolote83

XLDnaute Barbatruc
Re : Si Et, trop d'imbication

Juste une petite remarque,
Les solutions de Rachid et DranReb fonctionnent bien pour le petit exemple (3 données) mais pas adapté au tableau du dessous (voir à compter de la ligne 26).
La solution de Gosselin est OK.
Du coup, j'ai essayé avec un INDEX EQUIV car dixit DranReb
Je n'avais pas vu la suite. INDEX/EQUIV ferait parfaitement l'affaire.
mais encore une fois, je sèche.
Une solution autre pour le fun !!!!
@+ Lolote83
 

Dranreb

XLDnaute Barbatruc
Re : Si Et, trop d'imbication

En H26 :
Code:
=INDEX($D$24:$D$48;EQUIV(H$24;$C$24:$C$48))
Remarque: il faudrait devant une ligne avec 0 | 0 pour que ça ne mette pas #N/A en dessous de 10
Ou sinon :
Code:
=SI(H$24>=$C$24;INDEX($D$24:$D$48;EQUIV(H$24;$C$24:$C$48));0)
 
Dernière édition:

R@chid

XLDnaute Barbatruc
Re : Si Et, trop d'imbication

Re,

j'ai pas vu le reste de la question.

@ + +
 

Lolote83

XLDnaute Barbatruc
Re : Si Et, trop d'imbication

Merci DranReb pour le INDEX EQUIV.
Je l'utilise très souvent mais j'y adjoint (sur la fonction EQUIV) le dernier critère avec 1,0 ou -1 comme dans l'exemple ci-après.
=INDEX($D$27:$D$51;EQUIV(H$27;$C$27:$C$51;0))
Je ne savais pas que l'on pouvais omettre ce critère et la ça fonctionne.
J'ai appris encore quelque chose aujourd'hui mais du coup quand mettre ou ne pas mettre ce dernier critère ?

Pour Rachid,
j'ai pas vu le reste de la question.
Pas de souci, tu m'as déjà par le passé bien aidé.

MERCI
@+ Lolote83
 
Dernière édition:

Dranreb

XLDnaute Barbatruc
Re : Si Et, trop d'imbication

Non, 0 comme 3ième critère cherche la valeur exacte. C'est 1 qui est assumé par défaut.
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…