Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1040to1044
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
Inhaltsverzeichnis

Summieren von einzelnen Zahlenblöcken

Summieren von einzelnen Zahlenblöcken
26.01.2009 15:57:31
einzelnen
Liebe Excel-Gemeinde!
Folgende Problemstellung habe ich:
Eine Spalte, sagen wir A, mit 30’ – 40'000 Zeilen, enthält Blöcke mit 1 (Einsen), die durch einzelne oder viele leere Zellen unterbrochen werden.
Nun sollte ich in Spalte B bei allen Blöcken der Spalte A, die mehr als 5 Einsen untereinander zeigen, die Summe dieses Blockes neben der ersten oder letzten Zelle des entsprechenden Blockes anzeigen.
Alle meine Versuche versandeten bisher im Misserfolg. Ihr seid meine grosse Hoffnung!
Vielen Dank und herzliche Grüsse
Henry

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Summieren von einzelnen Zahlenblöcken
26.01.2009 16:18:00
einzelnen
Hi Henry,
Zahl 6 = Mehr als 5 Einsen.
Anzeige der Zahl 6 in letzter Zeile des Blocks. Formel in B1 und runterkopieren:

=WENN(REST(ZÄHLENWENN(A$1:A1;1);6)=0;6;"")


Anzeige von FALSCH(=Kein Blockende), WAHR (=Blockende in letzter Zeile). Formel in B1 und runterkopieren:


=REST(ZÄHLENWENN(A$1:A1;1);6)=0*1


Grüsse RS

Kleine Korrektur:
26.01.2009 16:58:00
RS
Hi Henry,

=WENN(REST(ZÄHLENWENN(A$1:A1;1);6)=A1-1;6;"")


und


=UND(REST(ZÄHLENWENN(A$1:A1;1);6)=0;A1=1)


Grüsse RS

Anzeige
AW: Kleine Korrektur:
26.01.2009 17:11:28
Henry
Hallo RS
Auch mit den korrigierten Formeln habe ich die gleichen Phänomene!
Gruss Henry
AW: Summieren von einzelnen Zahlenblöcken
26.01.2009 17:02:16
einzelnen
Vielen Dank RS
Bei beiden Formeln habe ich folgende Phänomene.
a) wenn ich die Formel in B1 kopiere und herunterziehe, zeigt die Spalte B bloss immer die gleiche Formel wie Text an.
b) wenn ich die Formeln manuell eintippe gibt er Fehler und markiert dabei die Bereichsangabe A1.
was mache ich falsch?
Gruss Henry
Standard formatieren
26.01.2009 17:09:00
RS
Hi Henry,
Fehler 1, scheint auf eine Formatierung der Spalte B als Text, statt Standard hinzudeuten.
Fehler 2, scheint auf a) Tippfehler oder b) andere Sprachversion, wie deutsch von EXCEL hinzudeuten.
Beachte meinen Korrekturvorschlag.
Grüsse RS
Anzeige
AW: Standard formatieren
26.01.2009 17:26:00
Henry
Vielen Dank RS
Tippfehler waren es nicht. Aber ich habe von Deutsch Schweiz auf Deutsch Deutschland umgeschaltet und jetzt funktioniert die Formel....aber da besteht noch ein Missverständnis. Die Blöcke können unterschiedlich lang sein (von 1 bis vielleicht 1000). Ich sollte von jedem Block seine effektive Summe haben, vorausgesetzt der Block hat merh als 5 Einsen direkt untereinander - also bis die erst leere Zelle kommt. Auch die Anzahlen Leerzellen zwischen den Blöcken können stark variieren von 1 bis nnnn.
Herzlichen Dank und Gruss
Henry
AW: Standard formatieren
26.01.2009 17:52:00
Henry
Hallo RS
Noch zur Sprachversion. Mir ist nicht klar, was den Unterschied zwischen Schweiz und Deutschland macht bei der Excel-Formel und -Funktionen Syntax. Deinen Formelvorsclag würde mann in der Schweiz genau so schreiben.
Herzliche Grüsse
Henry
Anzeige
AW: Summieren von einzelnen Zahlenblöcken
26.01.2009 16:34:00
einzelnen
Servus Henry,
per Makro so:
Option Explicit

Sub t()
Dim rSuche As Range, rFinde As Range, strErste As String, x As Long, y As Long, i As Long
Dim ZeilenArrayAnfang() As Long, ZeilenArrayEnde() As Long
Dim lngLetzte As Long, suchString As String
lngLetzte = Cells(Rows.Count, 1).End(xlUp).Row
Set rFinde = Range("A2:A" & lngLetzte + 1)
Set rSuche = rFinde.Find(what:=suchString, LookAt:=xlWhole, LookIn:=xlValues)
ReDim Preserve ZeilenArrayAnfang(y)
ZeilenArrayAnfang(y) = 1
y = y + 1
If Not rSuche Is Nothing Then
strErste = rSuche.Address
Do
If rSuche.Offset(-1, 0) = 1 And rSuche.Offset(1, 0) = "" Then
ReDim Preserve ZeilenArrayEnde(x)
ZeilenArrayEnde(x) = rSuche.Offset(-1, 0).Row
x = x + 1
Else
If rSuche.Offset(1, 0) = 1 And rSuche.Offset(-1, 0) = "" Then
ReDim Preserve ZeilenArrayAnfang(y)
ZeilenArrayAnfang(y) = rSuche.Offset(1, 0).Row
y = y + 1
Else
If rSuche.Offset(1, 0) = 1 And rSuche.Offset(-1, 0) = 1 Then
ReDim Preserve ZeilenArrayEnde(x)
ZeilenArrayEnde(x) = rSuche.Offset(-1, 0).Row
x = x + 1
ReDim Preserve ZeilenArrayAnfang(y)
ZeilenArrayAnfang(y) = rSuche.Offset(1, 0).Row
y = y + 1
End If
End If
End If
Set rSuche = rFinde.FindNext(rSuche)
Loop While Not rSuche Is Nothing And rSuche.Address  strErste
Else
Exit Sub
End If
For i = LBound(ZeilenArrayAnfang()) To UBound(ZeilenArrayAnfang())
If ZeilenArrayEnde(i) - ZeilenArrayAnfang(i) + 1 > 5 Then
Range("B" & ZeilenArrayEnde(i)) = WorksheetFunction.Sum(Range("A" & ZeilenArrayAnfang(i) _
& ":A" & ZeilenArrayEnde(i)))
End If
Next i
End Sub


Hier passend zu deinem Beispiel mit Spalte A und Einsen. Ergebnis wird in Spalte B am Ende des Blocks reingeschrieben.
Gruß
Chris

Anzeige
AW: Summieren von einzelnen Zahlenblöcken
26.01.2009 17:31:27
einzelnen
Herzlichen Dank Chris
Ist ja phänomenal, in welch zurzer Zeit Du so ein VBA-Code komponierst - herzliche Gratulation. Den werde ich sicher auch ausprobieren; da ich aber nicht zu stark mit VBA-Wissen belastet bin :-) werde ich dazu eine ruhige Minute abwarten um den Test in aller Ruhe durchzuführen.
Nochmals herzlichen Dank mit Gruss
Henry
AW: Summieren von einzelnen Zahlenblöcken
26.01.2009 18:02:00
einzelnen
Hi Chris
Deinen VBA-Code habe ich inzwischen getestet: SUUUUUUUUUPER! Er macht haargenau was ich mir wünschte.
Nochmals herzlichen Dank und RIESEN Gratualtion.
Herzliche Grüsse
Henry
AW: bitteschön owT
26.01.2009 18:10:14
Chris
.

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige