Excel 2010 - Variablen Zellbezug per Formel schreiben

1 Antwort

Es fehlt das Ausrufezeichen nach dem Tabellenblattname.

also Datenquelle!

dafür ist das "=" zuviel und du musst das ganze noch mittels Indirekt auswerten lassen, denn verketten stellt ja für Excel erstmal nur einen Text her.

also müsste es so aussehen:

=indirekt(verketten("Datenquelle!";$A$5;2))

Dann sollte das Funktionieren

Vielen lieben Dank. Meine ursprüngliche Formel war selbstverständlich ohne = und dafür mit!, aber die Lösung des Problems war natürlich der Hinweis auf den Zusatz INDIREKT.

Wie kann ich denn die folgende Zeilenzahl dynamisch erstellen, damit ich die Formel korrekt in die darunter liegenden Zeilen kopieren/ziehen kann? Mit der aktuellen Formel ist die Zahl absolut.

0
@EXWORLD

das kannst du mittels jeder Excelfunktion machen.

Am einfachsten wäre wohl statt absolut "2" den Bezug zu einer anderen Zelle, zB eben $A$6 um dort neben der Spaltenbezeichnung die Zeilennummer auszulesen.

Es wäre aber auch etwas dynamischen mittels "Vergleich" oder so denkbar.

0

Schneller, mehr im Sinne von Excel und "eleganter" wäre es, Zeilen- und Spaltenoffset in zwei Zellen anzugeben und statt mit INDIREKT und VERKETTEN mit BEREICH.VERSCHIEBEN zu arbeiten.

(Aber der Geschwindigkeitsvorteil ist normalerweise nicht zu merken.)

0
@PWolff

Kann man mit bereich verschieben auch das auszulesende Blatt Variabel gestallten? Das ist zwar hier nicht gefordert, aber wäre bei mir der Grund die flexiblere Indirekt variante zu verwenden.

0

Vielleicht hab ich mich ja nicht deutlich genug ausgedrückt. Mit variabel/dynamisch habe ich gemeint, dass in der Formel, wenn ich sie nach unten ausfülle oder nach unten kopiere, die 2 dynamisch zur 3, zur 4 usw. wird.

0
@EXWORLD

häng doch eine variale ran, die sich in jeder zeile erhöht. zB die Funktion "zeile()"

0

=indirekt(verketten("Datenquelle!";$A$5;2)) Ich glaube, ich stehe auf dem Schlauch. Wie würde die o.a. Formel denn dann aussehen?

0
@EXWORLD

in A7 würde die Formel

=INDIREKT(VERKETTEN("Datenquelle!";$A$5;ZEILE()-5))

stehen

Zeile()-5 ergibt dann 2

wenn du das nach unten kopierst ergibt es in A8 daher 3

usw

0
@Jackie251

Das "verketten(...)" ist furchtbar umständlich . schneller zu schreiben gehts als 

=indirekt("Datenquelle!"&$A$5) (sofern in A5 eine Adresse steht.

Ist $A$5 ein Text, dann 

=indirekt("Datenquelle!"&"A5")  (bei Indirekt-Text kann man sich das $ sparen, weil A5 ja ein konstant bleibender Text ist, der sich beim Kopieren nicht ändert.

Du kannst das aber auch so aufbauen:

A1=Blattname (ohne "!"), B1=Spalte, C1=Zeile,

Formel: =indirekt(A1&"!"&B1&C1)

Das kannst Du dann nach unten kopieren und so wechselnde Positionen lt Sp. A, B, C auslesen.

Allerdings muss jede Zeile A:C gefüllt sein, also ggf auch diese Info nach unten kopieren! (und darauf achten, dass die Zeilenzahl sich nicht durchs Kopieren verändert!

1

Was möchtest Du wissen?