Discussion:
Summe aus jeder zweiten zelle?(in VBA)
(zu alt für eine Antwort)
Florian Harmuth
2003-12-08 16:04:49 UTC
Permalink
tacH!
mein problem:
ich habe eine kleine funktion erstellt mit der ich einige
daten unter einander in einer datei zusammefasse (kopiere).
nun habe ich aber das problem das unten das ganze zusammen
gezählt werden soll jedoch immer nur von jeder zweiten
zelle-> etwa so:
zelle 1
zelle 2
zelle 3
zelle 4
zelle 5
zelle 6

summe aus zelle 1,3,5
summe aus zelle 2,4,6

da es zuviele zellen sind kann ich nicht schreiben cells
(15,1) = cells(1,1) + cells(3,1).......

hat jemand von euch eine idee?

mfg und schönen abend noch
Florian
Peter Eichler
2003-12-08 16:27:51 UTC
Permalink
Hi Florian,

geht mit dem berühmten summenprodukt:


Die Formel ist für mich einfacher, wenn du unter Extras/Optionen/allgemein
auf Z1S1-Bezugsart umschaltest. Dann kannst du diese Schreibweise hier
verwenden (und wenn du willst hinterher wieder auf "A1"-schreibweise
umstellen):

=SUMMENPRODUKT((ZEILE(Z1S7:Z20S7)/2=RUNDEN(ZEILE(Z1S7:Z20S7)/2;0))*1;Z1S7:Z2
0S7)

heißt bei mir die formel, die ich verwenden würde, um in der spalte 7 für
die zeilen 1 bis 20 jeweils die geraden zeilen zu summieren. für die
ungeraden wäre es demzufolge:

=SUMMENPRODUKT((ZEILE(Z1S7:Z20S7)/2<>RUNDEN(ZEILE(Z1S7:Z20S7)/2;0))*1;Z1S7:Z
20S7)

gruß
peter


"Florian Harmuth" <***@gmx.de> schrieb im Newsbeitrag news:056301c3bda5$01bc5880$***@phx.gbl...
tacH!
mein problem:
ich habe eine kleine funktion erstellt mit der ich einige
daten unter einander in einer datei zusammefasse (kopiere).
nun habe ich aber das problem das unten das ganze zusammen
gezählt werden soll jedoch immer nur von jeder zweiten
zelle-> etwa so:
zelle 1
zelle 2
zelle 3
zelle 4
zelle 5
zelle 6

summe aus zelle 1,3,5
summe aus zelle 2,4,6

da es zuviele zellen sind kann ich nicht schreiben cells
(15,1) = cells(1,1) + cells(3,1).......

hat jemand von euch eine idee?

mfg und schönen abend noch
Florian
a***@discussions.microsoft.com
2003-12-08 20:15:30 UTC
Permalink
Post by Peter Eichler
Die Formel ist für mich einfacher, wenn du unter
Extras/Optionen/allgemein
Post by Peter Eichler
auf Z1S1-Bezugsart umschaltest. Dann kannst du diese
Schreibweise hier
Post by Peter Eichler
verwenden (und wenn du willst hinterher wieder auf "A1"-
schreibweise
Post by Peter Eichler
=SUMMENPRODUKT((ZEILE(Z1S7:Z20S7)/2=RUNDEN(ZEILE
(Z1S7:Z20S7)/2;0))*1;Z1S7:Z2
Post by Peter Eichler
0S7)
heißt bei mir die formel, die ich verwenden würde, um in
der spalte 7 für
Post by Peter Eichler
die zeilen 1 bis 20 jeweils die geraden zeilen zu
summieren. für die
Post by Peter Eichler
=SUMMENPRODUKT((ZEILE(Z1S7:Z20S7)/2<>RUNDEN(ZEILE
(Z1S7:Z20S7)/2;0))*1;Z1S7:Z
Post by Peter Eichler
20S7)
gruß
peter
Danke für die Antwort.

mfg
Florian
Florian Harmuth@gmx.de
2003-12-08 20:16:09 UTC
Permalink
Post by Peter Eichler
Die Formel ist für mich einfacher, wenn du unter
Extras/Optionen/allgemein
Post by Peter Eichler
auf Z1S1-Bezugsart umschaltest. Dann kannst du diese
Schreibweise hier
Post by Peter Eichler
verwenden (und wenn du willst hinterher wieder auf "A1"-
schreibweise
Post by Peter Eichler
=SUMMENPRODUKT((ZEILE(Z1S7:Z20S7)/2=RUNDEN(ZEILE
(Z1S7:Z20S7)/2;0))*1;Z1S7:Z2
Post by Peter Eichler
0S7)
heißt bei mir die formel, die ich verwenden würde, um in
der spalte 7 für
Post by Peter Eichler
die zeilen 1 bis 20 jeweils die geraden zeilen zu
summieren. für die
Post by Peter Eichler
=SUMMENPRODUKT((ZEILE(Z1S7:Z20S7)/2<>RUNDEN(ZEILE
(Z1S7:Z20S7)/2;0))*1;Z1S7:Z
Post by Peter Eichler
20S7)
gruß
peter
Danke für die Antwort.

mfg
Florian
Peter Eichler
2003-12-09 08:25:51 UTC
Permalink
gerne doch
gruß
peter
Post by Peter Eichler
Die Formel ist für mich einfacher, wenn du unter
Extras/Optionen/allgemein
Post by Peter Eichler
auf Z1S1-Bezugsart umschaltest. Dann kannst du diese
Schreibweise hier
Post by Peter Eichler
verwenden (und wenn du willst hinterher wieder auf "A1"-
schreibweise
Post by Peter Eichler
=SUMMENPRODUKT((ZEILE(Z1S7:Z20S7)/2=RUNDEN(ZEILE
(Z1S7:Z20S7)/2;0))*1;Z1S7:Z2
Post by Peter Eichler
0S7)
heißt bei mir die formel, die ich verwenden würde, um in
der spalte 7 für
Post by Peter Eichler
die zeilen 1 bis 20 jeweils die geraden zeilen zu
summieren. für die
Post by Peter Eichler
=SUMMENPRODUKT((ZEILE(Z1S7:Z20S7)/2<>RUNDEN(ZEILE
(Z1S7:Z20S7)/2;0))*1;Z1S7:Z
Post by Peter Eichler
20S7)
gruß
peter
Danke für die Antwort.

mfg
Florian

Eberhard Funke
2003-12-08 18:45:47 UTC
Permalink
Post by Florian Harmuth
tacH!
ich habe eine kleine funktion erstellt mit der ich einige
daten unter einander in einer datei zusammefasse (kopiere).
nun habe ich aber das problem das unten das ganze zusammen
gezählt werden soll jedoch immer nur von jeder zweiten
zelle 1
zelle 2
zelle 3
zelle 4
zelle 5
zelle 6
summe aus zelle 1,3,5
summe aus zelle 2,4,6
da es zuviele zellen sind kann ich nicht schreiben cells
(15,1) = cells(1,1) + cells(3,1).......
hat jemand von euch eine idee?
mfg und schönen abend noch
Florian
Hallo Florian,

für die geradzahligen Zeilen
{=SUMME((A1:A10)*(REST(ZEILE(A1:A10);2)=0))}
für die ungeradzahligen
{=SUMME((A1:A10)*(REST(ZEILE(A1:A10);2)=1))}

Den Bereich mußt Du noch an Deine Gegebenheiten anpassen.
Die { } nicht mit eintippen, sondern die Formel mit der
Tastenkombination Shift+Strg+Enter abschließen.

BTW: Texte mit üblicher Klein+Großschreibung sind leichter lesbar,
auch für die, von denen Du hier Hilfe erbittest.
--
Es grüsst
Eberhard mit XL 2000
Florian Harmuth
2003-12-08 20:14:04 UTC
Permalink
Post by Eberhard Funke
für die geradzahligen Zeilen
{=SUMME((A1:A10)*(REST(ZEILE(A1:A10);2)=0))}
für die ungeradzahligen
{=SUMME((A1:A10)*(REST(ZEILE(A1:A10);2)=1))}
Den Bereich mußt Du noch an Deine Gegebenheiten anpassen.
Die { } nicht mit eintippen, sondern die Formel mit der
Tastenkombination Shift+Strg+Enter abschließen.
Danke für deine Antwort.
Post by Eberhard Funke
BTW: Texte mit üblicher Klein+Großschreibung sind
leichter lesbar,
Post by Eberhard Funke
auch für die, von denen Du hier Hilfe erbittest.
--
Es grüsst
Eberhard mit XL 2000
.
Werde versuchen mich das Nächste mal dran zu halten.

mfg und danke
Florian
Melanie Breden
2003-12-08 19:36:53 UTC
Permalink
Hallo Florian,
Post by Florian Harmuth
ich habe eine kleine funktion erstellt mit der ich einige
daten unter einander in einer datei zusammefasse (kopiere).
nun habe ich aber das problem das unten das ganze zusammen
gezählt werden soll jedoch immer nur von jeder zweiten
zelle 1
zelle 2
zelle 3
zelle 4
zelle 5
zelle 6
summe aus zelle 1,3,5
summe aus zelle 2,4,6
da es zuviele zellen sind kann ich nicht schreiben cells
(15,1) = cells(1,1) + cells(3,1).......
wenn die Daten in einer Tabelle stehen, kannst du auf den Range zugreifen.
Mit einer For...Next-Anweisung gehst du mit Step 2 jede zweite Zelle durch:

Sub RufeFunktion()
MsgBox SummeUngeradeZellen(Range("A1:A20"))
End Sub

Function SummeUngeradeZellen(ByVal rngArea As Range) As Double
Dim intI As Integer
For intI = 1 To rngArea.Cells.Count Step 2
SummeUngeradeZellen = SummeUngeradeZellen + rngArea.Cells(intI)
Next intI
End Function

Wenn das nicht weiterhilft, poste mal deine Funktion.
--
Mit freundlichen Grüssen

Melanie Breden
- Microsoft MVP für Excel -

#Excel-Auftragsprogrammierung#
E-Mail: ***@mvps.org
Florian Harmuth
2003-12-08 21:20:04 UTC
Permalink
Post by Melanie Breden
wenn die Daten in einer Tabelle stehen, kannst du auf den
Range zugreifen.
Post by Melanie Breden
Mit einer For...Next-Anweisung gehst du mit Step 2 jede
Sub RufeFunktion()
MsgBox SummeUngeradeZellen(Range("A1:A20"))
End Sub
Function SummeUngeradeZellen(ByVal rngArea As Range) As
Double
Post by Melanie Breden
Dim intI As Integer
For intI = 1 To rngArea.Cells.Count Step 2
SummeUngeradeZellen = SummeUngeradeZellen +
rngArea.Cells(intI)
Post by Melanie Breden
Next intI
End Function
Wenn das nicht weiterhilft, poste mal deine Funktion.
--
Mit freundlichen Grüssen
Melanie Breden
- Microsoft MVP für Excel -
#Excel-Auftragsprogrammierung#
Danke, genau das war es!

mfg
Florian
Loading...