Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1436to1440
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

MTRANS oder INDIREKT

MTRANS oder INDIREKT
16.07.2015 09:50:03
Nik
Hallo zusammen,
ich habe eine große Tabelle mit ziemlich vielen Zellbezügen über mehrere Arbeitsblätter verteilt.
Habe bei einigen die INDIREKT Formel benutzt, da ich in dem einen Arbeitsblatt die Formel nach Rechts ziehen wollte, aber der Zellbezug sich vertikal auf ein anderes Arbeitsblatt bezog und sich ie Zeilenzahl enstprechend erhöhen sollte.
=INDIREKT("transit!H"&SPALTE(Transit!AS$7))
Ich habe jetzt gelesen, dass INDIREKT ziemlich viel Rechenpower frisst und wenn ich noch ein Excel File mit denselben Formeln aufmache, dann kann es sein, dass Excel abstürzt.
Ich habe nun erfahren, dass ich auch mit der Array Formel MTRANS arbeiten kann. Dazu müsste ich mir aber die Mühe machen alles manuell einzutragen. Und das sind ca. 800 - 1200 Zeilen (!).
Frage:
1. Welches ist die bessere Formel, welche weniger Rechenpower frisst?
2. Liegt es überhaupt an der INDIREKT Formel, dass Excel beim kopieren und diversen Eingaben in die Knie geht? Da ich auch wirklich viele driekte Zellbezüge im File habe.
Für eure Tipps und Infos schon mal vorab Vielen Dank!
Gruß
Nik

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
weder noch, nutze INDEX() ...
16.07.2015 09:59:16
der
Hallo Nik,
... einfach so: =INDEX(transit!$H:$H;SPALTE(E1)) wenn Du die Daten beginnend z.B. ab Zeile5 aus transit!$H:$H übernehmen willst und ziehe die Formel kopierend nach rechts.
Gruß Werner
.. , - ...

AW: MTRANS oder INDIREKT
16.07.2015 10:08:18
Daniel
Hi
das Problem bei Indirekt ist, dass alle Formeln, die ein Indirekt beinhalten, bei jeder Zellwertänderung neu berechnet werden.
normalerweise prüft Excel bei einer Zellwertänderung, ob eine Formel von dieser Änderung betroffen ist und berechnet die Formel nur dann neu, wenn dies der Fall ist.
Enthält die Formel jedoch Indirekt, dann kann Excel nicht direkt erkennen, welche Zellen für diese Formel relevant sind, daher werden Formeln mit Indirekt immer neu berechnet.
ob das jetzt ein Performance-Problem darstellt oder nicht, hängt davon ab, wieviele Formeln du davon hast und ob du sie mit anderen rechenzeitintensiven Formeln kombiniert hast (z.B. ZählenWenn, SVerweis mit 4.Parameter = 0)
in den meisten Fällen kann Indirekt aber durch INDEX ersetzt werden.
Indirekt ist nur dann zwingend erforderlich, wenn der Tabellenblattname variabel ist und berechnet wird.
Ist das Tabellenblatt jedoch fix, ist INDEX die bessere Variante.
für dein Beispiel:
=Index(transit!$H:$H;SPALTE(Transit!AS$7);1)
Gruß Daniel

Anzeige
AW: MTRANS oder INDIREKT
17.07.2015 12:01:51
Nik
Erstmal einen Dank an euch beide. Mit dem INDEX funktioniert es einwandfrei.
Weitere Formeln die ich im File nutze sind:
SUMME, SUMMEWENN, WENN in Kombination mit ODER, WENN in Kombination mit INDEX, eine Menge direkte Zellbezüge in mind. 6 verschiedenen Reitern und bestimmt 8 verschiedene VBA Macros.
Ich denke ich werde es testen müssen, um sagen zu können, ob mein Geschwindigkeitsproblem sich im Nachhinein auflöst.
Ich werde definitiv berichten.
Gruß
Nik

AW: MTRANS oder INDIREKT
21.07.2015 11:06:03
Nik
Hallo nochmal,
wie versprochen die Rückmeldung.
Die Geschwindigkeit hat sich seit Nutzung der Formel INDEX anstatt INDIREKT mehr als verdoppelt, was an sich schon enorm ist.
Was aber umso beachtlicher ist, ist der Umstand, dass EXCEL jetzt wesentlich stabiler läuft (!)
Das ist dem Umstand geschuldet, dass, wie Daniel schon sagte, jetzt nicht mehr jede Zellwertänderung neu berechnet werden muss.
Bei mir ist dadurch nämlich EXCEL, auch bei kleinsten Aktionen durch simples Kopieren das ganze System in derart in die Knie gegangen, dass manchmal sogar Abstürze mit Datenverlust zu verkraften waren.
Deshalb, nochmal ein grosses Danke an euch ! :-)
Gruß
Nik

Anzeige
Deine Aussage ist natürlich Öl auf meine Mühle ...
21.07.2015 12:59:45
der
Hallo Nik,
... denn ich werde nicht müde, immer wieder für den Einsatz von INDEX() anstelle INDIREKT() zu werben, wo es möglich ist. Natürlich gibt es immer noch Anwendungsfälle, wo INDIREKT() eingesetzt werden muss, weil es keine entsprechende Alternative dafür gibt, aber mE kann in den meisten Fällen INDEX() eingesetzt werden.
Der Kern Deiner Aussage war mir persönlich nicht neu, aber es ist gut, sie von unabhängiger Seite immer mal wieder bestätigt zu bekommen.
Danke für Deine Rückmeldung.
Gruß Werner
.. , - ...

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige