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

Formel optimieren

Formel optimieren
21.09.2023 14:38:56
Richi
Hallo zusammen
Hab hier eine Formel welche grundsätzlich funtioniert.
Nur:
Diese Formel kommt in der Tabelle ca. 60 Mal vor und zieht die Performance komplett in den Keller.

Ich hoffe, dass jemand von euch, mir zu einer effizienteren Berechnung (Formel) weiterhelfen kann.

=WENN(ANZAHL(EINDEUTIG(FILTER('Big Data'!$A$25:$A$7794;('Big Data'!$F$25:$F$7794=$V15)*('Big Data'!$Y$25:$Y$7794="X")*('Big Data'!$I$25:$I$7794=$BO$3)*('Big Data'!$W$25:$W$7794="BAAOB"))))=0;"";ANZAHL(EINDEUTIG(FILTER('Big Data'!$A$25:$A$7794;('Big Data'!$F$25:$F$7794=$V15)*('Big Data'!$Y$25:$Y$7794="X")*('Big Data'!$I$25:$I$7794=$BO$3)*('Big Data'!$W$25:$W$7794="BAAOB")))))

Liebe Gruess
Richi

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

Betreff
Datum
Anwender
Anzeige
AW: Formel optimieren
21.09.2023 14:43:00
Philip1306
Hallo Richi,

das macht die Formel etwas kürzer und sollte die Performance verbessern ;-)

=ANZAHL(EINDEUTIG(FILTER('Big Data'!$A$25:$A$7794;('Big Data'!$F$25:$F$7794=$V15)*('Big Data'!$Y$25:$Y$7794="X")*('Big Data'!$I$25:$I$7794=$BO$3)*('Big Data'!$W$25:$W$7794="BAAOB"))))
AW: Formel optimieren
21.09.2023 14:43:00
SF
Hola,
warum fragst du auf =0 ab? Lass die Formel einmal laufen und blende die 0 über das Zellformat aus.
Gruß,
steve1da
AW: Formel optimieren
21.09.2023 14:59:41
daniel
Hi
es wäre nett, wenn du uns beschreiben würdest, was die Formel berechnen soll.
da du uns nicht bezahlst, solltest du uns soviel Arbeit wie möglich abnehmen und uns die Aufgabe so leicht wie möglich machen.

muss die 0 als Ergebnis wirklich durch den Text "" ersetzt werden oder darf die 0 auch stehenbleiben und sie stört nur optisch?

wenn sie nur optisch stört, kannst du sie auch über das benutzerdefinierte Zahlenformat 0;-0; ausblenden.
dann brauchst du das =WENN(Anzahl(...)=0;"";Anzahl(...)) nicht, sondern es reicht =Anzahl(...) , was den Rechenaufwand halbieren sollte.

vielleicht bringt es auch etwas, wenn du den konstanten Teil (also das, was in allen Formeln gleich ist) als Namen hinterlegst, weil es so nicht jedes mal neu berechnet werden muss:

also Name XXX mit dieser Formel:
 =('Big Data'!$Y$25:$Y$7794="X")*('Big Data'!$I$25:$I$7794=$BO$3)*('Big Data'!$W$25:$W$7794="BAAOB")

und dann die eigentliche Formel:
ANZAHL(EINDEUTIG(FILTER('Big Data'!$A$25:$A$7794;('Big Data'!$F$25:$F$7794=$V15)*XXX)))


Gruß Daniel

Anzeige
AW: Formel optimieren
21.09.2023 16:17:02
Richi
Danke Dani und den andern Beiden Antwortern für die Inputs/Unterstützung. Es war nicht meine Absicht Infos zurück zu halten.

Die Formel......... zählt aus der "Big Data" Tabelle alle Mitabeiter mit gleicher Qualifikation in Arbeitsbereich (z.B. Dreherei/Fräserei/etc.). In einer weiteren Formel mittels einem Gewichtungsfaktor vergleiche ich Soll/Ist. Der errechnete Index gibt einen Überblick ob genügen richtig qualifiziertes Personal verfügbar sein wird um kommende Arbeitslasten zu erledigen.

Den Lösungsansatz..... Namensvergabe für die Ranges werde ich weiterverfolgen.... Hier stellt sich die Frage wie ich im Namens Manager die Ranges dynamisch aufbauen kann, weil der Mitarbeiterbestand und Ausbildungsstand sich verändern kann, entsprechend die Tabelle grösser oder kleiner wird.


Liebe Gruess
Richi
Anzeige
AW: Formel optimieren
21.09.2023 16:36:08
daniel
Hi
auch im Namensmanager sollten sich die Zellbezüge automatisch anpassen, wenn du die Tabelle in der richtigen Weise erweiterst.
dh nicht einfach am Tabellenende weiterschreiben, sondern zwischendrin mit "Zeilen einfügen" Zeilen hinzufügen und dann diese füllen.
(oder du arbeitest mit Formatierten Tabellen)

wenn das keine Option ist, dann würde ich so vorgehen und mehrere Namen vergeben, diese können auch voneinander abhängen.
dh als erstes weist du den ganze Zellbereich einem Namen zu:
Gesamt: =BigData!$A$25:$Z$7794
dann leitest du daraus die einzelnen Spalten ab und gibst denen die du benötigst einen Namen
SpalteA:= Index(Gesamt;0;1)
SpalteF: =Index(Gesamt;0;6)
SpalteI: =Index(Gesamt;0;9)
SpalteW:=Index(Gesamt;0;23)
SpalteY: =Index(Gesamt;0;25)


diese Namen kannst du an in den Formeln anstelle der Zellbezüge einsetzen, sowohl in der Zelle, als auch im Namen XXX.
XXX: =(SpalteY="X")*(SpalteI=$BO$3)*(SpalteW="BAAOB")
als auch in der Formel
=ANZAHL(EINDEUTIG(FILTER(SpalteA;(SpalteF=$V15)*XXX)))

wenn du dann den Bereich anpassen musst, reicht es aus wenn du das im Namen GESAMT machst, weil alle anderen Namen davon abhängen.

Gruß Daniel
Anzeige
AW: Formel optimieren
22.09.2023 15:40:02
Richi
Besten Dank Daniel
Habe deinen Ratschlag umgesetzt. Performance ist besser geworden. Noch nicht ganz zufriedenstellend aber auf gutem Wege.

Liebe Gruess
Richi

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige