Recherche à 2 critères

Bonjour à tous,

Comme l'indique le titre ici il s'agit bien d'une

12test.xlsx (12.33 Ko)

recherche à 2 critères mais habituellement je m'en sors sur ce type de fonction, mais pas cette fois ...

J'ai un problème sur l'automatisation de cellules d'un tableau.

Dans cette cellule, est reporté le coefficient de référence à partir :

- De la période = Année Mois format "aaaa mm"

- Du mode de transport Vélo ; Voiture ; Avion

La liste des coefficients se trouve quant à elle sur la feuille liste.

Au quotidien j’ai à faire à deux cas :

1/ la période correspond à la date du jour :

Dans ce cas la fonction doit reporter le coefficient de référence (valeur présente en feuille Liste de B2:B9 ou Table_coeff[[Vélo]:[Avion]]) pour la Période (cellule B3) + Le Mode de transport (col J).

Le souci est que mes coefficients de référence sont publiés avec 1mois de retard.

Donc si aujourd’hui correspond à "2024 09", il faudra prendre la période "2024 08".

obtenir le résultat répondant aux critères (feuille Liste B2:B9) pour la Période (col B) + Le Mode de transport (col D)

2/ la période est inscrite dans le tableau (information figée) :

Dans ce cas la fonction doit reporter le coefficient de référence (valeur présente en feuille Liste de B2:B9 ou Table_coeff[[Vélo]:[Avion]]) pour la Période (col B) + Le Mode de transport (col D).

Je vous remercie d’avance pour l’aide que vous pourrez m’apporter car je suis dessus depuis plusieurs jour et ne trouve pas d’issue.

Bonjour,

C'est la fonction INDEX que vous cherchez, en combo avec EQUIV.

Ci-après la formule pour le premier cas, je vois le second plus tard. Mais j'ai déjà une remarque. Il y a un problème pour le mois de janvier 2024, vous n'avez pas de mois précédent. En plus ca rendra la fonction vraiment compliquée.

Quelle est votre version d'office ?

=INDEX(Table_coeff[[Vélo]:[Avion]];
EQUIV(GAUCHE($B$3;NBCAR($B$3)-1)&DROITE($B$3)-1;Table_coeff[Période];0);
EQUIV(B8;Table_coeff[[#Headers];[Vélo]:[Avion]];0))

Détails pour comprendre dans le fichier joint

9test.xlsx (12.25 Ko)

Bonjour Saboh12617,

Merci !
Je suis sur office365.
En pratique j'ai des données sur les dernières années donc le mois passé sera forcément couvert.

Ok super,

Alors ci-après une formule pour le cas 2 (et également le cas 1, oubliez ma première formule qui était nulle) qui devrait marcher à tous les coups, plus moderne. Et ci-joint le fichier.

ATTENTION : dans votre fichier il n'y a pas de données dans le tableau pour décembre 2023 qui est en théorie le mois de référence pour les premières lignes du CAS 2 !!! (d'où le SIERREUR dans la formule pour renvoyer sur la 1e ligne du tableau)

=LET(
annee;GAUCHE(B21;4);
mois;DROITE(B21;2);
periode;SI(mois="01";annee-1 & " " & 12; annee & " " & TEXTE(mois-1;"00"));
nLigne;EQUIV(periode;Table_coeff[Période];0);
nCol;EQUIV(C21;Table_coeff[[#Headers];[Vélo]:[Avion]];0);
INDEX(Table_coeff[[Vélo]:[Avion]]; SI(ESTERREUR(nLigne);1;nLigne); SI(ESTERREUR(nCol);1;nCol))
)
14test-1.xlsx (13.93 Ko)

Bonjour à tous, bonjour Saboh,

Une simplification ? (merci pour tes variables )

=LET(
date;GAUCHE($B$3;NBCAR($B$3)-1)&DROITE($B$3)-1;
ncol;EQUIV(B6;Table_coeff[[#En-têtes];[Vélo]:[Avion]];);

FILTRE(CHOISIRCOLS(Table_coeff[[Vélo]:[Avion]];ncol);Table_coeff[Période]=date)
)

Ceci pour le 1er tableau. Mais reste la même logique pour le 2ème...

Merci à vous 2 pour vos solutions !

De rien !

Ne pas oublier de mettre à jour le profil pour la version Excel utilisée

Salut JB_, oui je me doutais bien qu'il y avait des solutions plus "modernes" avec FILTER et CHOOSECOLS. C'est vraiment cool ces nouveaux ajouts. J'ai gardé l'index/equiv car je suis vieux jeu… et eviter les #SPILL si pour une raison X ou Y le tableau présente des doublons.

Attention, les variables intermédiaires que j'ai indiqué à coté du premier tableau dans mon premier message sont incorrectes : la date du mois précédent est mal calculée, il faut utiliser plutot la formule que j'ai renvoyée dans le LET pour la variable "periode".

Mois précédent calculé correctement :

SI(mois="01";annee-1 & " " & 12; annee & " " & TEXTE(mois-1;"00"))
Rechercher des sujets similaires à "recherche criteres"