Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1616to1620
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Indirekte Adressierung und Excel-Formelupdate

Indirekte Adressierung und Excel-Formelupdate
06.04.2018 22:02:00
Jesko
Hallo erstmal,
ich habe ein Problem und muss leider feststellen, dass es schwierig ist, es zu beschreiben:
Ich möchte Tabellenblätter (Projektblätter), deren Namen auf einem Extra-Tabellenblatt namens "Config" gespeichert sind, dynamisch addressieren.
Es sollen z.B. die Werte aus den Zellen A1 und A2 indirekt ausgelesen werden.
Anhand der Projektnummer wird das Tabellenblatt selektiert und dann der Name generiert und dann mit der Indirekt-Funktion jeweils die Zellen A1 und A2 ausgelesen.
Das funktioniert prima.
ABER:
Wenn man nun auf dem Projektblatt manipuliert und z.B. eine Zeile zwischen A1 und A2 einfügt, zerstört man das Gerüst, da Excel nicht "mitbekommt", dass die Zellen indirekt adressiert wurden (die Zellinformation lag ja nur als Textform vor).
Mein erster Versuch ging in die Richtung Zelle("Adresse";...), aber hier muss genauso dynamisch das Tabellenblatt mit Textstring adressiert werden ...
Versteht irgendjemand, was ich meine?
Schöne Grüße
/Jesko

20
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Versteht irgendjemand, was ich meine? Nöö! owT
06.04.2018 22:05:32
Rudi
Langer Rede kurzer Sinn: es scheint auf ...
07.04.2018 01:46:44
Luc:-?
automatisch anpassende Indirekt-Adressierung hinauszulaufen, Jesko,
was du teilweise erfolgreich unter einem Haufen überflüssiger Infos zu verstecken versucht hast… ;-]
ADRESSE war schon der richtige Ansatz, nur musst du zusätzlich zumindest ZEILE, evtl auch noch SPALTE für die entsprechenden Argumente verwenden, dann wird das auch automatisch an die genannten Veränderungen angepasst! Logisch, oder…‽ ;-]
🙈 🙉 🙊 🐵 Gruß, Luc :-?
„Die Intelligenzmenge ist auf diesem Planeten eine Konstante, die Bevölkerung nimmt aber zu!“ Auch deshalb informieren mit …
Anzeige
AW: wenns mit ADRESSE() geht, gehts auch ohne owT
07.04.2018 08:45:07
...
Gruß Werner
.. , - ...
AW: wenns mit ADRESSE() geht, gehts auch ohne owT
07.04.2018 11:35:10
Jesko
Leider funktioniert das nicht (oder ich mache es falsch). Ich habe ja mal das Beispielprojekt hochgeladen ...
Wenn man auf der Config-Seite eine Formel angibt
=ADRESSE(2;1;1;1;"Proj1")
Wird damit die Adresse für Zelle $a$2 in Projektbaltt "Proj1" adressiert. Soweit, so klar. Sobald ich aber auf dem Projektblatt eine Zeile zwischen A1 und A2 einfüge, ist diese Adresse falsch.
Die Formel müsste dann lauten:
=ADRESSE(3;1;1;1;"Proj1")
Excel merkt nicht, dass diese Formel sich auf eine Zelle im veränderten Projektblatt bezieht ...
nimm ZEILE() aus der Bezugstabelle
07.04.2018 14:00:59
WF
Hi,
in C3 der Tabelle Config schreibst Du:
=ADRESSE(ZEILE(Proj1!A1);1)
runterkopieren
WF
Anzeige
AW: nimm ZEILE() aus der Bezugstabelle
07.04.2018 15:56:49
Jesko
Das funktioniert zwar, erfüllt aber nicht die Anforderung nach dynamischem Tabellenblatt. Die Namen der Sheets sind ja nicht festgeschrieben, sondern in dem Config Sheet benannt. D.h. feste Sheetnamen sind nicht erlaubt.
dann eben mit INDIREKT
07.04.2018 16:50:35
WF
in C3 die Arrayformel:
=WENNFEHLER(ADRESSE(KKLEINSTE(WENN(INDIREKT(C$1&"!a1:a99")"";ZEILE(X$1:X$99));ZEILE(X1));1);"")
WF
AW: dafür brauch es aber keiner Matrixformel ...
07.04.2018 18:06:45
...
Hallo WF,
... für die Hilfszelle C3 würde mit ADRESSE() einfach
=WENNFEHLER(ADRESSE(ZEILE(INDIREKT(C$1&"!A"&ZEILE(A1)));1);"") ausreichend sein.
Jesko müsste allerdings dann noch in D3 und E3 ein =WENN(C3="";"";...) voran setzen.
Gruß Werner
.. , - ...
Anzeige
Quatsch
07.04.2018 18:27:27
WF
Da ändert sich ja nichts, wenn in Proj1 Zeilen eingefügt werden.
WF
AW: richtig, deswegen ...
07.04.2018 19:00:39
...
... hatte ich ja in meinem Formelvorschlag ADRESSSE() nicht genutzt. Bei meinem Versuch mit ADRESSE() habe ich dann dummerweise nicht richtig getestet. ADRESSE() halte ich demzufolge wieder für überflüssig.
Gruß Werner
.. , - ...
erst testen, dann absenden - nicht umgekehrt
07.04.2018 19:25:01
WF
.
AW: richtig, gilt aber nicht nur für mich ...
08.04.2018 09:53:30
...
Hallo WF,
... mein Beitrag von 18:06 an Dich dummerweise nicht. Das hatte ich auch bereits in meinem Beitrag von 19:00 zugegeben, denn ich steh zu meinen Fehlern.
Mein Formelvorschlag an den Fragesteller in meinem Beitrag von gestern 15:51 war ausgetestet.
Gruß Werner
.. , - ...
Anzeige
Du hast es nicht kapiert (Xl gut?) - s.WF!
07.04.2018 15:30:47
Luc:-?
Dabei ist die Logik ganz einfach, Jesko,
wenn man weiß dass und wie sich die QuellBlatt-Adressen einer Fml im ZielBlatt an solche Änderungen des QuellBlattes anpassen. So etwas wird schon seit vielen Jahren immer wieder mal nachgefragt und findet man deshalb auch im hiesigen Archiv zuhauf!
Mit dem, was neopa meint, wollte ich dich nicht überfordern, sondern deinen eigenen Ansatz würdigen, weil man mit ZEILE und SPALTE Zahlen erhält, die auch von ADRESSE als Argument verlangt wdn. Aber INDIREKT kann man auch mitteilen (2.Argument), ob eine TextAdresse in A1- (Standard!) oder Z1S1-Form vorliegt. Bei Letzterem könnte dann auch auf ADRESSE verzichtet wdn: Statt …
INDIREKT("qblattTitel!"&ADRESSE(ZEILE(qblattTitel!A1);SPALTE(qblattTitel!A1)))
dann also …
INDIREKT("qblattTitel!Z"&ZEILE(qblattTitel!A1)&"S"&SPALTE(qblattTitel!A1);0)
Luc :-?
Anzeige
AW: Du hast es nicht kapiert (Xl gut?) - s.WF!
07.04.2018 16:13:51
Jesko
INDIREKT("qblattTitel!Z"&ZEILE(qblattTitel!A1)&"S"&SPALTE(qblattTitel!A1);0)
obiges funktioniert nicht dynamisch, da ja wieder der Blattname hier "hardcodiert" eingesetzt wird ...
Dann dieses ala WF aus einer Zelle nehmen!
07.04.2018 18:02:17
Luc:-?
Damit hast du offensichtlich ursprüngl so unglücklich formuliert, Jesko,
dass nicht zu erkennen war, ob es eher um die BlattnamenStandorte oder die Adressen an sich ging. Man kann aber auch das in den Griff bekommen, wobei sich ja NamenstextStandorte regulär an Änderungen anpas­sen sollten. Aber wahr­scheinlich hast du das noch komplizierter aufgebaut, so dass neopas Vorschlag erforderlich wurde… ;-]
Luc :-?
Anzeige
AW: hier ein Vorschlag ohne jegl. Hilfszellen ...
07.04.2018 15:51:23
...
Hallo Jesko,
... und auch ohne ADRESSE(). Benötigt wird lediglich B1 (als Eingabezahl= Proj.-Nr.) und das Auflisten der Projekt(=Tabellenblatt-)bezeichnungen ab A12.
In der ersten Ergebniszelle folgende Formel:
=WENNFEHLER(INDIREKT(INDEX(A$12:A$26;B$1)&"!A"&AGGREGAT(15;6;ZEILE(A$1:A$99)/
(INDEX(INDIREKT(INDEX(A$12:A$26;B$1)&"!A1:A99");)"");ZEILE(A1)));"")

und Formel einfach nach unten kopieren.
Gruß Werner
.. , - ...
AW: hier ein Vorschlag ohne jegl. Hilfszellen ...
07.04.2018 16:17:13
Jesko
Wow: DAS funktioniert. Ich melde mich wieder, wenn ich's verstanden hab' ;-) DANKE!!!!!
Das ist die RICHTIGE Lösung!!!
07.04.2018 21:11:21
Jesko
Also, dass nenne ich mal Spitzenlösung! Ich wusste nicht, wie die Aggregat-Funktion tatsächlich arbeitet. Wieder was gelernt.
Vielen Dank dafür und an alle, die sich auch angestrengt haben!
Schönen Gruß
/Jesko
Anzeige
AW: freut mich, danke owT
08.04.2018 09:54:25
...
Gruß Werner
.. , - ...
AW: Indirekte Adressierung und Excel-Formelupdate
07.04.2018 10:58:51
Jesko
Hier ist mal ein Beispielprojekt
https://www.herber.de/bbs/user/120909.xlsx
Was diesem noch fehlt, ist die "richtige" Addressierung in Zelle Config!$C$3 und Config!$C$4.
Dort müssste dynamisch(!) das richtige Tabellenblatt drin stehen. Und da weiss ich nicht, wie das geht.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige