Re : Recherche avec plusieurs critères...index/equiv ???
Bonjour,
SommeProd renvoie 0 si V.2 n'est pas trouvé, donc ligne 0, qui n'existe pas
Index(Plage;0) renvoie n'importe quoi
Index(Plage;0) validé en matriciel (par ctrl, maj et entrée), renvoie le contenu de la ligne 1 de la plage
Si la cellule E1 est vide,
Index(Plage;0)&"" validé en matriciel, renvoie ""
Moralité :
Tu insères une ligne vide au-dessus de tes données,
Toutes les plages sont nommées à partir de la ligne 2, sauf la plage "PlatsP" qui démarre en ligne 1
=Patients!$A$2:$A$423
=Patients!$B$2:$B$423
=Patients!$C$2:$C$423
=Patients!$D$2:$D$423
=Patients!$E$1:$E$423
=Patients!$F$2:$F$423
En laissant E1 vide, si SommeProd = 0, PlatsP = ""
La formule est pratiquement la même :
=INDEX(platsP;SOMMEPROD((datesP=$A$1)*(repasP=$A$2)*(codageP=F$1);LIGNE(qtésP)))&""
Il y a juste le &"" en fin de formule
et elle est à valider par ctrl, maj et entrée
* * On ne peut pas valider par ctrl, maj et entrée quand les cellules sont fusionnées,
donc : centrer sur plusieurs colonnes.
Au cas où aucun choix ne serait fait par les listes de validation :
=SI(F$1="";"";INDEX(platsP;SOMMEPROD((datesP=$A$1)*(repasP=$A$2)*(codageP=F$1);LIGNE(qtésP)))&"")
On peut aussi mettre la formule du 1er fichier au conditionnel :
=SI(Q$1="";"";SI(SOMMEPROD((datesP=$A$1)*(repasP=$A$2)*(codageP=Q$1))=0;"";INDEX(platsP;SOMMEPROD((datesP=$A$1)*(repasP=$A$2)*(codageP=Q$1);LIGNE(qtésP)))))
et valider simplement par "Entrée"