Double recherche verticale (l'une approximative, l'autre exacte)

bencourriel

XLDnaute Occasionnel
Bonjour à tous!

Bien que le sujet des "Recherche" dans Excel est largement couvert dans le forum, je n'ai pas réussi à trouver ce que je cherchais dans le forum. Voici mon problème.

J'ai deux plages de données. (SÉRIE 1 et SÉRIE 2)
Chaque plage contient deux variables :
- une variable "endroit" avec doublon (A, B, C, etc.);
- une variable "heure" qui diffère d'une série à l'autre.

Pour chaque heure de la SÉRIE 1, je veux trouver l'heure précédente la plus proche dans la SÉRIE 2. Petite difficulté, s'il s'agit d'une heure pour l'endroit "A", la recherche doit se faire uniquement dans les données identifiés à l'endroit "A" dans la SÉRIE 2.

Je souhaite faire exactement la même chose pour la SÉRIE 1 mais en ajoutant l'heure suivant la plus proche dans la SÉRIE 2.

J'ai commencé par faire une recherche verticale approximative mais je dois sélectionner manuellement une portion de la SÉRIE 2; ce qui n'est pas idéal compte tenu de la grosseur des séries.

Je joins un fichier pour faciliter la compréhension du problème.

Merci à l'avance pour votre précieuse aide!
 

Pièces jointes

  • Double recherche.xls
    15.5 KB · Affichages: 91
  • Double recherche.xls
    15.5 KB · Affichages: 97
  • Double recherche.xls
    15.5 KB · Affichages: 91

mth

XLDnaute Barbatruc
Re : Double recherche verticale (l'une approximative, l'autre exacte)

Bonsoir,

je ne sais pas si j'ai bien compris, mais voici un essai ci-joint,

@ +

mth
 

Pièces jointes

  • Double%20recherche(1).zip
    3.2 KB · Affichages: 82
Dernière édition:

ROGER2327

XLDnaute Barbatruc
Re : Double recherche verticale (l'une approximative, l'autre exacte)

Bonsoir à tous
Je propose
Code:
{=MAX($K$7:$K$16*($K$7:$K$16<=C7)*($J$7:$J$16=B7))}
en E7 et
Code:
{=1/MAX((1/$K$7:$K$16)*($K$7:$K$16>=C7)*($J$7:$J$16=B7))}
en G7.​
Bonne nuit !
ROGER2327
 

abcd

XLDnaute Barbatruc
Re : Double recherche verticale (l'une approximative, l'autre exacte)

Bonjour,

Je ne comprends pas le résultat recherché en E7, ne serait-ce pas 5:48 au lieu de 5:42 ?

Une formule non matricielle :
=RECHERCHEV(C7;DECALER($J$6;EQUIV(B7;$J$7:$J$16;0);1;NB.SI($J$7:$J$11;B7));1)

abcd
 

bencourriel

XLDnaute Occasionnel
Re : Double recherche verticale (l'une approximative, l'autre exacte)

Bonjour à tous!
Merci beaucoup pour vos réponses.
Ça fonctionne très bien.
C'était effectivement 5:48 qu'on aurait du lire.

Toutefois, j'ai de la difficulté à comprendre le fonctionne de la formule matricielle ainsi que de l'ajout de la formule DECALER dans la RECHERCHEV. Je vais chercher sur l'aide Excel et le forum. Si vous avez des "hints", n'hésitez pas. Masi je ne voudrais pas abuser.

Merci encore!
 

bencourriel

XLDnaute Occasionnel
Re : Double recherche verticale (l'une approximative, l'autre exacte)

Rebonjour à tous!

Pour résoudre mon problème de recherche, j'ai utilisé les deux formules matricielles que vous m'aviez proposé. Ça fonctionne à merveille!

Pouvez-vous me dire ce que je devrais modifier aux formules pour rechercher la valeur la plus proche, peu importe qu'elle soit avant ou après la donnée recherchée?

Voici un rappel des formules trouvées :

I) =1/MAX((1/A)*(A>=B)*(C=D))
II) =MAX(A*(A<=B)*(C=D))
 

Discussions similaires

Réponses
3
Affichages
249

Statistiques des forums

Discussions
312 523
Messages
2 089 319
Membres
104 119
dernier inscrit
karbone57