Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Indirekt / Index lässt sich nicht ziehen
#1
Moin zusammen,

ich habe gerade folgendes Problem, dass ich eine Formel gebaut habe, die sich nicht anpasst, wenn ich sie nach unten und nach rechts ziehen möchte:

Ausgangssituation:
Ich habe 2 Tabellenblätter: "Daten" und "Berechnungen"

"Daten" ist so aufgebaut, dass in jeder Spalte (ab E21) aber nur alle 20 Zeilen Werte enthalten sind.
"Berechnungen" soll nun ab Zelle D6 eine Formel enthalten, die auf E21 von "Daten" zugreift.
In Zelle D7 sollen dann die Werte aus E41 aus dem Blatt "Daten" anfangen usw. also immer +20.
Nach rechts soll dann in E6 in "Berechnungen" F21 von "Daten" abgefragt werden usw.

Meine Formel-Ideen bisher ab Zelle D6 auf "Berechnungen":

  1. =INDIREKT("DATEN!"&"E"&Zeile($D$6)+15+((Zeile()-6)*20))
  2. =INDEX(DATEN!$E$21:$AB$1000;Zeile(D$6)-5;Spalte()-Spalte($C$6))
Wenn ich zumindest. die erste nach unten ziehen geht es. Nach rechts aber nicht, da "E" nicht hochgezählt wird.

Habt ihr eine Idee?

Danke und viele Grüße
xlsxvba
Antworten Top
#2
Hi,

Zitat:Wenn ich zumindest. die erste nach unten ziehen geht es. Nach rechts aber nicht, da "E" nicht hochgezählt wird.

dass es nach unten geht, ist klar? Durch ="E"&ZEILE(D6) zählt XL ab 6 beginnend die Zeilenanzahl um 1 weiter. Du könntest auch (A6) schreiben oder XFD(6) - maßgeblich ist die Ziffer in der Klammer.
Nach rechts kann XL nicht hochzählen, da die Zeile ja nicht verändert wird - hier müsstest du ="E"&SPALTE(D6) schreiben, wobei in diesem Fall die Spaltenbezeichnung (D) maßgeblich ist. Spalte D ist die 4. Spalte. Ergebnis wäre hier E4
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Antworten Top
#3
Danke für deine Antwort aber so ganz ist es mir leider noch nicht klar :(
Könntest du mir die Formel im Ganzen noch einmal demonstrieren bitte?

Wenn ich z.B. statt "E" einfach Spalte() schreibe funktioniert es nicht...
Antworten Top
#4
Vielleicht habe ich das auch zu kompliziert beschrieben. Um es zu vereinfachen:

Auf dem einen Tabellenblatt stehen alle 20 Zeilen Werte in den Spalten,
auf dem anderen sollen alle Zeilen untereinander stehen ...

Hoffe ihr könnt mir dennoch weiter helfen.
Wäre euch sehr dankbar :)
Antworten Top
#5
Hallo

Arbeitsblatt mit dem Namen 'Berechnungen'
 DE
6789THJ
7368RBM
8691WDF

ZelleFormel
D6=INDEX(Daten!E:E;(ZEILE()-5)*20+1)
Diese Tabelle wurde mit Tab2Html (v2.4.1) erstellt. ©Gerd alias Bamberg
Wir sehen uns!
... Detlef

Meine Beiträge können Ironie oder Sarkasmus enthalten.

Antworten Top
#6
Hi,

Zitat:Könntest du mir die Formel im Ganzen noch einmal demonstrieren bitte?

Wenn ich z.B. statt "E" einfach Spalte() schreibe funktioniert es nicht...

="E"&ZEILE(D6) ergibt E6 ===> nach unten gezogen werden die Zeilen um 1 hochgezählt (E7, E8 usw); nach rechts bleibt es bei E6, da nach rechts keine Zeilen gezählt werden.

="E"&SPALTE(D6) ergibt E4 ===> nach rechts gezogen werden Spalten um 1 hochgezählt (E5, E6 usw); das E bleibt und Spalte D=4

Probiere es einfach mal aus und schau dir dazu die OH an.
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Antworten Top
#7
Ok danke dir!
Werde es gleich auch nochmal probieren!

Habe es jetzt folgendermaßen gelöst:

Code:
=INDIREKT("DATEN!"&(WECHSELN(ADRESSE(1;SPALTE()+1;4);1;))&Zeile($D$6)+15+((Zeile()-6)*20))

mit

Code:
(WECHSELN(ADRESSE(1;SPALTE()+1;4);1;))

wird einfach nur der Buchstabe der Spalte ausgegeben - und das habe ich gesucht :)
Antworten Top
#8
Hallo,

wobei INDIREKT die schlechteste aller Möglichkeiten ist, zumal das nur mit geöffneten Dateien geht! ADRESSE ist auch eine Funktion, die eigentlich kaum ein Mensch braucht, zumindest nicht so, wie Du es eingesetzt hast.
Mit der Formel in D6 sollte es genauso funktionieren, wie Du es gerne hättest:


Code:
=INDEX(Daten!$E$21:$XY$5000;(ZEILE(A1)-1)*20+1;SPALTE(A1))
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
[-] Folgende(r) 1 Nutzer sagt Danke an BoskoBiati für diesen Beitrag:
  • xlsxvba
Antworten Top
#9
Wow! Idea
Besten Dank!!
Habe ich aber auch schon gelesen, dass "indirekt" nicht so gut und auch sehr rechenlastig sein soll etc.

VG,
xlsxvba
Antworten Top


Gehe zu:


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