XL 2016 Comparer une durée aléatoire / tableau de durée

scanx

XLDnaute Nouveau
Bonjour à tous,

Objet : Attribuer une valeur en fonction d'une durée aléatoire (format heure) en fonction d'un tableau de durée.
Ex: si j'ai une durée de 00:06:20, je regarde sur le tableau de durée la correspondance sachant que sur le tableau les intervalles sont de 30s.
Dans cette exemple, 00:06:20 se situe entre 00:06:00 et 00:06:30 donc je lui attribue la valeur 6

Malgré quelques recherches je ne trouve pas le moyen d'optimiser la formule autrement qu'avec des SI imbriqués. Il n'y aurais pas une autre solution?

Merci pour votre aide.

Fichier exemple en pj
 

Pièces jointes

  • Attribution points selon plages.xlsx
    8.7 KB · Affichages: 3

Dranreb

XLDnaute Barbatruc
Inutile alors, puisqu'un calcul peut trouver la même chose.
Peut être plutôt d'ailleurs :
Code:
=MIN(MAX(ENT(19-LaDuréeÀAnalyser*2880);0);13)
pour être à peu près conforme à votre texte plutôt qu'au tableau, ce qui est impossible puisque il ne dit pas quelle valeur doit être appliquée aux demi-minutes justes. Le tableau disait que jusqu'à 7 minutes incluses c'est 4, mais au dessus c'est 3, pas 4 comme vous dites dans l'exemple.
Si c'étaient des bornes exclues c'est plutôt :
Code:
=MIN(MAX(ENT(18,99999-LaDuréeÀAnalyser*2880);0);13)
 
Dernière édition:

scanx

XLDnaute Nouveau
Inutile alors, puisqu'un calcul peut trouver la même chose.
Peut être plutôt d'ailleurs :
Code:
=MIN(MAX(ENT(19-LaDuréeÀAnalyser*2880);0);13)
pour être à peu près conforme à votre texte plutôt qu'au tableau, ce qui est impossible puisque il ne dit pas quelle valeur doit être appliquée aux demi-minutes justes. Le tableau disait que jusqu'à 7 minutes incluses c'est 4, mais au dessus c'est 3, pas 4 comme vous dites dans l'exemple.
Si c'étaient des bornes exclues c'est plutôt :
Code:
=MIN(MAX(ENT(18,99999-LaDuréeÀAnalyser*2880);0);13)
Dranreb,

On est bien dans le cas 2, les bornes sont exclues. Je suis très impressionné, ca fonctionne. Bravo!
Par contre si vraiment vous avez du temps, j'aimerais comprendre à quoi correspond 19 (ou 18,99999) et le 2880, car finalement certaines plages doivent avoir le même retour.
ex : de 00:06:00 à 00:00:00 = 10
Encore merci
 

scanx

XLDnaute Nouveau
Pour mon cas de figure j'ai adopté la solution de Chris car je devais attibuer le même nombre pour plusieurs critères de comparaison.
La solution de Dranreb fonctionne aussi très bien, je garde pour un autre projet.

un grand merci à vous 2.
 
Haut Bas