Clever-Excel-Forum

Normale Version: Tabellenname Variabel - Kombinieren
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen,

Folgendes.
Ich habe eine Tabelle mit über 600 Daten wo ich Daten aus einer anderen Tabelle (Summe der gleichen Spalte) eintragen muss. 600x einzelne Tabellen zu öffnen um die Daten in die Übersichtstabelle zu kopieren ist zu bäh :D.

Bis jetzt löse ich es so das ich die Formel "=SUMME('[.xlsx]Super_Prov'!$P$1:$P$999)/2" in die Übersicht reinkopiere dann in eine andere Zelle klicke und es öffnet sich das Fenster wo ich die richtige Tabelle auswählen kann. Das klappt alles aber ich würde es gerne automatisieren.

Die einzelnen Exceldateien wo er die Daten rauszieht sind wie folgt aufgebaut vom Dateinamen:

- 2018 09 01 GP_Mustermann, Max.xlsx
- 2018 09 01 GP_Testus, Test.xlsx

Also "2018 09 01 GP_" ist immer gleich und der Name steht auch genau so in der Übersichtstabelle drin wo ich die Daten einpflegen muss.

Jetzt habe ich mir eine Formel so vorgestellt das ich den Anfang vom Dateinamen vorgebe "2018 09 01 GP_" und er dann aus der anderen Zelle den Namen ziehen soll und sich somit der Dateinamen für die Quelle automatisch zusammensetzt. Klappt aber nicht so, kriege immer Bezug Fehler, irgendwie sowas wie

"=SUMME('["2018 09 01 GP_"&E3.xlsx]Super_Prov'!$P$1:$P$999)/2"

Ich hoffe ihr wisst was ich meine, in E3 z.B. steht jetzt der Name und daraus soll der den Dateinamen zusammensetzen für die Quelle der Daten.

Danke euch schonmal
Das geht nur via VBA! Dazu ist aber eine Beispieldatei die dem Aufbau deiner Tabelle gleich ist notwendig...
Hallo,

also, wenn da was zusammengesetzt werden soll, dann muss das mindestens so aussehen:

"=SUMME('["2018 09 01 GP_"&E3&".xlsx]Super_Prov'!$P$1:$P$999)/2"

Ob das dann funktioniert, weiß ich nicht, denn ich plädiere ebenfalls für VBA und würde es auch damit machen!
Hallo,

erst mal was zu den Bezeichnungen.

Das hier:
- 2018 09 01 GP_Mustermann, Max.xlsx
- 2018 09 01 GP_Testus, Test.xlsx
sind Dateien, die enthalten Tabellen.

Wenn Du variabel auf verschiedene Dateien zugreifen willst, dann kannst Du das bedingt mit INDIREKT. Du musst diesen Teil der Formel
'[.xlsx]Super_Prov'!$P$1:$P$999
in etwa so gestalten:
INDIREKT("'[" & A1 & ".xlsx]Super_Prov'!$P$1:$P$999")
wenn der zugehörige Dateiname z.B. in A1 steht. Diese Variante hat allerdings den Nachteil, dass die Datei offen sein muss bzw. Du müsstest sie öffnen.

*************
Andere Variante:

Wenn Du in Deiner Zusammenfassung die 600 verschiedenen Formeln drin hast, brauchst Du doch keine Änderung mehr? Für eine einmalige Aktion kann man auch mit Formeln und ein paar Handgriffen das Ziel erreichen.

Zuerst erzeugst Du eine Formel per Formel. Das wäre jetzt für E3, die kannst Du dann für die 600 Dateien nach unten ziehen.

Arbeitsblatt mit dem Namen 'Tabelle1'
CDE
3#SUMME('[2018 09 01 GP_Willi.xlsx]Super_Prov'!$P$1:$P$999)/2Willi

ZelleFormel
C3="#SUMME('[2018 09 01 GP_"&E3&".xlsx]Super_Prov'!$P$1:$P$999)/2"
Verwendete Systemkomponenten: [Windows (32-bit) NT 10.00] MS Excel 2016
Diese Tabelle wurde mit Tab2Html (v2.6.0) erstellt. ©Gerd alias Bamberg

Anschließend markierst Du die erzeugten Formeln in Spalte C, fügst sie per Inhalte Einfügen | Werte wieder ein.
Als letzten Schritt ersetzt Du die # durch =

************
Na ja, und wie die anderen schon schrieben wäre eine weitere Variante ein Makro.