Clever-Excel-Forum

Normale Version: Tabellenblattname in Formeln
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Guten Morgen zusammen,

ich bin in den diversen Hilfeportalen nicht fündig geworden und auch hier im Forum hat meine Suche bisher keinen Erfolg gehabt. Ich mache deshalb dieses Thema hier auf und hoffe auf Nachsicht, weil es die Frage bestimmt schon mal gegeben hat und ich mich wahrscheinlich nur falsch ausdrücke.
Jetzt aber ran ans Problem:

Ich habe mal eine extrem vereinfachte Beispieltabelle erstellt, um die Frage zu verdeutlichen, die "echte" Tabelle hält bis zu 300.000 Datensätze je Tabellenblatt, und ca. 15 verschiedene Tabellenblätter. Da ist jede Vereinfachung willkommen.

Ich habe Artikelumsätze nach Jahren auf drei Tabellenblätter verteilt, die Tabellenblätter sind nach Jahreszahl benannt, 2019, 2020, 2021.

[attachment=37764]

Im Auswertungsblatt möchte ich jetzt die Artikelzahlen für jedes Jahr nach Artiíkelnummer summieren, für Artikel Nr. 1000 in B4 mit dieser Formel:
=SUMMEWENN('2021'!$A$2:$A$7;$A4;'2021'!$B$2:$B$7)
[attachment=37765]

Gibt es eine Möglichkeit, in der Formel den Namen des Tabellenblatts (hier:"2021") durch den Verweis auf die Zelle B3 zu ersetzen?
Wenn ich dann z.B. mal das Jahr 2022 auswerten will, müsste ich nicht in jeder Formel den Wert 2021 austauschen, sondern nur einmal in B3 eintragen.

Vielen Dank schon mal! Und einen schönen Tag!
Hola,


Code:
=SUMMEWENN(INDIREKT("'"&B3&"'!$A$2:$A$7");$A4;INDIREKT("'"&B3&"'!$B$2:$B$7"))

Wenn man deinen Betreff bei Google eingibt kommen hunderte Einträge mit Indirekt(). 

Gruß,
steve1da
(18.03.2021, 08:22)Franz27 schrieb: [ -> ]Gibt es eine Möglichkeit, in der Formel den Namen des Tabellenblatts (hier:"2021") durch den Verweis auf die Zelle B3 zu ersetzen?

Moin Franz!
Frei nach Radio Eriwan:
Im Prinzip ja, mittels INDIREKT()

Jedoch dürftest Du dann nicht mehr arbeiten können, denn INDIREKT() ist volatil und wird bei 4.500.000 Datensätzen hoffnungslos in die Knie gehen!

Bei der Datenmenge wäre ohnehin eine echte Datenbanklösung angesagt.

Gruß Ralf
Hej steve1da,

vielen Dank für die rasendschnelle Hilfe.
Die Hinweise auf "INDIREKT" habe ich natürlich auch gesehen und eine ganze Weile herumprobiert. Da war ich aber wohl zu blöd, die Syntax richtig zu verwenden. es hat nur Werte-Fehler gehagelt, so dass ich eher vermutet habe, mich bei der Frage falsch ausgedrückt zu haben.

Danke nochmal!

(18.03.2021, 08:31)RPP63 schrieb: [ -> ]Moin Franz!
Frei nach Radio Eriwan:
Im Prinzip ja, mittels INDIREKT()

Jedoch dürftest Du dann nicht mehr arbeiten können, denn INDIREKT() ist volatil und wird bei 4.500.000 Datensätzen hoffnungslos in die Knie gehen!

Bei der Datenmenge wäre ohnehin eine echte Datenbanklösung angesagt.

Gruß Ralf

Moin Ralf,
ja, ich weiß, dass die Datenmenge mehr als grenzwertig ist und kann auch nach Öffnen der Datei grundsätzlich erst mal einen Kaffee holen gehen bis die geladen ist. Hinter meinen kleinen Auswertungen steckt eine Datenbanklösung aus alter Zeit in *.dbf mit mehreren Tausend einzelnen Datenbanken. Die sind "heilig", ich bekomme aber über Umwege einen geschützten Zugriff per Excel. Für die meisten Auswertungen genügt der Rückblick auf die vergangenen drei bis vier Jahre, dann wird die Verarbeitungszeit erträglich.
Danke für den Tip! Und einen schönen Tag.