Zeilen als Konstante Nummern

Das Tabellenkalkulationsprogramm

Moderator: Moderatoren

mb-grille
Beiträge: 4
Registriert: Di, 28.05.2013 12:50

Zeilen als Konstante Nummern

Beitrag von mb-grille »

Hallo,

Ich möchte in meiner Formel eine konstante Zeilen-Nummer haben, die also nicht beeinflusst wird, wenn man mal eine Zeile löscht oder hinzufügt:

$Juni.$C$10:$C$10000; soll also immer so bleiben, auch wenn ich in der Tabelle "Juni" eine Zeile lösche

Ich habe jetzt versucht, Konstanten zu definieren: also ErZei (für erste Zeile) = 10 und LeZei (für letzte Zeile) = 10000
Aber das läßt sich nicht so richtig in einer Formel nutzen.

Trage ich das in ein Feld ein: =ADRESSE(ErZei;3;1;1;"Januar") so wird mir die Schreibweise ausgegeben: Januar.$C$10

Das ist ja schon mal nicht schlecht, aber in der Formel meckert er dann wieder mit Fehlermeldungen rum.

Ein Teil der Formel sieht so aus:

SUMMEWENN(Januar.C$10:C$9998;A7;Januar.E$10:E$9998)+SUMMEWENN(Februar.C$10:C$9998;A7;Februar.E$10:E$9998)+ .....

Formel soll das machen:
suche nach dem in "A4" stehenden Begriff innerhalb von "Januar.$C.10:$C.10000" und bilde die Summe der danebenstehenden Werte innerhalb von "Januar.$E.10:$E.10000"

schön wenn es so wäre:
SUMMEWENN(Januar.C$(ErZei):C$(LeZei);A7;Januar.E$(ErZei):E$(LeZei))+SUMMEWENN(Februar.C$(ErZei):C$(LeZei);A7;Februar.E$(ErZei):E$(LeZei))+ .....
mb-grille
Beiträge: 4
Registriert: Di, 28.05.2013 12:50

Re: Zeilen als Konstante Nummern

Beitrag von mb-grille »

so scheint es zu funktionieren, aber die Formel wird dann zu lang::

=(SUMMEWENN(INDIREKT(ADRESSE(ErZei;3;1;1;"Januar")):INDIREKT(ADRESSE(LeZei;3;1;1;"Januar"));$A4;INDIREKT(ADRESSE(ErZei;5;1;1;"Januar")):INDIREKT(ADRESSE(LeZei;5;1;1;"Januar")))+
SUMMEWENN(INDIREKT(ADRESSE(ErZei;3;1;1;"Februar")):INDIREKT(ADRESSE(LeZei;3;1;1;"Februar"));$A4;INDIREKT(ADRESSE(ErZei;5;1;1;"Februar")):INDIREKT(ADRESSE(LeZei;5;1;1;"Februar")))+
Benutzeravatar
lorbass
********
Beiträge: 4116
Registriert: Mo, 01.05.2006 21:29
Wohnort: Bonn

Re: Zeilen als Konstante Nummern

Beitrag von lorbass »

mb-grille hat geschrieben:so scheint es zu funktionieren, aber die Formel wird dann zu lang
Die Terme

Code: Alles auswählen

INDIREKT(ADRESSE(ErZei;3;1;1;"Januar"))
kannst du leicht verkürzt und – jedenfalls für meinen Geschmack – lesbarer darstellen mit

Code: Alles auswählen

INDIREKT("$Januar.$C$"&EZ)
Damit lässt sich auch sehr übersichtlich die tabellenübergreifende Summe von quasi hintereinander liegenden Bereichen bilden:

Code: Alles auswählen

=SUMME(INDIREKT("$Januar.$C$"&EZ):INDIREKT("$Dezember.$C$"&LZ);A4;INDIREKT("$Januar.$C$"&EZ):INDIREKT("$Dezember.$C$"&LZ))
Dummerweise klappt allerdings das, was mit der SUMME problemlos funktioniert, mit der bedingten Summenbildung mit SUMMEWENN nicht:

Code: Alles auswählen

=SUMMEWENN(INDIREKT("$Januar.$C$"&EZ):INDIREKT("$Dezember.$C$"&LZ);A4;INDIREKT("$Januar.$C$"&EZ):INDIREKT("$Dezember.$C$"&LZ))
Calc meldet hier den Fehler 504, der besagt, dass „[…] z. B. […] ein Domänenbezug anstelle eines Zellbezugs“ gefunden wurde. Es bleibt also wohl – sofern sich niemand mit einer klugen Lösung hierzu findet – nichts anderes übrig, als tatsächlich jedes Tabellenblatt einzeln „abzuklopfen“. Nur würde ich der Übersichtlichkeit und Nachvollziehbarkeit halber dafür 13 Hilfszellen – etwa X2:X14 – spendieren:

Code: Alles auswählen

 B2: =SUMMEWENN(INDIREKT("$Januar.$C$"&EZ):INDIREKT("$Januar.$C$"&LZ);A4)
…
B13: =SUMMEWENN(INDIREKT("$Dezember.$C$"&EZ):INDIREKT("$Dezember.$C$"&LZ);A4)
B14: =SUMME(X2:X13)
Das Weglassen des dritten Parameters der SUMMEWENN-Funktion bewirkt, dass über den in ihrem ersten Parameter angegebenen Bereich summiert wird.

Gruß
lorbass
Antworten