Je cherche à affecter une valeur aux lignes d'un tableau, valeur récupérée dans un autre tableau par trois conditions :
- condition d'équivalence sur une chaine de caractère
- condition de date supérieure sur une date
- condition de date inférieure sur la même date
J'ai essayé avec la seule formule que je maitrise sur ce sujet, la somme.si.ens, mais il faut des valeurs numériques pour que cela fonctionne, et comme je dois retourner des valeurs de texte, je sèche un peu...
ou la colonne F représente les services à affecter, la colonne E la liste des matricules, la colonne B le matricule de la ligne en cours, la colonne G et H la date de début et fin de service et la colonne A la date de la ligne en cours.
Bonjour,
Avec une formule matricielle c'est possible
en C2 : =INDEX($F$1:$F$8;MIN(SI(($E$3:$E$8=B2)*($G$3:$G$8<=A2)*($H$3:$H$8>=A2);LIGNE($E$3:$E$8))))
à valider par la combinaison des 3 touches ctrl+maj+enter (fait apparaître des {} autour de la formule)
puis recopier vers le bas. La dernière période ne sera affichée que si on a une date en H3.
Super c'est exactement ce que je recherchais ! Par contre, ça ne sera pas possible d'afficher la dernière période s'il n'y a qu'une date ? Du genre une conditionnelle qui vérifie la présence de la date, et s'il n'y en a pas, on mets l'index sous une seule condition de date uniquement ?