Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
412to416
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
412to416
412to416
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Problem mit der Funktion Anzahl

Problem mit der Funktion Anzahl
Jake
hallo an alle,
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

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Problem mit der Funktion Anzahl
Ramses
Hallo
gestern hat's doch noch gepasst,... oder ?
Option Explicit

Function Special_Count_Sum()
Dim lRow1 As Integer, lRow2 As Integer
Dim i As Integer, cellCounter As Byte
Dim tmpSum1 As Double, tmpSum2 As Double
lRow1 = Cells(65536, 1).End(xlUp).Row
lRow2 = Cells(65536, 2).End(xlUp).Row
cellCounter = 1
tmpSum1 = 0
tmpSum2 = 0
For i = lRow1 To 1 Step -1
If Not IsEmpty(Cells(i, 1)) Then
cellCounter = cellCounter + 1
If cellCounter = 25 Then Exit For
tmpSum1 = tmpSum1 + Cells(i, 1)
End If
Next i
cellCounter = 0
For i = lRow2 To 1 Step -1
If Not IsEmpty(Cells(i, 2)) Then
cellCounter = cellCounter + 1
If cellCounter = 25 Then Exit For
tmpSum2 = tmpSum2 + Cells(i, 2)
End If
Next i
Special_Count_Sum = tmpSum1 & "/" & tmpSum2
End Function

Gruss Rainer
Anzeige
AW: Problem mit der Funktion Anzahl
Jake
hallo rainer,
vielen dank zunächst einmal für deine mühen.
jetzt allerdings werden nicht nur die letzten 24 werte in den beiden spalten berücksichtigt, sondern alle werte.
zweites problem: es ist immer noch so, daß oben eine summe ausgegeben wird...ich wollte oben aber lediglich ausgegeben bekommen, wieviele zellen werte enthalten in der linken spalte und wieviele zellen werte enthalten in der rechten spalte.
ein ergebnis, daß oben ausgegeben wird, müßte also immer folgendermaßen aussehen:
9/15 - 8/16 - 10/14 - 13/11 - 5/19 .....ergibt immer 24 und soll mir lediglich anzeigen, wieviele der letzten 24 gefüllten zeilen sich in der linken und wieviel der gefüllten zeilen sich in der rechten spalte gefunden haben.
für dich wahrscheinlich ein kinderspiel, für mich nicht zu lösen, da vba unkundig.
es ist ja schon allein ein problem für mich das excel-problem hinreichend zu beschreiben.
viele grüße,
jake.
Anzeige
AW: Problem mit der Funktion Anzahl
Ramses
Hallo
so dringend scheint dein problem ja wohl doch nicht zu sein, wie im EXCEL-Center Forum beschrieben,.... oder warum dauert es 2.5 Stunden bis zu einer Antwort :-(
Anyway,
Das sollte es sein:
Option Explicit

Function Special_CountIf() As String
Dim lRow1 As Integer, lRow2 As Integer
Dim i As Integer, cellCounter As Byte
Dim tmpSum1 As Double, tmpSum2 As Double
lRow1 = Cells(65536, 1).End(xlUp).Row
lRow2 = Cells(65536, 2).End(xlUp).Row
cellCounter = 0
tmpSum1 = 0
tmpSum2 = 0
If lRow1 > lRow2 Then
For i = lRow1 To 1 Step -1
If Not IsEmpty(Cells(i, 1)) Then
If cellCounter = 25 Then Exit For
tmpSum1 = tmpSum1 + 1
cellCounter = cellCounter + 1
End If
If Not IsEmpty(Cells(i, 2)) Then
If cellCounter = 25 Then Exit For
tmpSum2 = tmpSum2 + 1
cellCounter = cellCounter + 1
End If
Next i
Else
cellCounter = 0
For i = lRow2 To 1 Step -1
If Not IsEmpty(Cells(i, 1)) Then
If cellCounter = 25 Then Exit For
tmpSum1 = tmpSum1 + 1
cellCounter = cellCounter + 1
End If
If Not IsEmpty(Cells(i, 2)) Then
If cellCounter = 25 Then Exit For
tmpSum2 = tmpSum2 + 1
cellCounter = cellCounter + 1
End If
Next i
End If
Special_CountIf = tmpSum1 & "/" & tmpSum2
End Function

Gruss Rainer
Anzeige
AW: Problem mit der Funktion Anzahl
Ramses
Hallo
nimm diesen Code, der wird korrekt neu berechnet wenn sich in der Tabelle was ändert

Function Special_CountIf() As String
Application.Volatile
Dim lRow1 As Integer, lRow2 As Integer
Dim i As Integer, cellCounter As Byte
Dim tmpSum1 As Double, tmpSum2 As Double
lRow1 = Cells(65536, 1).End(xlUp).Row
lRow2 = Cells(65536, 2).End(xlUp).Row
cellCounter = 0
tmpSum1 = 0
tmpSum2 = 0
If lRow1 > lRow2 Then
For i = lRow1 To 1 Step -1
If Not IsEmpty(Cells(i, 1)) Then
If cellCounter = 25 Then Exit For
tmpSum1 = tmpSum1 + 1
cellCounter = cellCounter + 1
End If
If Not IsEmpty(Cells(i, 2)) Then
If cellCounter = 25 Then Exit For
tmpSum2 = tmpSum2 + 1
cellCounter = cellCounter + 1
End If
Next i
Else
cellCounter = 0
For i = lRow2 To 1 Step -1
If Not IsEmpty(Cells(i, 1)) Then
If cellCounter = 25 Then Exit For
tmpSum1 = tmpSum1 + 1
cellCounter = cellCounter + 1
End If
If Not IsEmpty(Cells(i, 2)) Then
If cellCounter = 25 Then Exit For
tmpSum2 = tmpSum2 + 1
cellCounter = cellCounter + 1
End If
Next i
End If
Special_CountIf = tmpSum1 & "/" & tmpSum2
End Function

Gruss Rainer
Anzeige
AW: Problem mit der Funktion Anzahl
Jake
hi rainer,
tja, das ist ja grad mein problem...ich hab momentan ne menge nebenbei zu tun und kann leider nicht, wie ich's gern täte, den ganzen tag am rechner sitzen und dieses excel-problem hier endlich in den griff bekommen.
vielen vielen dank für deine mühe...great!!!! funktioniert einwandfrei!
also: wenn du mir jetzt noch ein bild von deinen füssen zusendest, dann werde ich sie wie versprochen noch etwas liebkosen...
Merci :-) Geschlossen o.T.
Ramses
...

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige