Fonction SI avec des heures

je vais essayer de faire simple mais j'ai un soucis à associer des heures avec des valeurs numériques. Je m'explique :

J'ai des constantes :

B4 : 2.75 (inf a 8h)

C4 : 2.86 (9h)

D4 : 3.18 (10h)

E4 : 3.50 (11h)

puis des cellules avec des nombres d'heures avec un total j'indique 2 cas :

D7 : 7:00

D8 : 9:30

ce que je cherche à faire, c'est que dans le cas ou le nombre d'heure est inférieur à 8, ca donne A4 (2.75), s'il est égal a 9, ca donne B4, 10 donne C4 et 11 donne D4.

j'ai fais une formule de ce type :

=SI(D7<=8;$B$4;0)&SI(D7=9;$C$4;0)&SI(D7=10;$D$4;0)&SI(D7=11;$E$4;0)

mais à chaque fois, j'ai ma valeur B4 (3.75) et en effet mes heures en valeur numériques sont toujours inf à 8.

J'ai pris soin de mettre un format personnalisé [hh]:mm

Merci beaucoup d'avance,

PS : je joins le fichier

185salaire.xlsx (10.38 Ko)

Bonsoir,

Un essai,teste et adapte le suivant tes besoins.

A +

321salaire.xlsx (10.43 Ko)

je regarde ton fichier, ok, mais le résultat est toujours 3.5 alors que le nombre d'heure est inf à 8

Je pense que mon soucis vient de la prise en compte des heures car il doit les gérer en valeur numérique soit :

7h00 = 0,29

9h30 = 0,40

Bonsoir le fil,

Un essai avec cette formule :

=INDEX($B$4:$E$4;EQUIV(D7*24;{0;8;9;10;11}))

à recopier vers le bas

@+

alors là, y a du mieux, mais pour la journée à 9h30, il me donne la valeur correspondant à 10 heures alors qu'il devrait mettre la valeur correspondant à 9 heures.

re,

Adaptation en remplaçant les bornes basses par les bornes hautes :

=INDEX($B$4:$E$4;EQUIV(D7*24;{0;9;10;11;24}))

@+

Parfait, ca marche. Merci

C'est possible d'avoir une petite explication sur la fonction que je me couche pas trop bête ?

RE?

Tentative d'explication :

Pour Excel, l'unité de temps est la journée qui vaut 1.

7:30 est en fait équivalent à 7.5/24ème d'une journée.

Il faut donc multiplier par 24 une cellule qui contient un temps pour avoir son équivalent décimal.

EQUIV(D7*24;{0;9;10;11;24})

La fonction EQUIV va permettre de déterminer le rang de l'horaire (D7).

Une fois retourné le rang, avec INDEX, on détermine l'indemnité à retenir.

On peut d'ailleurs raccourcir un tantinet la formule (le 24 était inutile) :

=INDEX($B$4:$E$4;EQUIV(D7*24;{0;9;10;11}))

Voilou

@+

Rechercher des sujets similaires à "fonction heures"