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

XL 2019 Recherche valeur selon 3 critères

pat66

XLDnaute Impliqué
Bonjour le forum,

quelqu'un aurait il la gentillesse de bien vouloir m'aider à trouver la bonne formule
Ci joint 2 exemples en pièces jointes

merci d'avance
 

Pièces jointes

  • Classeur1.xlsm
    10.3 KB · Affichages: 5
Dernière édition:

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Pat,
Essayez avec :
VB:
=SIERREUR(INDEX($C$6:$G$14;EQUIV(E17&E18;$A$6:$A$14&$B$6:$B$14;0);EQUIV(E19;$C$4:$G$4;0));"")
Matriciel donc valider avec Maj+Ctrl+Entrée.
( attention aux erreurs de saisie, ça engendre de faux résultats )
 

Pièces jointes

  • Classeur1 (1).xlsm
    10.1 KB · Affichages: 4

chris

XLDnaute Barbatruc
Bonjour

Moyennement
  • correction des fautes de frappe (espace après C et espace manquant dans Colonne6),
  • restructuration du tableau : on ne comprend pas pourquoi valeur1 et valeur2 sont en ligne 5 et non (ou sinon pour pas de titre à ce colonnes...
 

pat66

XLDnaute Impliqué
re,

oui c'est vrai que j'ai intitulé les colonnes A et B "Valeur 1 ou 2" , mais en fait j'aurais aussi pu dire Colonne 1 et Colonne 2, mais n'en tenez pas compte les titres de colonnes n'ont pas d'importance , j'aurai pu aussi bien dire colonne A, Colonne B, etc; Voici l'exemple modifié

désolé, merci
 

Pièces jointes

  • Classeur1.xlsm
    11.3 KB · Affichages: 1
Dernière édition:

pat66

XLDnaute Impliqué
re

merci Sylvanu,

cela fonctionne très bien mais peut on se contenter de faire référence aux Colonne et aux lignes uniquement (Colonnes A,B,C (etc...) et Lignes (1,2,3,4, etc..etc.....) comme je le précise dans mon post #4

merci
 
Dernière édition:

sylvanu

XLDnaute Barbatruc
Supporter XLD
Re,
C'est une précision de taille.

En PJ :
VB:
=SIERREUR(INDEX($A$1:$K$100;EQUIV(E17&E18;$A:$A&$B:$B;0);CODE(E19)-64);"")
Toujours Maj+ctrl+Entrée pour valider.

Attention, encore un espace derrière le C.
 

Pièces jointes

  • Classeur1 (3).xlsm
    10.3 KB · Affichages: 7

pat66

XLDnaute Impliqué
re,

c'est exactement ce dont t'il me fallait,
Pourriez m'expliquer à quoi sert la formule matricielle dans ce cas précis ?
ainsi que CODE(H19)-64) dans la formule et qui fait référence au 3e critère ?

et Je conserve précieusement l'autre solution qui est très utile si l'on veut utiliser les titres de colonnes

merci beaucoup Sylvanu

Cdt
 
Dernière édition:

pat66

XLDnaute Impliqué
re,

pour info :

Fonction Excel CODE

Le Microsoft Excel Fonction CODE renvoie un code numérique d'un caractère ou du premier caractère d'une cellule de chaîne de texte donnée.

Exemple : Si H19 = F (F est à la 6e position dans l'alphabet et en capitale),
cela donne CODE(H19) = 70 - 64= 6 qui correspond bien à F dans l'ordre alphabétique

Si F est en minuscule alors f = 102

cdt
 
Dernière édition:

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour,
à quoi sert la formule matricielle dans ce cas précis ?
Cela sert à faire le calcul sur l'ensemble de la matrice.
Comme vous êtes sur XL2019, je ne sais pas si c'est utile car à partir d'une certaine version, tous les calculs se font par défaut en matriciel.
Essayez de valider sans, si ça marche ce n'est pas utile, si vous obtenez comme moi "rien" alors le Maj+Ctrl+Entrée est nécessaire.

Si F est en minuscule alors f = 102
Doit on comprendre que vous pouvez mettre le critère 3 en minuscule, ou est ce juste pour l'info ?
( d'ailleurs vous remarquerez que la formule ne marche que jusqu'à la colonne Z, si vos data sont en colonne AA alors il faut reprendre la formule )
 

pat66

XLDnaute Impliqué
re,

oui justement j'ai testé sans les parenthèses et cela fonctionne aussi

Sinon c'est juste pour info car grâce à vous, je connais maintenant cette fonction très intéressante

merci encore
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
re,
Just for the fun ...
Si vous voulez utiliser pour repérer la colonne majuscule ou minuscule, alors en E21 :
VB:
=SIERREUR(INDEX($A$1:$K$100;EQUIV(E17&E18;$A:$A&$B:$B;0);SI(CODE(E19)>90;CODE(E19)-32;CODE(E19))-64);"")
Code:
SI(CODE(E19)>90;CODE(E19)-32;CODE(E19))-64
donne le même N° de colonne pour "A" ou "a".
 

Discussions similaires

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