Anzeige
Archiv - Navigation
340to344
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
340to344
340to344
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Mathematische Summe durchführen

Mathematische Summe durchführen
24.11.2003 19:20:21
Sebastian
Hallo,

irgendwie habe ich offensichtlich meinen Thread versehentlich ins Archiv geschickt. Daher schreibe ich es hier noch einmal. Sorry.

Gruß,
Sebastian


Ich habe folgendes Problem: Wie kann man die Funktionen in eine Summe einbetten?
Allgemein formuliert möchte ich eine Funktion f(x,y) mit y als Funktionsgröße aus einer anderen Zelle, die konstant bleibt, aufsummieren mit z.B. 1 <= x <= 9, also f(1,y)+f(2,y)+...+f(8,y)+f(9,y). Dazu könnte ich natürlich 9 Zellen programmieren, wobei die erste einfach nur f(1,y), die zweite f(2,y) usw. berechnet und dann alle Zellen aufsummieren, aber das ist mir erstens zu kompliziert, zweitens brauche ich dann eine Menge Platz und drittens denke ich: Es muss doch einfacher mit nur einer Zelle gehen! Dazu hätte ich eine weitere Frage: Ist dies sogar mit mehreren Variablen (x1, x2, x3) möglich, die jeweils von einer Untergrenze bis zu einer Obergrenze (wobei die Grenzen unterschiedlich sein dürfen) gezählt werden?

Dazu habe ich eine konkrete Formel. Für ein einziges Summenglied lautet sie: (Achtung: dort wo "(KLEINER)" steht, sollte eigentlich das mathematische Kleiner-Zeichen stehen. Bei der Vorschau war dann alles Nachfolgende leider abgeschnitten, weswegen ich es durch "(KLEINER)" ersetzt habe.)

WENN(UND(x<=A1;y<=A2;z<=A3;x+z>=B1;y+z>=B2;x+y+z(KLEINER)B1+B2);KOMBINATIONEN(A1;x)*KOMBINATIONEN(A2;y)*KOMBINATIONEN(A3;z)*KOMBINATIONEN(A4;A5);0)

Dabei sind A1 bis A5 sowie B1 und B2 Werte, die konstant sind und aus einer Zelle ausgelesen werden. Nun soll diese Funktion für alle Kombinationen mit 0 <= x <= 9, 0 <= y <= 9 und 0 <= z <= 3 ausgeführt und ihre Ergebnisse aufsummiert werden. Wie stelle ich das am geschicktesten an? Mit Matrixformeln habe ich noch nie gearbeitet. Ein Problem habe ich dabei noch: Diese Summe muss ich in 60 Zellen durchführen für unterschiedliche Ausgangsparameter A1 bis A5 sowie B1 und B2 (die dann natürlich auf andere Zellen verweisen).

Gruß,
Sebastian

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: hier der ausgangsthread
25.11.2003 09:49:20
Sebastian
Hallo,

ich bin das erste Mal in diesem Forum, ich weiss leider nicht, wie ich im Archiv einen Beitrag verfasse, daher schreibe ich noch einmal hier. Danke an Jörg für den Hinweis mit dem "<"-Zeichen. Danke an Ingo für die Mühe, mir eine Funktion zu schreiben. Ich verstehe leider nur noch nicht wie ich sie benutze. Ich bin Maschinenbau-Student und hatte nur die Grundlagen von C++, das sieht aber nicht nach C aus, wenngleich Ähnlichkeiten vorhanden sind. Ist das Visual Basic? Wenn ja, wie kann ich das schreiben und in meiner Excel-Tabelle aufrufen? Offensichtlich wird damit die Funktion SUMMENFORMEL() mit den 7 genannten Koeffizienten A1 bis A5 sowie B1 und B2 definiert. Wie schon gesagt, weiß ich nun nicht, wie ich das implementiere. Danke für jede weitere Hilfe (und auch für den Hinweis, wie ich im Archiv weiterschreiben kann).

Gruß,
Sebastian

PS: Diesen Artikel als Antwort auf:

Hallo Sebastian,

ich glaube für eine Matrixfunktion ist die anforderung zu aufwendig, habe deshalb mal eine


Function geschrieben, die genau das machen sollte, was du beschrieben hast:

Function summenformel(a1 As Integer, a2 As Integer, a3 As Integer, a4 As Integer, a5 As Integer, b1 As Integer, b2 As Integer) As Double
Dim x%, y%, z%
Dim summe As Double
Application.Volatile
If a4 < a5 Then
summenformel = 0
Exit Function
End If
summe = 0
For x = 0 To 9
For y = 0 To 9
For z = 0 To 3
If (x + z <= b1) And (y + z >= b2) And (x + y + z < b1 + b2) Then
summe = summe + Application.WorksheetFunction.Combin(a1, x) * Application.WorksheetFunction.Combin(a2, y) * _
Application.WorksheetFunction.Combin(a3, z) * Application.WorksheetFunction.Combin(a4, a5)
End If
Next z
Next y
Next x
summenformel = summe
End Function

Du kannst ja vielleicht an bekannten beispielen mal testen und mir bescheid gebenGruß Ingo

Anzeige

15 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige