Microsoft Excel

Herbers Excel/VBA-Archiv

Formel =Indirekt ()

Betrifft: Formel =Indirekt () von: Leo M
Geschrieben am: 17.08.2014 15:35:51

Hallo,
bei der Erstellung eines Excelbattes komme ich derzeit leider an meine Grenzen:-(
Eigentlich ist es eine recht simple Angelegenheit:
Ich würde gerne in Tabellenblatt 1 einen Wert aus dem Tabellenblatt 2 übernehmen mit Hilfe von =Indirekt().
An sich klappt auch alles indem ich z.B. =Indirekt ("'"&Tabellenblatt 2&"'!A1")eingebe.

Da die Zuweisung auf die Zelle A1 lediglich als Text erfolgt, wird bei einer Zeileneinfügung über A1 nicht mehr der richtige Zellenbezug übernommen, in dem Fall dann A2.

Besteht die Möglich die Indirekt Formel so anzupassen, dass es auf Veränderungen im Tabellenblatt 2 reagieren. Ähnlich als würde ich direkt auf die Zelle im Tabellenblatt verweisen?

Zellennamen und VBA sollen dabei nicht benutzt werden.

Wäre euch für jede gute Hilfe äußerst dankbar:-)

  

Betrifft: AW: Formel =Indirekt () von: Christian
Geschrieben am: 17.08.2014 16:01:16

Hallo Leo,

die Frage ist, was willst Du erreichen?
Deine Formel:=Indirekt ("'"&Tabellenblatt 2&"'!A1") ist definitiv nicht korrekt.
Wenn in Tabellenblatt 2 A1 ein Bezug steht, auf den Du zugreifen willst, dann reicht =INDIREKT('Tabellenblatt 2'!A1), der Bezug passt sich bei manuellen Einfugen von Zeilen an.

Ansonsten beschreibe bitte etwas genauer was Du vorhast und was in Deiner Tabelle steht.

MfG Christian


  

Betrifft: AW: Formel =Indirekt () von: Leo M
Geschrieben am: 17.08.2014 18:13:22

Hallo Christian,
vielen Dank für deine schnelle Antwort.
Ich habe der Einfachheitshalber eine Beispieldatei angefügt.

https://www.herber.de/bbs/user/92162.xlsx

Das Problem:
Wenn ich nun in der Tabelle2 eine neue Zeile einfüge über A2, dann gibt mir die Formel in Tabelle 1 keinen Wert mehr. Logisch da ja der Zellenbezug aus der Formel nur als Text formuliert wird.
Vielleicht gibt´s hier ein Trick o.ä. damit es doch klappt.:-)


  

Betrifft: AW: Formel =Indirekt () von: Christian
Geschrieben am: 17.08.2014 18:33:13

Hallo Leo,

Deine Beispieldatei sagt nichts Neues aus ;-)
Und Deine Beschreibung ist auch nicht so erklärt, das man erkennt, worauf dass hinauslaufen soll...

Nochmal: was hast Du vor?
Wie kommt der Tabellenblatt-Name in die Zelle, per Hand, per Makro oder per Formel?
Warum willst Du in die Tabelle2 Zeilen einfügen, wie werden diese eingefügt, per Makro oder per Hand? Oberhalb eines Datenbestandes ist es ungewöhnlich und nicht sinnvoll, einen Zettel beschreibst Du ja auch von oben nach unten und nicht umgekehrt, oder?

Also mal Butter bei die Fische und mal das Ansinnen Deines Vorhabens genau erläutern, dann gibts auch hilfreiche Lösungsvorschläge! ;-)

MfG Christian


  

Betrifft: AW: Formel =Indirekt () von: Leo M
Geschrieben am: 17.08.2014 18:49:17

Hallo CHristian,
da gibt es an sich nicht viel zu erklären. Aber ich versuchs gerne mal:-)

In Tabelle1 soll es möglich sein durch händische Eingabe eines Tabellennamens einen Wert (z.B. aus Zelle A2)der jeweiligen Tabelle angezeigt zu bekommen.´Es soll möglich sein weitere Tabellen einzufügen, daher sind die keine direkten Bezüge möglich.
Die Tabbele1 bleibt in der Struktur weitgehendst gleich. Die weiteren Tabellenblätter müssen individuell anpassbar sein, d.h. durch Einfügen von Zeilen und Spalten veränderbar.
Das Problem ist nun, dass durch einfügen einer Zeile in Tabelle2, die Indirekt-Formel sich nicht automatisch anpasst und den Wert aus der Zelle A3 ausgibt sondern ja immer noch die Zelle A2 auswertet, welche ja durch die Einfügung nun keinen Wert hat.

Ich hoffe, dass dies ausführlich genug ist:-)


  

Betrifft: AW: Formel =Indirekt () von: Christian
Geschrieben am: 17.08.2014 20:43:25

Hallo Leo,

