Bonjour,
je chercherais une formule (hors VBA si possible) pour compléter automatiquement une colonne d'un jeu de données en fonction du fait que l'une des données de la ligne se situe dans un intervalle.
Je m'explique (voir pj) :
. J'ai un jeu de donnée 1 (simplifié) de plusieurs milliers de lignes contenant en A une heure et en B une donnée numérique. (à gauche dans le fichier en pj)
. J'ai jeu de données 2 (à droite dans le fichier en pj) contenant en J une activité (du texte), en K une heure de début et en L une heure de fin. Les colonnes K et J représentent les 2 bornes des intervalles de temps de l'activité, et chaque lignes de ce jeu de données sont exclusives (pas de superposition des intervalles).
--> Je voudrais, pour chaque ligne du jeu de données 1, associé l'activité correspondante à l'heure de la ligne, en fonction de l'intervalle du jeu de données 2 dans laquelle cette heure se situe ("resting" si elle ne correspond à aucun intervalle).
En gros, je peux traduire ça en "si Ax est supérieur à l'une des valeurs de K et inférieur à la valeur associée de L, alors je veux J, sinon "resting".
J'ai réussi à obtenir ce résultat pour poursuivre mes tests, mais avec une formule de SI imbriqués (colonne D). Cela fonctionne, mais est très lourd et ne sera plus possible si mon jeu de données 2 s'agrandit trop (ce qui est déjà le cas à l'heure actuelle).
Je cherche donc une formule pour faire la même chose mais en simplifié. J'ai essayé avec pas mal de formules (mais je les ai peut-être mal écrites) : rechercheV, index+equiv, SI, etc ; en matriciel ou non; et je n'arrive pas à avoir ce que je cherche. Vous pouvez voir le test le plus concluant en colonne F avec un SI matriciel, mais cela ne fonctionne que pour le premier intervalle et plus ensuite.
J'imagine qu'il doit bien y avoir une façon d'écrire cela. Merci d'avance pour votre aide et vos réponses.
Bonne journée !