Mit CONCATENATE habe ich eine externe Referenz geschrieben, aber der Wert wird nicht aus der externen Datei ausgewählt, da die Dateien nicht miteinander verknüpft werden. INDIRECT() wurde verwendet, aber die Werte werden nur ausgewählt, wenn die Excel-Datei geöffnet wird. Gibt es eine andere Lösung?
Antwort1
Funktioniert eigentlich INDIRECT()
nicht mit einer geschlossenen Datei.
Die traditionelle Methode, dies zu umgehen, besteht darin, eine „abgelegene“ Stelle in Ihrer Tabelle oder sogar einen benannten Bereich einzurichten, in dem Sie eine vorgefertigte DIREKTE Formel haben, die in die (manchmal geschlossene, manchmal offene) andere Tabelle schaut. Sie verweisen dann auf diese vorgefertigte Formel, um den gewünschten Wert zu erhalten. Wenn Sie eine Referenz erstellen und sie angeben, INDIRECT()
würde sie auf diese DIREKTE Formel in derselben Tabelle verweisen, und die DIREKTE Formel würde in eine geschlossene Tabelle schauen, die dies INDIRECT()
nicht kann.
Wenn Sie mehr als ein paar Möglichkeiten haben, könnte die Einrichtung etwas umständlich sein ... Angenommen, Sie möchten eine bestimmte Zelle in 40 verschiedenen Tabellenblättern betrachten. INDIRECT()
Natürlich schreiben Sie die Formel immer nur in eine davon, aber das könnte eine von 40 sein. Sie müssten die 40 DIREKTEN Formeln schreiben und an der Stelle, an der Sie den Wert benötigen, eine etwas andere Logik, eine IF()
Testformel, verwenden.
Sie können jedoch Standard-String-Formeln verwenden, um diese DIREKTEN Formeln zu schreiben, indem Sie das "=" am Anfang weglassen und ein Zeichen verwenden, das im Rest der Formel nicht verwendet wird. Vielleicht ein "¢"-Zeichen. So erhalten Sie 40 "Formeln", die wie folgt aussehen:
¢A1
Wenn Sie fertig sind, kopieren und fügen Sie die Werte ein. Ersetzen Sie Find and Replace
das ungewöhnliche Zeichen durch „=“, und die Zeichenfolgen werden in Formeln umgewandelt. So … nervig … aber nicht schwer oder sogar wirklich zeitaufwändig.
Wenn Sie auf 40 Arbeitsmappen mit möglicherweise jeweils hundert verschiedenen Zellen zurückgreifen müssen, KÖNNTE das natürlich ziemlich ermüdend werden … Aber zumindest IF()
wären die Tests, um auszuwählen, aus welcher von ihnen der Wert bezogen werden soll, wirklich nicht schwieriger.
Aber bedenken Sie – und das gilt allgemein für die Untersuchung möglicherweise geschlossener Arbeitsmappen – dass Excel im Vergleich zu den üblichen Anforderungen, die Sie an Excel stellen, ziemlich stark belastet wird, wenn es all dies an jeder Stelle ausführen muss. Das Auswerten einer Funktion in einer Formel ist viel einfacher, als zu Windows zu gehen, die Datei im Hintergrund zu öffnen, sie zu laden, den Wert zu finden, Windows dazu zu bringen, sie zu schließen und den Wert in die aktuelle Arbeitsmappe einzufügen. Das ist, als würde man 40 Makros gleichzeitig ausführen, wenn man 40 dieser Referenzen hat.
Es WIRD jedoch passieren, und Sie wissen nie, ob es auffällt, bis Sie es selbst ausprobieren und dann warten, bis Ihre Benutzer es ausprobieren. Scheuen Sie sich also nicht allein aus diesem Grund davor, nicht ohne es vorher auszuprobieren.