Wir wünschen allen Forenteilnehmern ein frohes Fest und einen guten Rutsch ins neue Jahr. x

Nach Kopie Bezüge ändern
#1
Hallo den Helfern und den Lesern,

mein Kassenbuch (fange ich an) ist so aufgebaut, dass für die einzelnen Jahre Tabellen existieren (sollen).
Das ist kein Problem, auch nicht das Erstellen von neuen Jahren (Kopie wird erstellt vor das aktuelle Jahr).
Mein Problem ist in der Zusammenstellung der einzelnen Jahre (zur Gegenüberstellung)
Dort sind in den Spalten die Beträge der einzelnen Kategorien als Bezug zum jeweiligen Jahr hergestellt.
Wenn ich jetzt ein neues Jahr anlege, soll automatisch dann auch in der Zusammenstellung auch der Bezug in der neu erstellten Spalte zu dem neuen Jahr (neuen Tabellenblatt) in den Formeln geändert werden.

Sprich aus:   =WENNFEHLER(SVERWEIS(A20;'2020'!$A$173:$AN$184;40;FALSCH);"") 
soll werden: =WENNFEHLER(SVERWEIS(A20;'2021'!$A$173:$AN$184;40;FALSCH);"")
oder analog bei den anderen Formeln ebenso.

Eine Lösung so konventionell oder per Makro wäre toll. 

Vielleicht hat hier doch jemand einen 'einfachen' Lösungsvorschlag. Danke!

Mfg Rudi

Sorry, finde nicht den Knopf, um eine Datei anzuhängen.
Top
#2
Hi Rudi,


Zitat:Sorry, finde nicht den Knopf, um eine Datei anzuhängen.
lies mal hier: https://www.clever-excel-forum.de/Thread...ng-stellen
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Top
#3
Hallo Rudi!

Ich würde da mit Indirekt arbeiten. Das funktioniert gut, weil die Datei ohnehin offen ist, wenn du daran arbeitest. Definiere zuerst eine Zelle mit dem Namen Jahr und schreibe die aktuelle Jahreszahl rein. Aus =WENNFEHLER(SVERWEIS(A20;'2021'!$A$173:$AN$184;40;FALSCH);"") wird dann =WENNFEHLER(SVERWEIS(A20;Indirekt("'"&Jahr&"'!$A$173:$AN$184");40;FALSCH);"")

Liebe Grüße
Alex
[-] Folgende(r) 1 Nutzer sagt Danke an Oldiefan für diesen Beitrag:
  • Rudi'S
Top
#4
Hallo Alex,
das war die Lösung. Danke!

Es kommt eben auf die richtige Schreibweise an.


Aber trotzdem mal die Ergänzungsfrage: Wie kann ich das über eine Matrix lösen, da ja sowieso das neue Jahr darüber angelegt wird. 
Stelle es mir dann so vor, neues Jahr (neue Tabelle) wird angelegt und dann sofort in dieser Übersicht das neue Jahr dann rechts neben dem alten in der Spalte angelegt (also copy nach rechts - altes Jahr finden und ersetzen). Ansonsten kein Problem, ein bißchen Handarbeit mit der vorgetragenen Formellösung ist auch machbar.

Gibt es keine solche Lösung, dann wäre die Anfrage hiermit erledigt.
Dank nochmal.

Gruß Rudi
Top
#5
Hallo,

Indirekt() ist ein Ressourcen -fresser, dass solltest Du wissen.
Es kommt darauf an wie viel Du einsetzt.

Wenn ich so ein Problem hatte, wie Du, dann habe ich die Excel Funktion suchen ersetzen bemüht.
Einfach den Bereich markieren und die Option Suchen in Formeln genutzt.
Gruß Atilla
Top
#6
Smile 
(07.02.2020, 15:15)Rudi\S schrieb: Aber trotzdem mal die Ergänzungsfrage: Wie kann ich das über eine Matrix lösen, da ja sowieso das neue Jahr darüber angelegt wird. 
Stelle es mir dann so vor, neues Jahr (neue Tabelle) wird angelegt und dann sofort in dieser Übersicht das neue Jahr dann rechts neben dem alten in der Spalte angelegt (also copy nach rechts - altes Jahr finden und ersetzen). Ansonsten kein Problem, ein bißchen Handarbeit mit der vorgetragenen Formellösung ist auch machbar.
Hallo Rudi!

Auch das geht, wenn auch mit kleinen Tricks aus früheren Zeiten. Definiere zuerst einen Namen Jahre mit Bezug auf folgende Formel: =ARBEITSMAPPE.ZUORDNEN(1+0*JETZT()).
Jetzt schreibst du in die erste Zelle deiner Matrix =WENN(ZEILE(A1)>ANZAHL2(Jahre);"";INDEX(Jahre;ZEILE(A1))&"'!A1";TEIL(INDEX(Jahre;ZEILE(A1));FINDEN("]";INDEX(Jahre;ZEILE(A1)))+1;31)) und ziehst diese Formel nach rechts (aber bitte etwas weiter als deine Blattanzahl ist, damit du das nicht jedes Jahr neu machen musst). 
Im nächsten Schritt kannst du meine Formel von oben hernehmen und Jahr durch die erste Matrixzelle ersetzen, rüberziehen und fertig.

Liebe Grüße
Alex
[-] Folgende(r) 1 Nutzer sagt Danke an Oldiefan für diesen Beitrag:
  • Rudi'S
Top
#7
Hallo Rudi,

ich würde es so machen:

1. 
Die Spaltenüberschriften in Zeile 2 für die Ergebnisse der einzelnen Jahre (Zellen E2, D2, usw) genauso benenn wie die entsprechenden Tabellenblätter heissen, also 2020, 2021, usw

2. Formel mit INDIREKT und Bezug auf die Spaltenüberschrift ($-Zeichen beachten)

=WENNFEHLER(SVERWEIS(A19;INDIREKT("'"&D$2&"'!$A$173:$AN$184");40;FALSCH);"")

Diese Formel kannst du dann nach rechts ziehen und mithilfe der INDIREKT-Funktion greift die Formel dann immer auf das richtige Tabellenblatt zu.

Gruss
Fred
[-] Folgende(r) 1 Nutzer sagt Danke an Fred11 für diesen Beitrag:
  • Rudi'S
Top
#8
Moin!
Jahresblätter waren, sind und bleiben kontraproduktiv!
Ein Tabellenblatt hat 2^20 aka 1.048.576 Zeilen.
Dies dürfte für ein paar Jahre reichen, die man dann einfach filtern kann.

Eine Jahres-Auswertung erstellt man dann einfach per Formel (TEILERGEBNIS, SUMMEWENNS, …)
(oder besser per Pivot-Table)

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Top
#9
Dank an Fred und Alex!

Hei, 
hab die kürzere Lösung vorgezogen. 
Mal sehen, was mir die VBA-Lösung bringt (mit Sicherheit weniger Handarbeit).

Ralf: Im Prinzip gebe ich dir Recht, aber in dem besonderen Fall wäre das schlecht durchführbar.

Gruß Rudi
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste