Formel für die nächste Zeile

Hallo

Ich möchte gerne aus einer anderen Datei die in einer Spalte stehenden Namen nacheinander auswerfen. Also aus „=datei.xlsx!A1“ möchte ich gerne über Formel ein "=datei.xlsx!A2) machen.Ein einfaches „+1“ funktioniert hierbei nicht.
Kann mir einer helfen.
Vielen Dank vorab

Christian

hallo Christian,
ich denke du suchst die Funktion =indirekt()
„datei.xlsx!A1“ steht in A1 dann

=INDIREKT(A1)

gruß Holger

Ich möchte gerne aus einer anderen Datei die in einer Spalte
stehenden Namen nacheinander auswerfen. Also aus
„=datei.xlsx!A1“ möchte ich gerne über Formel ein
"=datei.xlsx!A2) machen.Ein einfaches „+1“ funktioniert
hierbei nicht.

Hallo Christian,

deine Syntax
=Dateiname!Zelladresse
war mir neu. Nach Kurztest sieht es so aus als ob Excel bei sowas dann
immer das erste Blatt nimmt.
=[Dateiname]Tabelle1!Zelladresse

Jedenfalls ist das Ergebnis gleich ob du jetzt
=INDEX(INDIREKT("[datei.xlsx]Tabelle1!$A:blush:A");ZEILE(A1))
oder
=INDEX(INDIREKT(„datei.xlsx!$A:blush:A“);ZEILE(A1))
benutzt.

Gruß
Reinhard

hallo Holger
Vielen Dank für die rasche antwort, löst aber mein Problem nicht ganz.
Es besteht nicht das problem, die Zelle in einer anderen Datei aufzurufen. Ich möchte in einer Zelle einer bestimmten Wert festsetzen, ab deren Zeilenwert die zelleninhalte abgerufen werden. Als Beispiel denke ich daran, den Startwert auf 100 zu setzen. In meiner zu erstellenden Datei sollen jetzt nacheinander die Werte der externen Datei A101 bis A110 in den Zellen A1 bis A10 erscheinen. Bei wechselndem Startwert 50 werden in der externen Datei die Werte A51 bis A60 abgerufen.
Grüsse
Christian

Ah ok,
du kannst den Dateinahmen [Text] per Formel verketten:
A1= 100
=„datei.xlsx!A“&$A$1+ZEILE(A1)-1
Diese Formel nutzt Zeile() um dem Wert beim runter kopieren um 1 zu erhöhen.
Das Ganze muss später vom Syntax her einen gültigen Bezug ergeben

Dann in Indirekt() verpackt macht da daraus einen Bezug

=INDIREKT(„datei.xlsx!A“&$A$1+ZEILE(A1)-1)

Gruß Holger

Es besteht nicht das problem, die Zelle in einer anderen Datei
aufzurufen. …
Ich möchte …die Werte der externen Datei A101 bis A110

Hallo,
da she ich einen Widerspruch, erst bleibst Du in EINER Datei und dann willst Du aus einer EXTERNEN Datei aufrufen.
Egal wie. in einer Zelle steht drin, woher die Daten dafuer kommen sollen.
In der einen Zelle steht die 10 oder mal die 50.
An anderer Stelle steht die genannte Formel, istgleich wert aus tabelle und darin Zelle, mit Berechnung ueber indirekt. Mir scheint, folgendes hast Du uebersehen. Diese Zelle, in die der erste Wert eingetragen wird, kann natuerlich nicht allein bleiben. Die Formel gehoert in alle Zellen, in welche die weiteren 50 Werte hineinkommen sollen.
Gruss Helmut

Hallo Holger

Du hast mein Problem verstanden, der Lösungsansatz ist auch richtig, nur wirft mir Excel bei gegebener Syntax einen Fehler raus .Ich will hier einen sozusagen einen Serienbrief auf eine Seite bringen. M.E. liegt das Manco noch in der Syntax „A&…“. Er nimmt auch nicht A&1, im Gegensatz zu A1.
Viele Grüsse und Dank
Christian

Hallo Christian

Wie heißt denn der oberste Bezug?
Die Formel die in Indirekt() eingeschlossen ist muss das gleiche Ergebnis liefern!

Das Kaufmännische & verkettet Texte, Funktionen und Bezüge miteinander
Es ist die gleiche Geschichte wie bei =verketten( ; ), hier werden die Textteile durch Semikolon statt durch & getrennt
„Text 1“ & „Text 2“ ergibt „Text 1Text 2“

Wenn du die Formel =„datei.xlsx!A“&$A$1+ZEILE(A1)-1 mal in eine Zelle kopiert wirst du sehr schnell sehen was dort raus kommt.
Beachte das die Zahl [100] in A1 steht.

ES muss einen gültigen Bezug ergeben!
Den solltest du uns ggf. mal kund tun.

Gruß Holger

Ich möchte in einer Zelle einer bestimmten Wert
festsetzen, ab deren Zeilenwert die zelleninhalte abgerufen
werden. Als Beispiel denke ich daran, den Startwert auf 100 zu
setzen. In meiner zu erstellenden Datei sollen jetzt
nacheinander die Werte der externen Datei A101 bis A110 in den
Zellen A1 bis A10 erscheinen. Bei wechselndem Startwert 50
werden in der externen Datei die Werte A51 bis A60 abgerufen.

Hallo Christian,

D1: 50

A1: =INDEX(INDIREKT(„datei.xlsx!$A:blush:A“);ZEILE(A1)+$D$1)
oder
A1: =INDIREKT(„datei.xlsx!A“&ZEILE(A1)+$D$1)
oder
A1: =INDIREKT(„datei.xlsx!A“&ZEILE()+$D$1)
oder
A1: =BEREICH.VERSCHIEBEN([datei.xlsx]Tabelle1!A1;$D$1:wink:
oder
A1: =INDEX([datei.xlsx]Tabelle1!$A:blush:A;ZEILE()+$D$1)

A1 nach unten kopieren.

Gruß
Reinhard

Hallo Holger

Sorry hatte ich einen Denkfehler drin. Deine Formel wirft mir die richtige Zelle aus, wie komme ich aber jetzt an den Wert dieser Zelle?
In diesen Zellen stehen Vornamen, die ich nacheinander alle aufrufen möchte. In meine erstellte Maske passen nur 10 Vornamen. Deshalb will ich bei Vorname 1 anfangen, automatisch die ersten Zehn eintragen, ausdrucken und die nächsten 10 Vornamen in die Maske eintragen und ausdrucken, bis ich alle 300 durch habe. Es sind ja nicht nur die Vornamen, sondern auch Nachnamen Adresse usw. .

Vielen Dank und Gruss
Christian

Sorry hatte ich einen Denkfehler drin. Deine Formel wirft mir die richtige Zelle aus, wie komme ich aber jetzt an den Wert dieser Zelle?

In dem du die komplette Formel [ohne =] in Indirekt() einfügst

In diesen Zellen stehen Vornamen, die ich nacheinander alle aufrufen möchte. In meine erstellte Maske passen nur 10 Vornamen. Deshalb will ich bei Vorname 1 anfangen, automatisch die ersten Zehn eintragen, ausdrucken und die nächsten 10 Vornamen in die Maske eintragen und ausdrucken, bis ich alle 300 durch habe.

Dann mache es anders:
dein Zähler steht in A1 [1 bis 30]
Die oberste linke Zelle heißt zB. datei.xlsx!A10

=BEREICH.VERSCHIEBEN(datei!$A$10;ZEILE(A1)-1+($A$1-1)*10;SPALTE(A1)-1)

kopierst die Formel genau so in die oberste linke Zelle deiner Maske
ggf den Bezug [datei.xlsx!$A$10] anpassen , Absoluten Bezug wählen [$A$10 nicht A10]
Danach kannst du die Formel weit wie notwendig nach links und unten kopieren.

Erhöhst du den Wert in A1 von 1 nach 2 springen alle Bezüge um 10 Zellen nach unten

Gruß Holger

1 Like

Hallo Holger

Vielen Dank für die Anwort, klappt prima, brauche aber noch etwas, um es auch zu verstehen.
Gruss
Christian

hallo
mit F1 kannst du die Excel-Hilfe starten und dir
BEREICH.VERSCHIEBEN-Funktion anschauen.
Sie ist relativ simpel.

Zeile() und Spalte() zeigen die aktuelle Zeile bzw. Spalte an.
beim kopieren erhöht sich der Wert je nach Richtung der Kopie
Es entstehen also aufsteigende ganze Zahlern beim kopieren

Das gleich passiert auch bei Zeile(A1) und Spalte(A1) mit dem Unterschied, das diese Werte mit 1 beginnen, deshalb auch minus 1 um bei Null zu beginnen.

Der Zähler in A1 wird mit 10 multipliziert und in Zeile addiert.

Das ist alles
schön das es funktioniert Holger