Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1268to1272
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

SumIfs

SumIfs
Raphael
Hallo zusammen,
ich habe ein Frage betreffend SumIfs.
Ist es möglich den Grunddatenstock in ein Array zu laden und für die Funktion SumIfs das Array anzugeben? Und wenn ja, wie? Ich bin nicht sicher wie ich in einem Array eine bestimmte Spalte als Kriterium deklarieren kann. Oder muss ich jede Spalte in ein separates Array laden (wäre wahrscheinlich nicht sinnvoll).
Oder empfiehlt es sich die SumIfs durch eine If .... and ... and... zu ersetzen?
Die Grunddaten haben im kleinen 7000 Zeilen und 24 Spalten, im Grossen 150'000 Zeilen und 24 Spalten. Ich kann nicht auf Access oder ähnliches ausweichen.
Ich freue mich auf Eure Inputs.
Gruss
Raphael

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: SumIfs
20.06.2012 12:42:27
{Boris}
Hi Raphael,
Deine Frage ist ein wenig abstrakt. Es fängt damit an, ob Du Formel oder VBA willst...?! Oder möchtest Du in VBA auf die WorksheetFunctions zugreifen?
Aber egal, in welcher Umgebung: Die Funktion SUMIF (SUMMEWENN) verlangt bei den beiden Parametern "Bereich" und "Summe_Bereich" zwangsläufig den Datentyp BEZUG
=SUMMEWENN(Bereich;Suchkriterien;Summe_Bereich)
D.h. konkret, dass Du ein Range-Objekt übergeben musst. Mit einem Array {1.2.3.4.5} geht es NICHT.
VG, Boris
AW: SumIfs
20.06.2012 13:15:18
guentherh
Hi Raphael,
ich hätte es auch gerne konkreter!
Kannst Du bitte einen Teil Deiner Tabelle posten mit der konkreten Problemstellung?
Welche Daten sollen verglichen werden, und welche Folgen soll das Vergleichsergebnis haben...
Wenn ich dich richtig verstanden habe bist du eh' nicht sicher, ob sumifs/Summewenns die Lösung der Wahl wird.
Gruß,
Günther
Anzeige
AW: SumIfs
20.06.2012 14:36:33
Raphael
Hallo Boris, Hallo Günther
ich Lade euch die Datei mal hoch. Ein bisschen eingekürzt, da sie sonst zu gross ist. Das Tabellenblatt Grunddaten enthält in der Regel zwischen 7000 - 150000 Zeilen
https://www.herber.de/bbs/user/80658.xlsm
Meine Idee ist folgende:
Im ersten Tabellenblatt "Überischt" seht ihr was ich gerne als Endresultat hätte, aber alles mit Excelformlen hinterlegt. Bei einer Neuberechnung (welche bei jedem öffnen der Datei erfolgen soll) dauert es doch sehr lange. Ich bin sicher mit dem richtigen VBA Code liegt noch viel Geschwindigkeit drin.
Da es eine Übersicht ist, welche vorallem mit Bestandeswerten arbeitet kommt die Summwenns-Funktion häufig zum Einsatz. Die ist zwar cool, allerdings sehr langsam.
Vielleicht ist mein Anliegen, wenn man die Datei betrachten kann, nicht mehr ganz so abstrakt.
@{Boris} falls du der vom Zauberbuch bist, hat mich sehr inspiriert. Hat mir in der Praxis schon viel Arbeit erspart, nicht das ich alles verstanden hätte, aber nachbauen kann ich es.
Gruss
Raphael
Anzeige
AW: SumIfs
20.06.2012 17:03:36
{Boris}
Hi Raphael,
bei einer derart großen Datenmenge wirst Du imho immer Performanceprobleme bekommen. Vielleicht (aber auch nur vielleicht) geht`s sogar mit Hilfsspalten in Verbindung mit der Standardfuntion SUMMEWENN (ohne S!) flotter, denn SUMMEWENN ist von Haus aus sehr schnell.
Kann das aber grad mangels Zeit nicht weiter testen - ggfls. erst heute Abend wieder (wenn Du bis dahin keine zufriedenstellende Antwort erhalten hast).
VG, Boris
P.S.: Ja, der bin ich - und freut mich, dass es Dir gefällt bzw. weitergeholfen hat! :-))
AW: SumIfs
21.06.2012 10:09:40
guentherh
Hallo Raphael,
ich vermute Dass Du Dir mit VBA mehr Performance-Probleme einhandeln würdest, als mit den Tabellenfunktionen. Da könnte ich mir höchstens bei sortierten Daten einen Geschwindigkeitsvorteil vorstellen.
Ein kleiner Punkt ist mir aufgefallen: in der Übersicht aggregierst Du auf 6 verschiedene Detailgrade.
in den Grupenzeilen könntest Du "Summe" über die Gruppe nutzen, was bei der Häufigkeit von Grupierungen mehr als ein Viertel der Zeilen ausmacht.
Wenn Du eine Hilfsspalte einfügen kannst, mit der Du die summewenn-Funktion mit einem Gleichheits- statt Ähnlichkeits-Vergleich nutzt könnte das auch was bringen .
Gruß,
Günther
Anzeige
AW: SumIfs
21.06.2012 23:33:47
Raphael
Hallo Günther, Hallo Boris
ich sehe, die schnelle Lösung die ich mir gewünscht hätte gibt es so nicht.
Aber die Idee Summen über Gruppierungen zu erfassen um auf einen Grossteil der Summewenns verzichten zu können bringt mir sicher einen grossen Vorteil. Ich denke, dass ich somit nur noch von der 6-4 Hierarchie mit Summewenns arbeiten muss.
Ich werde es bei der nächsten Volldatenmenge mal einfügen und sehen wie es sich zeitlich auswirkt.
Die Idee mit dem sortieren gefällt mir auch. Aber ich denke ich werde dies in der Formel anwenden, sprich die Kriterien der Häufigkeit nach angeben (jene die die kleinste Chance auf einen Treffer haben zuerst). Bis jetzt habe ich mich nicht um die Sortierung gekümmert. Könnte aber sicher einige 10000 Abfragen verkürzen.
Auch die Hilfsspalte muss ich austesten, wenn ich mit Hilfe einer Hilfsspalte von Summewenns auf Summwenn umsteigen könnte müsste dies eigentlich auch sehr zeitsparend sein. Ich bin mir allerdings noch nicht sicher ob das erstellen der Hilfsspalte nicht mehr Zeit in Anspruch nimmt als wenn ich einfach Summewenns laufen lasse.
Ich werde all das Testen und nochmals ein Feedback geben, wie sich die einzelnen auf die Geschwindigkeit auswirken. Vielleicht ist ja eines Tages jemand anderes froh um die Infos.
Danke Euch zweien.
Gruess
Raphael
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige