Formule excel

Discutez d'informatique ici !
praud
Membre Relatif
Messages: 175
Enregistré le: 28 Mai 2006, 20:33

formule excel

par praud » 16 Jan 2009, 15:53

je cherche une formule excel pour obtenir ce résultat.
je souhaite que Excel cacule automatiquement une somme de nombre sur chaque ligne.
Si sur une ligne,il y a 1 ou 2 nombre,je veux qu'il ne passe rien.
Si il y a 3 nombre,je veux qu'ecel me retourne la somme
si il y a 4 nombre,je eveux excel me retoune la somme des 3 nombre les plus petis.

Exemple
si je rentre 9 17,Excel ne doit rien calculer,si je rentre 9 17 24 ,il faut qu'excel calcule 9+17+24=50 et si je rentre 9 17 24 20;excel doit calculer 9+17+20=46

Merci



XENSECP
Habitué(e)
Messages: 6387
Enregistré le: 27 Fév 2008, 19:13

par XENSECP » 16 Jan 2009, 16:34

Hum ça se fait ^^
Si tu dis que la colonne 3 contient des 0 par exemple.
Comme ça tu testes : si l'élément de la colonne 3 est nulle, tu mets 0, sinon tu calcules la somme ;)

tu vois ?

Avatar de l’utilisateur
leon1789
Membre Transcendant
Messages: 5486
Enregistré le: 27 Nov 2007, 15:25

par leon1789 » 16 Jan 2009, 17:36

XENSECP a écrit:tu vois ?

Personnellement, je vois que ta réponse est très loin de répondre au problème posé.

Répondre avec une seule formule, cela me parait difficile.
Si tu peux utiliser 3 autres lignes dans le tableur, c'est faisable en repérant les trois plus petits nombres, puis en les sommant.

XENSECP
Habitué(e)
Messages: 6387
Enregistré le: 27 Fév 2008, 19:13

par XENSECP » 16 Jan 2009, 17:41

leon1789 a écrit:Personnellement, je vois que ta réponse est très loin de répondre au problème posé.

Répondre avec une seule formule, cela me parait difficile.
Si tu peux utiliser 3 autres lignes dans le tableur, c'est faisable en repérant les trois plus petits nombres, puis en les sommant.


Oups ^^ J'avais pas vu qu'il voulait les plus petits...

En même temps le cahier des charges est incomplet... Il y a que 4 colonnes au + ?

praud
Membre Relatif
Messages: 175
Enregistré le: 28 Mai 2006, 20:33

par praud » 16 Jan 2009, 17:53

oui il y a 4 ligne.Soit elle contienne un nombre soit elle en a pas.

Avatar de l’utilisateur
leon1789
Membre Transcendant
Messages: 5486
Enregistré le: 27 Nov 2007, 15:25

par leon1789 » 16 Jan 2009, 19:19

praud a écrit:oui il y a 4 ligne.Soit elle contienne un nombre soit elle en a pas.

donc tu veux
s'il y a 2 nombres, ne rien faire
s'il y a 3 nombres, faire la somme des 3 nombres
s'il y a 4 nombres, faire la somme des 4 nombres privés du maximum

il n'y a jamais davantage de nombres ?

Avatar de l’utilisateur
fatal_error
Membre Légendaire
Messages: 6610
Enregistré le: 22 Nov 2007, 12:00

par fatal_error » 16 Jan 2009, 19:22

salut,

une petite idée comme ca:
Si ya 4 colonnes :

soit x_i la ligne x de la colonne i.
Je connais pas la syntaxe de la fonction MAX. Par défaut, je pose
MAX(x_1;x_4)=x_i si x_i est la plus grande valeur.(1<=i<=4)

Du coup : si on a 4 valeurs, on récupere la valeur totale par
SUM(x_1;x_4)-MAX(x_1;x_4)

On remarque que si une colonne est vide, le résultat est correct (en supposant que t'aies pas rentré de valeurs négatives).

Il reste a s'occuper du fait qu'il faut rien faire s'il y a deux valeurs.

On peut tenter la fraction du produit x_1,x_2,x_3 divisé par x_1,x_2,x_3. Si le produit est non nul, le résultat vaut 1. Si le produit vaut 0 ca risque de faire une erreur, mais j'ai envie de dire qu'on s'en tape, vu qu'on sait que c'était une valeur a pas calculer :marteau: .

Donc je tenterais bien la formule



Mais j'ai pas testé. Il faudrait que je reboot pour passer sous excel. Mais en ce moment windows me constipe.
la vie est une fête :)

Avatar de l’utilisateur
leon1789
Membre Transcendant
Messages: 5486
Enregistré le: 27 Nov 2007, 15:25

par leon1789 » 16 Jan 2009, 19:25

on peut connaitre le nombre de cellules ayant une valeur avec NB(...)
(pas besoin de faire des divisions par 0)
donc pas de problème pour programmer la formule, c'est juste un peu long.

Avatar de l’utilisateur
leon1789
Membre Transcendant
Messages: 5486
Enregistré le: 27 Nov 2007, 15:25

par leon1789 » 16 Jan 2009, 19:29

ça donne un truc comme ça
Code: Tout sélectionner
=SI(NB(A1:D1)<=2;"";SI(NB(A1:D1)=3;SOMME(A1:D1);SOMME(A1:D1)-MAX(A1:D1)))

lorsque les 4 cellules sont a1,...,d1

Avatar de l’utilisateur
fatal_error
Membre Légendaire
Messages: 6610
Enregistré le: 22 Nov 2007, 12:00

par fatal_error » 16 Jan 2009, 19:29

Ahok :id:

Mais juste pour savoir, comment on peut se passer de la division par zéro du coup?

Edit : Plus rapide que mon ombre...
la vie est une fête :)

XENSECP
Habitué(e)
Messages: 6387
Enregistré le: 27 Fév 2008, 19:13

par XENSECP » 16 Jan 2009, 19:58

Ca a l'air bien compliqué je trouve ^^ Pourquoi faire UNE seule formule quand on a un tableur entier ?

Enfin bon...

Avatar de l’utilisateur
leon1789
Membre Transcendant
Messages: 5486
Enregistré le: 27 Nov 2007, 15:25

par leon1789 » 16 Jan 2009, 20:28

XENSECP a écrit:Ca a l'air bien compliqué je trouve ^^ Pourquoi faire UNE seule formule quand on a un tableur entier ?

Enfin bon...


Je t'en prie, explique comment tu t'y prendrais ! ^^

Dan63
Messages: 1
Enregistré le: 16 Fév 2009, 16:34

par Dan63 » 18 Fév 2009, 09:26

fatal_error a écrit:salut,

une petite idée comme ca:
Si ya 4 colonnes :

soit x_i la ligne x de la colonne i.
Je connais pas la syntaxe de la fonction MAX. Par défaut, je pose
MAX(x_1;x_4)=x_i si x_i est la plus grande valeur.(1<=i<=4)

Du coup : si on a 4 valeurs, on récupere la valeur totale par
SUM(x_1;x_4)-MAX(x_1;x_4)

On remarque que si une colonne est vide, le résultat est correct (en supposant que t'aies pas rentré de valeurs négatives).

Il reste a s'occuper du fait qu'il faut rien faire s'il y a deux valeurs.

On peut tenter la fraction du produit x_1,x_2,x_3 divisé par x_1,x_2,x_3. Si le produit est non nul, le résultat vaut 1. Si le produit vaut 0 ca risque de faire une erreur, mais j'ai envie de dire qu'on s'en tape, vu qu'on sait que c'était une valeur a pas calculer :marteau: .

Donc je tenterais bien la formule



Mais j'ai pas testé. Il faudrait que je reboot pour passer sous excel. Mais en ce moment windows me constipe.


MDR pourquoi faire simple quand on peut faire compliqué
Dommage que ce problème soit si ancien...
Mais bon, si qqu'un avait encore ce cas, on pourrait essayer cela : =SI(NB(B5:E5)<3;"";SOMME(B5:E5)-MAX(B5:E5))
Sachant bien sûr que dans ce cas, on est en F5 et que l'on teste les 4 cellules à gauche...
Bonne journée

phryte
Membre Irrationnel
Messages: 1406
Enregistré le: 05 Juil 2008, 17:09

par phryte » 18 Fév 2009, 11:43

Bonjour.
Je te propose une macro :
[img][IMG]http://img503.imageshack.us/img503/885/tableauqy1.jpg[/img] Image[/IMG]
Sub Total()
V = 0
For n = 0 To 3
If Cells(5, 3 + n) = " " Then
V = V + 1
End If
Next
Select Case V + 1
Case 1
S = 0
For n = 0 To 3
If Cells(5, 3 + n) Cells(5, 7) Then
S = S + Cells(5, 3 + n)
End If
Next
Case 2
S = 0
For n = 0 To 3
If Cells(5, 3 + n) " " Then
S = S + Cells(5, 3 + n)
End If
Next
Case 3
Case 4
End Select
Cells(5, 8) = S
End Sub

 

Retourner vers ϟ Informatique

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 2 invités

Tu pars déja ?



Fais toi aider gratuitement sur Maths-forum !

Créé un compte en 1 minute et pose ta question dans le forum ;-)
Inscription gratuite

Identification

Pas encore inscrit ?

Ou identifiez-vous :

Inscription gratuite