Du willst (mir) nicht erklären, warum Zeilen in eine (fertige) Tabelle eingefügt werden sollen.
Du erwähnst auch nicht, was nach dem Einfügen dann in der eingefügten Zelle in Spalte A stehen wird.
Dann werde ich Dir auch keine Lösung anbieten.
Nur ein Tip: schau Dir mal die ANZAHL2() Funktion an, die könnte Dir in Verbindung mit Deiner gewollten INDIREKT() Formel helfen.

Der Grund, weshalb ich wegen der Zeilen frage, ist nicht persönliche Neugier, sondern ich will Dich vor Anfängerfehlern im Tabellenaufbau bewahren, die sich dann im Laufe des weiteren Aufbau der Tabelle als äusserst hinderlich erweisen.


Dein Level schätzt Du mit "Excel gut" ein, ich vermute aber, Du beschäfstigts Dich erst seit kurzer Zeit damit.

MfG Christian


  

Betrifft: AW: Formel =Indirekt () von: Leo M
Geschrieben am: 17.08.2014 22:18:29

Hallo Christian,
deine Einschätzung ist so nicht korrekt. Excel gut passt schon sehr gut, da ich seit mehreren Jahren mit Excel arbeite.

Bei diesem Fall versuche ich mich nur auf das wirkliche Problem zu konzentrieren, da der Rest wunderbar klappt.
Aber ich kann es ja mal etwas praktischer darlegen:

Die Tabelle1 stellt ein Übersichtsblatt dar. Die übrigen Tabellen 2 - xyz stellen jeweils einzelne Rechnungen dar. Nun soll bei einem Rechnungseingang händisch jeweils ein neues Tabellenblatt hinzugefügt werden (über Vorlage - vorher festgelegt). Es soll aber die Möglichkeit geben weitere Zeilen und Spalten nach Bedarf einzufügen.
Da von Beginn an nicht bekannt ist wieviele Rechnungstabellenblätter im Laufe der Zeit hinzugefügt werden ist ein direkter Zellenbezug nicht möglich, sodass die Indirektformel das jeweilige Tabellenblatt über den händisch eingegeben Tabellenblattnamen in A1 ansprechen und den Wert in A2 des Übersichtsblattes anzeigen soll.
Das an sich funktioniert prima. Nun ergibt sich das Problem, sobald eine Zeile oder Spalte in das Rechnungsblatt eingefügt wird, liest die Indirektformel noch den alten Bezug aus und somit den falschen Wert.


  

Betrifft: AW: Formel =Indirekt () von: Christian
Geschrieben am: 18.08.2014 00:48:12

Hallo Leon,

letzte Meldung meinerseits..
Du fügts die Tabellenblätter händisch ein, dann kostet es Dich ca. 5 Sekunden, einen Namen zu vergeben.
Auf den kannst Du dann referenzieren, egal ob Du Zeilen einfügst oder nicht!

Deine Arbeitsweise muss ich nicht unbedingt verstehen, zumal wenn Du schon mehrere Jahre mit Excel arbeitest frage ich mich, warum Du Dich gegen das Arbeiten mit Namen verwehrst.

Ich bin dann raus aus dem Thema.. ;-)

MfG Christian


  

Betrifft: AW: Formel =Indirekt () von: Leo M
Geschrieben am: 17.08.2014 22:26:45

zur Ergänzung:
die Felder um die betroffene Zelle können, müssen aber nicht, werte enthalten. Dementsprechend ist das Tabellenblatt flexibel ausgelegt.

Schöne Grüße


  

Betrifft: Na, so schwer ist das doch gar nicht, ... von: Luc:-?
Geschrieben am: 18.08.2014 01:59:27

…Leo;
dann muss sich dieser Teil der Fml eben an Veränderungen anpassen können, bspw so:
=INDIREKT(A2&"!"&WAHL(VERGLEICH(A2;{"Tabelle2"."Tabelle3"};0);ADRESSE(ZEILE(Tabelle2!A2);
SPALTE(Tabelle2!A2));ADRESSE(ZEILE(Tabelle3!A2);SPALTE(Tabelle3!A2))))
Diese Fml ist auf 2 ZielTabellen der indirekten Verknüpfung ausgelegt. Weitere können nach dem gleichen Schema hinzugefügt wdn.
Werden benannte Bereiche benutzt, kann das analog gemacht wdn, nur sind dann INDIREKT u.ADRESSE nicht erforderlich, stattdessen wdn die Namen ab 2.WAHL-Argument eingetragen (→ denke, dass Christian etwas in der Art meinte).
Unterscheiden sich die TabNamen nur durch flfd Nummerierung, wird die Fml etwas kürzer. Wird bei der Variante mit benannten Bereichen immer der gleiche Name blattbezogen benutzt, muss dem Namen das Blatt vorangestellt wdn (blatt!name), sonst nicht (die Namen müssen sich dann aber unterscheiden!).
Morrn, Luc :-?


  

Betrifft: Lies mal deine Post u.beantworte sie auch! :-[ von: Luc:-?
Geschrieben am: 23.08.2014 00:44:28

:-?


 

Beiträge aus den Excel-Beispielen zum Thema "Formel =Indirekt ()"