Hallo Moppel,
mein Beitrag war kein Hinweis an Dich sondern an die Antworter. Für Dich könntest Du jedoch daraus entnehmen, wie man den Rechenweg bei der Fragestellung hätte beschreiben können, damit man es gleich versteht. Ich habe auch erst die Tore der letzten 3 Heimspiele zusammengezählt und als das nicht stimmte, die Tore der jeweiligen Mannschaft bei den letzten 3 Heim- und Gastspielen ...
Per VBA könnte man das so lösen. Kannst Du mit Makros umgehen, ist VBA erlaubt?
mein Beitrag war kein Hinweis an Dich sondern an die Antworter. Für Dich könntest Du jedoch daraus entnehmen, wie man den Rechenweg bei der Fragestellung hätte beschreiben können, damit man es gleich versteht. Ich habe auch erst die Tore der letzten 3 Heimspiele zusammengezählt und als das nicht stimmte, die Tore der jeweiligen Mannschaft bei den letzten 3 Heim- und Gastspielen ...
Per VBA könnte man das so lösen. Kannst Du mit Makros umgehen, ist VBA erlaubt?
Code:
Public Function Letzte3(rngZelle As Range) As Integer
'als rngzelle in der Formelzeile die Zelle in Spalte B waehlen
'Berechnung bei jeder Aenderung im Blatt
Application.Volatile
'Gehe bei Fehler zu Ende
On Error GoTo ende
'Variablendeklarationen
'Integer -> Bei mehr als 35768 Spiel-Zeilen Long nehmen!
Dim iRow As Integer, iPlay As Integer, iTor As Integer
'String
Dim strTeam As String
'Vorletzte Zeile ermitteln
iRow = rngZelle.Row - 1
'Teameintrag Heimmannschaft in Spalte B ermitteln
strTeam = Cells(rngZelle.Row, 2).Value
'Schleife solange nicht erstes Spiel und 3 Spiele erreicht sind
'(iplay beginnt ebi 0 - erstes Spiel)
Do While iRow > 1 And iPlay <= 2
'Wenn der Eintrag in Spalte B das Heimteam ist, dann
If Cells(iRow, 2) = strTeam Then
'Spielanzahl hochsetzen
iPlay = iPlay + 1
'Toranzahl aus Spalte B uebernehmen
iTor = iTor + Cells(iRow, 4)
'Oder Wenn der Eintrag in Spalte C das Heimteam ist, dann
ElseIf Cells(iRow, 3) = strTeam Then
'Spielanzahl hochsetzen
iPlay = iPlay + 1
'Toranzahl aus Spalte C uebernehmen
iTor = iTor + Cells(iRow, 5)
'Ende Wenn der Eintrag in Spalte B das Heimteam ist, dann
End If
'Zaeilenzaehler Countdown
iRow = iRow - 1
Loop
'Ergebnis bilden, Anzahl Tore oder bei weniger als 3 Spielen 88
If iPlay < 3 Then Letzte3 = 88 Else Letzte3 = iTor
'Sprungmarke "ende"
ende:
End Function
. \\\|/// Hoffe, geholfen zu haben.
( ô ô ) Grüße, André aus G in T
ooO-(_)-Ooo (Excel 97-2019+365)
( ô ô ) Grüße, André aus G in T
ooO-(_)-Ooo (Excel 97-2019+365)