Question formule excel
Résolu
Xavier
-
Xavier -
Xavier -
Bonjour,
Voilà, je travaille dans une entreprise d'usinage et je doit refaire un fichier excel concernant la planification des affaires en fonction des semaines. A la suite de quoi il me faudrait une formule (si elle existe d'ailleurs...) qui pourrait faire la différence entre des syntaxes et des valeurs et faire la somme de ces valeurs suivant les syntaxe...
Je m'explique avec un exemple :
.
......................................semaine 1..............................
...............pièce 1......machine 1 / 100h.............
Affaire 1..pièce 2......machine 2 / 20h...........
...............pièce 3......machine 3 / 45h...............
...............pièce 1......machine 2 / 10h..............
Affaire 2..pièce 2......machine 3 / 60h..............
...............pièce 3......machine 2 / 150h...........
.
Somme heure/machine1
Somme heure/machine2
Somme heure/machine3
.
.
Donc j'aimerais trouver une formule qui puisse me donner la somme des heures sur la machine 1, sur la machine 2 et sur la machine 3 (par semaine ici) en sachant que "machine1 / 100h" se trouve dans la même cellule...Il faudrait que la formule puisse différencier le fait que se soit machine1 ou 2 ou 3 et le nombre d'heures...
J'espère m'être bien exprimé...
Merci d'avance
Voilà, je travaille dans une entreprise d'usinage et je doit refaire un fichier excel concernant la planification des affaires en fonction des semaines. A la suite de quoi il me faudrait une formule (si elle existe d'ailleurs...) qui pourrait faire la différence entre des syntaxes et des valeurs et faire la somme de ces valeurs suivant les syntaxe...
Je m'explique avec un exemple :
.
......................................semaine 1..............................
...............pièce 1......machine 1 / 100h.............
Affaire 1..pièce 2......machine 2 / 20h...........
...............pièce 3......machine 3 / 45h...............
...............pièce 1......machine 2 / 10h..............
Affaire 2..pièce 2......machine 3 / 60h..............
...............pièce 3......machine 2 / 150h...........
.
Somme heure/machine1
Somme heure/machine2
Somme heure/machine3
.
.
Donc j'aimerais trouver une formule qui puisse me donner la somme des heures sur la machine 1, sur la machine 2 et sur la machine 3 (par semaine ici) en sachant que "machine1 / 100h" se trouve dans la même cellule...Il faudrait que la formule puisse différencier le fait que se soit machine1 ou 2 ou 3 et le nombre d'heures...
J'espère m'être bien exprimé...
Merci d'avance
A voir également:
- Question formule excel
- Formule excel si et - Guide
- Formule moyenne excel plusieurs colonnes - Guide
- Liste déroulante excel - Guide
- Excel mise en forme conditionnelle formule - Guide
- Formule somme excel colonne - Guide
7 réponses
Bonjour,
si tu essaye SOMME.SI ? Il faudra cependant séparer le nom de la machine et les heures en 2 colonnes.
Dans plage, tu met la plage avec tous les nom des machines,
dans critère, par ex, « machine 1 »,
dans plage somme , la plage avec toute les heures, normalement, il va faire la somme des heures de la machine 1.
si tu essaye SOMME.SI ? Il faudra cependant séparer le nom de la machine et les heures en 2 colonnes.
Dans plage, tu met la plage avec tous les nom des machines,
dans critère, par ex, « machine 1 »,
dans plage somme , la plage avec toute les heures, normalement, il va faire la somme des heures de la machine 1.
Salut,
effectivement, le plus simple serait de séparer la partie heure recherchée, ensuite plusieurs formule comme celle proposée par Adurna SOMME.SI ou encore SOMMEPROD.
pour éclater la chaine contenue dans une cellule, il est possible de le faire avec Données et Convertir
ou par formule
cette formule =GAUCHE(A1;CHERCHE("/";A1)-1) donnera machine 1
attention aux espaces entre le 1 et / il existe un espace pour obtenir machine 1 il faudra user de cette formule
=GAUCHE(A1;CHERCHE("/";A1)-2) donnera machine 1
cette formule donnera 100h
=DROITE(A1;NBCAR(A1)-CHERCHE("=";A1))
la aussi attention le h après le 100 formatera le résultat en Texte et ne sera pas exploitable pour être repris dans une formule de calcul
il vaudrait mieux extraire que la partie numérique 100 avec cette formule
=GAUCHE(DROITE(A1;NBCAR(A1)-CHERCHE("/ ";A1));CHERCHE("h";DROITE(A1;NBCAR(A1)-CHERCHE("/ ";A1)))-1)*1
On pourrait jouer comme cela pour extraire directement la valeur 100 de cette chaine "machine1 / 100h" qui nous intéresse et qui concerne la machine 1 avec cette formule
=SI(GAUCHE(A1;CHERCHE("/";A1)-2)="machine 1";GAUCHE(DROITE(A1;NBCAR(A1)-CHERCHE("/ ";A1));CHERCHE("h";DROITE(A1;NBCAR(A1)-CHERCHE("/ ";A1)))-1)
et pour ne pas figer la formule avec machine 1 on pourrait faire référence à une cellule contenant le texte de référence de la valeur recherchée en remplaçant ="machine 1" dans la formule par une adresse cellule qui contiendra ce texte "machine 1 ou machine 2 etc ... exemple F1
=SI(GAUCHE(A1;CHERCHE("/";A1)-2)=F1;GAUCHE(DROITE(A1;NBCAR(A1)-CHERCHE("/ ";A1));CHERCHE("h";DROITE(A1;NBCAR(A1)-CHERCHE("/ ";A1)))-1)*1;"")
effectivement, le plus simple serait de séparer la partie heure recherchée, ensuite plusieurs formule comme celle proposée par Adurna SOMME.SI ou encore SOMMEPROD.
pour éclater la chaine contenue dans une cellule, il est possible de le faire avec Données et Convertir
ou par formule
cette formule =GAUCHE(A1;CHERCHE("/";A1)-1) donnera machine 1
attention aux espaces entre le 1 et / il existe un espace pour obtenir machine 1 il faudra user de cette formule
=GAUCHE(A1;CHERCHE("/";A1)-2) donnera machine 1
cette formule donnera 100h
=DROITE(A1;NBCAR(A1)-CHERCHE("=";A1))
la aussi attention le h après le 100 formatera le résultat en Texte et ne sera pas exploitable pour être repris dans une formule de calcul
il vaudrait mieux extraire que la partie numérique 100 avec cette formule
=GAUCHE(DROITE(A1;NBCAR(A1)-CHERCHE("/ ";A1));CHERCHE("h";DROITE(A1;NBCAR(A1)-CHERCHE("/ ";A1)))-1)*1
On pourrait jouer comme cela pour extraire directement la valeur 100 de cette chaine "machine1 / 100h" qui nous intéresse et qui concerne la machine 1 avec cette formule
=SI(GAUCHE(A1;CHERCHE("/";A1)-2)="machine 1";GAUCHE(DROITE(A1;NBCAR(A1)-CHERCHE("/ ";A1));CHERCHE("h";DROITE(A1;NBCAR(A1)-CHERCHE("/ ";A1)))-1)
et pour ne pas figer la formule avec machine 1 on pourrait faire référence à une cellule contenant le texte de référence de la valeur recherchée en remplaçant ="machine 1" dans la formule par une adresse cellule qui contiendra ce texte "machine 1 ou machine 2 etc ... exemple F1
=SI(GAUCHE(A1;CHERCHE("/";A1)-2)=F1;GAUCHE(DROITE(A1;NBCAR(A1)-CHERCHE("/ ";A1));CHERCHE("h";DROITE(A1;NBCAR(A1)-CHERCHE("/ ";A1)))-1)*1;"")
Super !!! Merci à vous 2, j'avais effectivement pensé à séparer en deux cellules "machine" et "heure" mais j'ai peur que le tableau soit trop "lourd" à lire.
Je vais me pencher sur la méthode de Mike...sinon et bien je ferais suivant la 1ere rep.
Je retiendrais au courant ! Merci
Je vais me pencher sur la méthode de Mike...sinon et bien je ferais suivant la 1ere rep.
Je retiendrais au courant ! Merci
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Est-ce que la formule Gauche fonctionne sur une plage de valeurs ? Car j'arrive à afficher la valeur 100 pour machine 1 ,la valeur 20 pour machine 2,etc...mais j'aimerais pouvoir afficher la somme des valeurs en machine 1, en machine 2,etc...
Hors j'ai l'impression que faire : Gauche(A1:A6;........) ne fonctionne pas ?!
Hors j'ai l'impression que faire : Gauche(A1:A6;........) ne fonctionne pas ?!
Re,
Non la formule isole une partie de chaine contenue dans une cellule, pour totaliser les heures de machine 1 par exemple qui seraient contenues dans plusieurs cellules
le plus simple serait de couper tes cellules par exemple en C tu colles cette formule que tu incrémentes vers le bas ex. de C1 à C20
=GAUCHE(A1;CHERCHE("/";A1)-2) qui te donnera "machine 1"
en D tu colles cette formule que tu incrémentes vers le bas ex. de D1 à D20
=GAUCHE(DROITE(A1;NBCAR(A1)-CHERCHE("/ ";A1));CHERCHE("h";DROITE(A1;NBCAR(A1)-CHERCHE("/ ";A1)))-1)*1
ensuite tu as plusieurs possibilités comme cette formule que tu colles en E par exemple
=SOMMEPROD((C1:C20="machine1 ")*(D1:D20))
Non la formule isole une partie de chaine contenue dans une cellule, pour totaliser les heures de machine 1 par exemple qui seraient contenues dans plusieurs cellules
le plus simple serait de couper tes cellules par exemple en C tu colles cette formule que tu incrémentes vers le bas ex. de C1 à C20
=GAUCHE(A1;CHERCHE("/";A1)-2) qui te donnera "machine 1"
en D tu colles cette formule que tu incrémentes vers le bas ex. de D1 à D20
=GAUCHE(DROITE(A1;NBCAR(A1)-CHERCHE("/ ";A1));CHERCHE("h";DROITE(A1;NBCAR(A1)-CHERCHE("/ ";A1)))-1)*1
ensuite tu as plusieurs possibilités comme cette formule que tu colles en E par exemple
=SOMMEPROD((C1:C20="machine1 ")*(D1:D20))
Re,
Sa y est j'ai réussi à m'en sortir...
Du coup j'utilise une formule matricielle qui réalise un test logique :
{=SOMME(DROITE((C22:C27);3)*SI(GAUCHE((C22:C27);3)=C33;1;0))}
Ici c'est la formule sortie de mon fichier, donc dans l'exemple enfaite si on change "machine 1 / 100h" par "ma1 100" ,cette formule prend les 3 caractères de droite et les multiplie par 1 ou 0 si à gauche les caractères sont "ma1" (et tous sa sur une plage de valeurs donc...), puis ensuite elle réalise la somme (ex: 100*1 + 20*0 + ...). Pareil pour ma2 et ma3...
Voilà voilà, merci à toi d'avoir suivi mon sujet et de m'avoir aidé ! =)
Sa y est j'ai réussi à m'en sortir...
Du coup j'utilise une formule matricielle qui réalise un test logique :
{=SOMME(DROITE((C22:C27);3)*SI(GAUCHE((C22:C27);3)=C33;1;0))}
Ici c'est la formule sortie de mon fichier, donc dans l'exemple enfaite si on change "machine 1 / 100h" par "ma1 100" ,cette formule prend les 3 caractères de droite et les multiplie par 1 ou 0 si à gauche les caractères sont "ma1" (et tous sa sur une plage de valeurs donc...), puis ensuite elle réalise la somme (ex: 100*1 + 20*0 + ...). Pareil pour ma2 et ma3...
Voilà voilà, merci à toi d'avoir suivi mon sujet et de m'avoir aidé ! =)