Trouver une formule
RésoluMaz -
Bonjour,
Actuellement, je souhaiterai avoir une formule me permettant de calculer un nombre d'heure issue d'une plage horaire.
La plage horaire est ecrite sous la forme suivante :
09:05-12:10/14:10-18:10
Je souhaiterai une formule me donnant le nombre d'heures travaillee, soit ici, 7:05
Merci par avance pour vos reponses!
- Trouver une formule
- Formule si et - Guide
- Trouver adresse mac - Guide
- Formule moyenne excel plusieurs colonnes - Guide
- Formule mathématique - Télécharger - Études & Formations
- Formule somme excel colonne - Guide
5 réponses
Bonjour,
Il aurait été plus simple de mettre chaque horaire dans des cellules différentes.
Je suppose que la chaîne de caractères est toujours la même, c'est à dire 11 caractères de part et d'autre du "/"
Dans une cellule au format hh:mm extraire tous les éléments en les multipliant par 1 pour que ça fonctionne
La chaîne de caractères dans la cellule A1, la formule en B1 est :
=DROITE(GAUCHE(A1;11);5)*1-GAUCHE(A1;5)*1+DROITE(A1;5)*1-GAUCHE(DROITE(A1;11);5)*1
Cordialement
RE:
J'ai aussi pris en compte un horaire avec 4 nombres à deux chiffres comme 10-13/15-19.
Donc il faut jouer sur le nombre de caractères des 3 possibilités 10, 11 ou 23 ; avec l'horaire toujours en A1 et le même format de cellule "hh:mm", la formule et composée de deux si() imbriqués
=SI(NBCAR(A1)=10;(DROITE(GAUCHE(A1;4);2)&":00")*1-(GAUCHE(A1;1)&":00")*1+(DROITE(A1;2)&":00")*1-(GAUCHE(DROITE(A1;5);2)&":00")*1;SI(NBCAR(A1)=11;(DROITE(GAUCHE(A1;5);2)&":00")*1-(GAUCHE(A1;2)&":00")*1+(DROITE(A1;2)&":00")*1-(GAUCHE(DROITE(A1;5);2)&":00")*1;DROITE(GAUCHE(A1;11);5)*1-GAUCHE(A1;5)*1+DROITE(A1;5)*1-GAUCHE(DROITE(A1;11);5)*1))
Pour les deux cas où les horaires sont composés d'un ou deux chiffres j'ai ajouté &":00" à chaque extraction pour que ça devienne un horaire complet.
Mais *Attention* il faut éviter d'jouter des caractères intempestifs, espaces ou autres ; sinon il faut ajouter une condition
=SI(NBCAR(A1)=10;(DROITE(GAUCHE(A1;4);2)&":00")*1-(GAUCHE(A1;1)&":00")*1+(DROITE(A1;2)&":00")*1-(GAUCHE(DROITE(A1;5);2)&":00")*1;SI(NBCAR(A1)=11;(DROITE(GAUCHE(A1;5);2)&":00")*1-(GAUCHE(A1;2)&":00")*1+(DROITE(A1;2)&":00")*1-(GAUCHE(DROITE(A1;5);2)&":00")*1;SI(NBCAR(A1)=23;DROITE(GAUCHE(A1;11);5)*1-GAUCHE(A1;5)*1+DROITE(A1;5)*1-GAUCHE(DROITE(A1;11);5)*1;"ERREUR")))
Cordialement
RE:
Encore merci pour ta reponse et ton travail.
Je ne connais pas le niveau de detail qu'il faut pour faire ces formules, de ce fait, je m'apercois que je me suis mal exprime et je suis vraiment desole de te faire perdre de ton temps..
Je voulais savoir si cela etait possible pour ce genre de cas :
09:30-12/14-18:00
A savoir que les " : " peuvent etre marques ou non, peu importe qu'il s'agisse du 09:00 ou 09 ou 12:00 ou 12 etc.
Je m'excuse encore une fois, mon manque de connaissance me fais poser de mauvaises questions et je te remercie encore une fois pour te temps et votre travail.
Je n'ai plus le temps ce soir. Ne t'inquiète pas du temps passé, je suis à la retraire et ça m'aide à ne pas perdre la main.
Cordialement
Bonjour,
Une petite précision avant de continuer à chercher ; est-ce que l'horaire de début est toujours 9 ou 09 ou 9:** ou 09:** ?
Pour éviter une formule du genre "gloubi-boulga" ou "usine à gaz" (*), je pense qu'il va falloir utiliser des colonnes en dehors du tableau pour faire les calculs intermédiaires ; alors donne aussi le nombre de colonnes de ton tableau ainsi que la colonne et la ligne de départ qui servent à rentrer les horaires ; par exemple B2 car je suppose que la colonne A sert à la date et la ligne 1 aux entêtes de colonne (**).
(*) à moins qu'un pro de la macro sur Sheets vienne prendre le relais
(**) ou alors donner accès à une copie de ton tableau sur lequel tu auras retiré les données confidentielles et laissé toutes les possibilités d'horaire ?
Cordialement
Ok merci du retour,
Si tu donnais la référence de la cellule de départ dans ton tableau, les formules pourraient se corriger automatiquement en insérant des lignes et des colonnes et je les mettrai dans la prochaine réponse afin de le copier/coller.
Il valait mieux passer par une décomposition car voici ce que donne lorsque tout est rassemblé dans une seule formule
Cordialement
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Une autre avec le même format de cellule
=TEXTE(DROITE(GAUCHE(A1;11);5);"hh:mm")-TEXTE(GAUCHE(A1;5);"hh:mm")+TEXTE(DROITE(A1;5);"hh:mm")-TEXTE(GAUCHE(DROITE(A1;11);5);"hh:mm")
Cordialement
Bonjour,
Tout d'abord, merci pour ta reponse :)
Malheureusement, je n'ai pas la possibilite de modifier la facon dont fonctionne ce planning. Je ne peux donc pas separer chaque horaire dans une differente cellule.
Cela etant dit, je me permet de profiter de ton savoir; est-il possible de trouver une formule qui fonctionne dans le premier cas mais aussi si on note les horaires de cette facon :
9-12/14-18
En tout cas, ta formule fonctionne tres bien, merci beaucoup pour ton aide!