ich hab folgendes schwerwiegendes problem mit der funktion Anzahl...gleich mal vorneweg: ich bin ein excel-neuling...
also: ich habe zwei spalten in welchen untereinander immer wieder neue werte geschrieben werden. mal in der einen spalte, mal in der anderen. einige zeilen bleiben manchmal allerdings auch leer. wenn die anzahl der werte in beiden spalten nun 24 beträgt, und ein weiterer Wert in einer der beiden spalten hinzukommt (die anzahl der werte jetzt also 25 beträgt), soll der oberste wert in einer der beiden Spalten nicht mehr berücksichtigt werden, damit insgesamt in beiden Spalten die Anzahl der Werte wieder 24 beträgt.
kurz gesagt: es sollen immer nur die letzten 24 werte in beiden spalten berücksichtigt und gezählt werden, egal ob die werte in spalte 1 oder in spalte 2 auftauchen.
bis jetzt habe ich immer das problem, daß excel alle spalten zählt. wie kann ich
excel dazu bringen nur die letzten 24 werte in beiden spalten auszuzählen?
zur erklärung: letztendlich müssten also in den beiden summenfeldern immer Werte auftauchen wie etwa 9/15 - 10/14 - 9/15 - 10/14 - 11/13 - 12/12.
ich hoffe, ich habe mich einigermaßen verständlich ausgedrückt für einen nicht-exceler.
für eine hilfe wäre ich sehr dankbar, da das ganze ein sehr dringliches problem für mich darstellt.
vielleicht kennt sich jemand auch mit vba aus und kann mir sagen, wie man untenstehenden code ändert, damit excel lediglich die werte auszählt und in der jeweiligen spalte oben einträgt, anstatt die zahlen zu summieren...
...vielleicht ja du, rainer, falls du dieses posting lesen solltest...?!?
Function Special_Count_Sum()
Dim lRow1 As Integer, lRow2 As Integer
Dim i As Integer, cellCounter As Byte
Dim tmpSum As Double
lRow1 = Cells(65536, 1).End(xlUp).Row
lRow2 = Cells(65536, 2).End(xlUp).Row
cellCounter = 1
tmpSum = 0
If lRow1 > lRow2 Then
For i = lRow1 To 1 Step -1
If Not IsEmpty(Cells(i, 1)) Then
cellCounter = cellCounter + 1
If cellCounter = 25 Then Exit For
tmpSum = tmpSum + Cells(i, 1)
End If
If Not IsEmpty(Cells(i, 2)) Then
cellCounter = cellCounter + 1
If cellCounter = 25 Then Exit For
tmpSum = tmpSum + Cells(i, 2)
End If
Next i
Else
For i = lRow2 To 1 Step -1
If Not IsEmpty(Cells(i, 1)) Then
cellCounter = cellCounter + 1
If cellCounter = 25 Then Exit For
tmpSum = tmpSum + Cells(i, 1)
End If
If Not IsEmpty(Cells(i, 2)) Then
cellCounter = cellCounter + 1
If cellCounter = 25 Then Exit For
tmpSum = tmpSum + Cells(i, 2)
End If
Next i
End If
Special_Count_Sum = tmpSum
End Function
https://www.herber.de/bbs/user/5272.xls