= WENN 'Kurzschluss' macht, aber zur Beschleunigung der Leistung würde ich http://msdn.microsoft.com/de-de/library/office/aa730921%28v=office.12%29.aspx vorschlagen . Enthält ein Makro für das Timing. = INDIRECT scheint Aufmerksamkeit zu verdienen.
Führt die Excel-IF-Anweisung zu einer schnelleren Berechnung als mit IFERROR?
Mein Szenario ist, dass ich ein Stylesheet "Dashboard" habe, das Daten aus einer großen Tabelle anhand der Zelle in Spalte B sucht, die sich immer links davon befindet. Die Zelle in Spalte B enthält eine Array-Formel INDEX, MATCH, IF, um eindeutige Namen aus der Tabelle zu ziehen, in der die "Gruppe" ausgewählt ist. Diese Liste wird nach unten und nach einer Auswahlliste der verschiedenen "Gruppen" -Auswahlen gefüllt. Es können bis zu 20 Namen basierend auf der "Gruppe" zurückgegeben werden.
Ich habe 17 Zellen mit Formeln auf der rechten Seite, die alle einen Fehler zurückgeben könnten, wenn die Daten nicht vorhanden sind. Ich habe ihnen also eine IFERROR()
Aussage vorangestellt . Meine Frage ist, wenn ich ihnen eine IF()
Aussage voranstellen würde, würde dies die Berechnungen beschleunigen, da die IF-Anweisung lesen würde, wenn True dann leer wäre, wenn false die Formel berechnen würde.
Logisch scheint es mir so, aber ich wollte wissen, ob einer von euch das gleiche Gefühl hat. Vielen Dank. Vielleicht ist dies eher eine Metadiskussion.
ps Hier ist eine von 9 der komplexesten Formeln, die ich verwende.
=IFERROR((SUMIFS(INDIRECT("tblData["&N$7&" Top Box Num]"),INDIRECT("tblData["&$B$7&"]"),$B$16,INDIRECT("tblData[Date]"),">="&$C$5,INDIRECT("tblData[Date]"),"<="&$D$5))/(SUMIFS(INDIRECT("tblData["&N$7&" Den]"),INDIRECT("tblData["&$B$7&"]"),$B$16,INDIRECT("tblData[Date]"),">="&$C$5,INDIRECT("tblData[Date]"),"<="&$D$5)),"")
Ist die obige Formel langsamer als die unten stehende Formel, wenn "True" ist?
=IF(OR($C$16=0,C16=""),"",(SUMIFS(INDIRECT("tblData["&N$7&" Top Box Num]"),INDIRECT("tblData["&$B$7&"]"),$B$16,INDIRECT("tblData[Date]"),">="&$C$5,INDIRECT("tblData[Date]"),"<="&$D$5))/(SUMIFS(INDIRECT("tblData["&N$7&" Den]"),INDIRECT("tblData["&$B$7&"]"),$B$16,INDIRECT("tblData[Date]"),">="&$C$5,INDIRECT("tblData[Date]"),"<="&$D$5)))
Die Formeln addieren im Wesentlichen die Zählerwerte und dividieren diese durch die Nennerwerte, bei denen die Bedingungen zutreffen, aus einer 20.000-Zeilentabelle und geben eine Prozentbewertung zurück.
1 Antwort auf die Frage
Verwandte Probleme
-
3
Meine Datei ist in Excel 2007 gesperrt. Was ist los?
-
6
Windows 7-Standardinstallation: Was muss geändert werden, um den Vorgang zu beschleunigen?
-
4
Windows Vista-Standardinstallation: Welche allgemeinen Änderungen zur Verbesserung der Geschwindigke...
-
2
Gibt es eine Möglichkeit, Excel 2007 automatisch zu speichern, wie dies bei MS Word der Fall ist?
-
4
Konfigurieren Sie das Modem für Bittorrent-Downloads
-
1
Excel Word Wrap + verschwindet Text
-
1
Einfaches Zusammenführen / Löschen mit Excel
-
7
Wie können Sie Microsoft Excel mit voller Geschwindigkeit laufen lassen, auch wenn der Fensterfokus...
-
2
Warum können Sie Bilder nicht in Excel kopieren / einfügen, aber Screenshots funktionieren?
-
3
So synchronisieren Sie Excel mit der Google Docs-Tabelle