nur jede zweite Zelle addieren

Das Tabellenkalkulationsprogramm

Moderator: Moderatoren

tk-link
Beiträge: 3
Registriert: Mo, 28.04.2008 23:40

nur jede zweite Zelle addieren

Beitrag von tk-link »

Guten Tag.

Wahrscheinlich ist mein Problem nur eine Banalität:
Ich weiß nicht, wie ich vernünftig nur jede zweite Zelle eines Datenblattes addieren kann.

Bedeutet konkret zum Beispiel:
Zelle A1 + Zelle A3 + Zelle A5 + Zelle A7 usw.

Natürlich könnte ich alles per Hand eintippen, aber das wäre mir sehr viel Arbeit.

Wenn jemand von euch eine Lösung weiß verschweigt sie nicht ;) ..
sondern seid euch meines Dankes gewiss.
AhQ
*******
Beiträge: 1096
Registriert: Fr, 15.06.2007 11:03
Wohnort: Regensburg
Kontaktdaten:

Re: nur jede zweite Zelle addieren

Beitrag von AhQ »

Hallo,

angenommen die Werte stehen in A1:A10, dann würde ich mal als Formel nehmen

=SUMME(ISTUNGERADE(A1:A10)*A1:A10)

und das mit Strg+Shift+Enter abschließen.

Viele Grüße
AhQ
AhQ
*******
Beiträge: 1096
Registriert: Fr, 15.06.2007 11:03
Wohnort: Regensburg
Kontaktdaten:

Re: nur jede zweite Zelle addieren

Beitrag von AhQ »

Hallo paljass,

ich habs grad mal ausprobiert, wenn eine Zeile leer ist, dann bekommt man Err 504. das darf dann halt nicht sein... :D
paljass hat geschrieben:Mich stört das "istungerade(a1:a10), das bezieht sich doch, wenn die Eingabe so überhaupt möglich ist, auf die Einträge in den Zellen, die Zeilen kannst du doch damit nicht abgreifen.
Durch die Matrixgeschichte wird der Bereich A1:A10 Zeile für Zeile abgearbeitet, wenn die Abfrage Istungerade(Zeile(A1:A10)) eine ungerade Zahl ergibt, bekomm ich WAHR (also eine 1), wenn da was gerades drin steht bekomm ich FALSCH (also eine 0). Diese Prüfung multipliziert die Matrixformel nun Zeile für Zeile mit dem entsprechenden Wert, alle mit FALSCH werden also mit 0 multipliziert und fliegen aus der Summe raus, das was übrig bleibt, ist die gesuchte Summe aller ungeraden Zeilen. Bei ner leeren Zelle weiß die Matrixformel dann halt nicht, was sie machen soll...

Bei mir in meiner kleinen Testdatei funktioniert es.

Viele Grüße
AhQ
chrk
*******
Beiträge: 1670
Registriert: Sa, 22.09.2007 18:09

Re: nur jede zweite Zelle addieren

Beitrag von chrk »

paljass hat geschrieben: Ich hatte auch schon an diese Funktion in Verbindung mit "Zeile()" gedacht, bin aber mit "Summewenn" oder "Summenprodukt" immer gescheitert, deshalb die beiden Hilfsspalten.
Hat bei mir funktioniert (allerdings auch erst bei Eingabe über den Formelassistenten):

Code: Alles auswählen

=SUMMENPRODUKT(A1:A10;ISTUNGERADE(ZEILE(A1:A10)))
Dagegen bekomme ich bei AhQs Vorschlag ein anderes Ergebnis als wenn ich die ungeraden Zeilen manuell summiere. - Liegt's vielleicht an den Eingangswerten? Ein aussagekräftiger Test wäre, erst alle Zellen mit 1 zu füllen, Gegenprobe mit 2.
AhQ
*******
Beiträge: 1096
Registriert: Fr, 15.06.2007 11:03
Wohnort: Regensburg
Kontaktdaten:

Re: nur jede zweite Zelle addieren

Beitrag von AhQ »

Ooooooohhhhh...

Schande auf mein Haupt.... :(

Ich hab Mist aus meiner Datei rauskopiert...

es muß natürlich heißen:

=SUMME(ISTUNGERADE(ZEILE(A1:A10))*A1:A10) und dann das als Matrix

Die Zeilenabfrage gehört da noch mit rein, sonst ergibt das natürlich überhaupt keinen Sinn, was ich geschrieben hab...

Oh je, ich werd alt...

Viele Grüße
AhQ
chrk
*******
Beiträge: 1670
Registriert: Sa, 22.09.2007 18:09

Re: nur jede zweite Zelle addieren

Beitrag von chrk »

AhQ hat geschrieben:Schande auf mein Haupt.... :(
Ach, Asche reicht eigentlich :lol:
=SUMME(ISTUNGERADE(ZEILE(A1:A10))*A1:A10) und dann das als Matrix
Das entspricht dann doch eigentlich dem Mechanismus des SUMMENPRODUKTs, und das hat die Matrixfunktion schon eingebaut. Beide multiplizieren die Wahrheitswerte der ersten Matrix mit den Zellwerten der zweiten Matrix.

Das Summenprodukt hat den Vorteil, dass es unempfindlich gegen leere Zellen ist (getestet).
Benutzeravatar
balu
********
Beiträge: 3812
Registriert: Fr, 24.08.2007 00:28
Wohnort: Warstein

Re: nur jede zweite Zelle addieren

Beitrag von balu »

Hallo Leute,

ihr habt's gut!
Ihr könnt wenigstens sagen, das eure Formeln auf euren eigenen Mist gewachsen ist. :D

Ich jedoch gestehe, das ich stebibst (geklaut) habe :oops: . Aber dafür kann ich eine alternative nennen. Die da lautet:

Code: Alles auswählen

=INDEX($A$1:$A$12;ZEILE()*2)
 
Allerdings mit dem Nachteil, das leere Zellen auch mit ausgegeben werden.
Dafür aber wiederum mit einem Vorteil. Mann kann ruck-zuck die Formel auf jede 3., 5., oder 9. Zeile, usw. umstellen. Einfach hinter ZEILE()* eine andere Zahl eingeben.

Hoffe, dass tk-link damit was anfangen kann. :roll:

[OT-HUMOR]
@Christian
Ich habe diese Woche schon zweimal mit Asche GEDUSCHT :mrgreen: . Und wie sieht das bei dir aus :wink: ?
[/OT-HUMOR]




Gruß
balu
Sei öfter mal ein Faultier, sag öfter mal "Ach was!" Dann kriegst du keinen Herzinfarkt, und hast ne menge Spass.

wehr rächtschraipfähler findet khan si behalden :D
AhQ
*******
Beiträge: 1096
Registriert: Fr, 15.06.2007 11:03
Wohnort: Regensburg
Kontaktdaten:

Re: nur jede zweite Zelle addieren

Beitrag von AhQ »

@ balu

die Asche ist erst einmal die Woche auf mein Haupt gerieselt, wenn ich mich Recht erinner, Christian hat mich da nur auf meinen Fehler aufmerksam gemacht... :(

@ christian

hm... stimmt... aber mir gefällt meine Lösung trotzdem

Viele Grüße
AhQ
Benutzeravatar
balu
********
Beiträge: 3812
Registriert: Fr, 24.08.2007 00:28
Wohnort: Warstein

Re: nur jede zweite Zelle addieren

Beitrag von balu »

Hallo paljass,

sorry, fehler meinerseits das ich das gestern nicht erklärt habe. :oops:

Also der Fehler kommt daher, das aber einer bestimmten Zeile der Matrixbereich $A$1:$A$12 NICHT mehr identisch mit den Zeilenmultiplikator ZEILE()*2 übereinstimmt.
Mit anderen Worten, wenn die Formel in B6 noch einen Wert ausgegeben hat, dann passt ja der Matrixbereich ja noch. Da ja 6 x 2 = 12 ist. Aber ab der Zeile 7 ist da keine Übereinstimmung mehr, da ja 7 x 2 = 14 ist. Und abhilfe kann man jetzt auf zwei Arten schaffen.
1.) Den Matrixbereich von $A$1:$A$12 auf z.B. $A$1:$A$50 ändern.
oder
2.) Das ganze in eine WENN-Formel mit einer Fehlerüberprüfung packen.

Code: Alles auswählen

=WENN(ISTFEHLER(INDEX($A$1:$A$12;ZEILE()*2));"";INDEX($A$1:$A$12;ZEILE()*2))
Ich weiss, ist nicht schön und elegant, aber sie Funktioniert. Und außerdem würde ich Variante 1 empfehlen :D , sofern kein Konflikte mit anderen Zeilen auftreten die nicht zur eigentlichen Matrix gehören.

Ich hoffe, dass ich das jetzt verständlich erklärt habe. :roll:

Habe ich leider vergessen.
Mit dieser Formel werden leider nur in einer seperaten Spalte die gefundenen Zahlen ausgegeben, und nicht addiert. Also passt ja mein Vorschlag nicht hier rein. Und was sagt uns das!??

balu geht mal wieder Asche-Duschen :?




Gruß
balu
Sei öfter mal ein Faultier, sag öfter mal "Ach was!" Dann kriegst du keinen Herzinfarkt, und hast ne menge Spass.

wehr rächtschraipfähler findet khan si behalden :D
Antworten