Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
468to472
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
468to472
468to472
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Summieren solange eine Bedingung erfüllt ist

Summieren solange eine Bedingung erfüllt ist
16.08.2004 09:02:04
Elhana
Hi,
mein Problem:
ich habe drei Spalten "SWS", "Cp", "Note". Nun sollen solange die kleinsten Noten zusammengezählt werden, bis die Summer alle CP größer oder gleich 18 ist. Wie kann ich das mit dem "Solange" realisieren?
AW: Summieren solange eine Bedingung erfüllt ist
Jan
Hi Elhana,
Was heißt denn "SWS", "Cp"? Mit zwei FOR-Schleifen könnte man solche Aufgaben lösen.
Aber dazu brauch ich genauere Angaben zu de o.g. Begriffen.
Jan
AW: Summieren solange eine Bedingung erfüllt ist
Dr.
SWS = Semesterwochenstunden
Cp = Creditpoints
Tipp ich mal.
AW: Summieren solange eine Bedingung erfüllt ist
Elhana
Hi,
Dr. hat recht,es handelt sich bei SWS um Zahlen von 1-6, und bei CP um Zahlen von 2-10
Aber kannst du deine Idee näher ausführen, Jan?
AW: Summieren solange eine Bedingung erfüllt ist
Jan
Hi Elhana,
Stell mal ein Beispiel ins Forum. Mir fehlt der Zusammenhang zwischen den einzelnen
Spalten.
Jan
AW: Summieren solange eine Bedingung erfüllt ist
Elhana
Hi,
Also es geht um Vorlesungen:
jede Vorlseung hat eine bestimmte anzahl an sws und eine bestimmte anzahl an Cp, die man dafür erhält. Außerdem bekommt man am ende vom Semester für die Vorlesung eine Note.
Nun habe ich einen bestimmten Fachbereich, in dem ich mehrere Vorlesungen belegt und entsprechende Noten erhalten habe, sagen wir es sind 10 Vorlesungen.
Nun sollen die besten Noten aus diesen 10 Vorlesungen zusammengezählt werden, aber nur solange, bis die Summe der CP, die zu den jeweiligen Noten (bzw. Vorlesungen) gehören größer oder gleich 18 ist. (Alle Anderen Noten werden nicht berücksichtigt)
Beispiel:
1.Vorles: 2SWS, 3Cp, 2,3
2.Vorles: 1SWS, 2CP, 1,7
3.Vorles: 2SWS, 4CP, 2,0
4.Vorles: 6SWS, 9CP, 2,0
5.Vorles: 3SWS, 4CP, 3,3
6.Vorles: 4SWS, 6CP, 1,3 ...
Hier wäre das gewünschte Ergebnis:
1,3+1,7+2,0+2,0 =7,0 (Summe Noten)
6+2 = 8 &lt18 =&gt +4=12 &lt18 =&gt +9=21 &gt 18 stop!
So, ich hoffe, das genügt...
Anzeige
AW: Summieren solange eine Bedingung erfüllt ist
Jan
Hi Elhana,
Ich komme erst in zwei Stunden dazu mich mit dem Problem zu beschäftigen.(Arbeitsberatung)
Wenn bis dahin noch keiner geantwortet hat, melde ich mich wieder mit einer Lösung.
Jan
AW: Summieren solange eine Bedingung erfüllt ist
Jan
Hi Elhana,
anbei mal ein VBA-Code für diese Problematik mit Erläuterung.

Sub Noten()
Dim note, z1, z2, s As Integer
' Tabellenbereich nach Noten aufsteigend sortieren
anz = Cells(Rows.Count, 3).End(xlUp).Row
Range("A1:C" & anz).Select
Selection.Sort Key1:=Range("C2"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
CP = 0
Do While CP < 19   ' Schleife solange Summe CP kleiner oder gleich 18
For z = 2 To anz    ' Anfangszeile 2 setzen ; Endbedingung: eingetragene Noten in Spalte C
note = note + Cells(z, 3) ' Summierung der Noten
CP = CP + Cells(z, 2)       'Summierung der CP
If CP > 18 Then             ' CP Summe überprüfen
Exit For                ' Wenn Bedingung erfüllt, FOR-Schleife verlassen
End If
Next                            'Nächste Zeile bis Endbedingung
Loop                                ' Schleifendurchlauf bis Bedingung erfüllt
MsgBox "Notensumme:" & note         'Ergebnis ausgeben
End Sub

Die Ausgangswerte stehen dabei in den Spalten A,B und C.(SWS, CP, Note)
Teste das mal durch!
Jan
Anzeige
AW: Summieren solange eine Bedingung erfüllt ist
Elhana
Hi Jan,
danke, werde es gleich mal testen, aber noch ne kleine Frage: wie aktiviere ich den Code denn? Ich möchte keinen Button oder so was benutzen.
AW: Summieren solange eine Bedingung erfüllt ist
Elhana
Hi Jan,
im Grunde ist das ja schon gut, was du da vorgeschlagen hast, aber als ich es ausprobierte, da war hinterher meine Tabelle umgeordnet worden, aber das soll nicht sein. Kann man das nicht irgendwie anders machen, so dass die Tabelle auf dem Arbeitsblatt unverändert bleibt?
Könnte man das nicht eventuell mit hilfe von tabellenfunktionen machen, die man in vba aufruft. Also z.B. Dass man diese Formel:
{=SUmme(KKLEINSTE(WENN(...;Wenn(...;...);...);{1;2;3})}
in Vba übernimmt?
Sorry, dass ich erst so spät antworte...
Anzeige
AW: Summieren solange eine Bedingung erfüllt ist
Jan
Hi Elhana,
Die Anordnung der Tabelle mit den Monatsdaten muß bei meiner Variante immer
ein gleiches Aussehen haben. Ich hoffe, das Du es möglich machen kannst. Wenn nicht
müßte der Code natürlich noch angepaßt werden, damit Deine Daten nicht falsch zugeordnet werden.
Der Einsatz Deiner vorgeschlagenen Formel unter VBA ist nicht erforderlich, wenn
Dein Tabellenaufbau stimmt.
Jan
AW: Summieren solange eine Bedingung erfüllt ist
Elhana
Hat keiner eine Lösung? Es ist leider dringend
AW: Summieren solange eine Bedingung erfüllt ist
Elhana
Hi,
hast du eine Lösung hinbekommen, jan?
Ich habe auch noch mal probiert, aber so ganz das richtige is es noch net...
wird man denn wohl mit vba machen müssen.
Kann mir dahingehend auch einer helfen?
Anzeige

238 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige