Clever-Excel-Forum

Normale Version: bessere Formel gesucht, wenn möglich
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo Leute,

ich brauche mal wieder Eure Hilfe.

Habe mir unteren Code aus dem Netz rausgesucht und angepasst. Er funktioniert auch tadellos. Er zeigt mir in Tabelle5 alle Termine, die in der Tabelle DataTermine mit "abgesagt" gekennzeichnet wurden untereinander an, zwecks neuer Terminierung. Leider ist die Berechnung aber jetzt sehr langsam. Es stehen im Moment ca. 250 Termine die 2015 abgesagt worden sind in Tabelle5 verteilt über 10 Spalten und es kommen für dieses Jahr bestimmt noch einige hinzu.


Kunde      PLZ          Ort             Adresse     Ansprechpartner       Tel.Nr.            Termin am:      Status     KW      Uhrzeit
   1        12345   Musterstadt    Strasse 1      Herr Müller         02211 - 12345   10.12.2015    abgesagt    50       10:30

Formel steht in A2 bis J2 und ist bis Zeile 500 gezogen.

{=WENN(ZÄHLENWENN(DataTermine!$A:$A;"abgesagt") < ZEILE(C1);"";INDEX(DataTermine!C:C; KKLEINSTE(WENN(DataTermine!$A$4:$A$3000="abgesagt";ZEILE($4:$3000));ZEILE(C1))))}


Meine Frage wäre, ob man obigen Code ändern kann, damit er eventuell schneller ist ohne jedesmal die Formelberechnung auf manuell zu stellen, da ich auch in anderen Tabellenblättern Formeln habe, die ich ständig brauche.

Wenn nötig versuche ich am WE eine Mustertabelle zu basteln und lade diese dann hoch.

Wäre dankbar für jede Hilfe. Da ich alleine schon für das anpassen des Codes an meine Tabelle ewig gebraucht habe, bis er so funktioniert hat, wie ich es wollte. :20:

Viele Grüße und schon mal im voraus Danke.

Erwin
Hola,


Code:
=WENNFEHLER(INDEX(DataTermine!$C$4:$C$3000;AGGREGAT(15;6;ZEILE($4:$3000)-3/(DataTermine!$A$4:$A$3000="abgesagt");ZEILE()));"")


Gruß,
steve1da
Hallo Erwin

Erstens ist es seit Einführung der formatierten Tabellen nicht mehr notwendig Formeln auf Vorrat anzulegen und zweitens reicht in solchen Fällen der Filter.
... und drittens würde ich einmal über PivotTables nachdenken, wo dann noch mehr Aussagemöglichkeiten gegeben sind.
Danke Euch allen für die Tips.

steve1da:
 
Habe deine Formel eingefügt und angepasst. Ist etwas schneller als mein Konstrukt. Danke

=WENNFEHLER(INDEX(DataTermine!$C$3:$C$3000;AGGREGAT(15;6;ZEILE($3:$3000)-2/(DataTermine!$A$3:$A$3000="abgesagt");ZEILE()-1));"")

so sieht sie jetzt aus.

shift-del

Mit dem Filter habe ich es auch schon probiert, war aber nicht so, wie ich mir das vorgestellt hatte. Denn seltsamerweise beim Ausdruck, (ich hatte vergessen zu erwähnen das ich die abgesagten Termine ausdrucke Blush ), waren dann wieder alle Daten zu sehen und nicht nur das Gefilterte.

Günther

Mit Pivot habe ich mich bis jetzt noch nicht beschäftigt. Wenn es meine Zeit mal erlaubt, werde ich mal da reinknien. Mal sehen wie das funktioniert.

Auf jeden Fall vielen, vielen Dank.

Viele Grüße

Erwin
Zitat:Mit dem Filter habe ich es auch schon probiert, war aber nicht so, wie ich mir das vorgestellt hatte. Denn seltsamerweise beim Ausdruck, (ich hatte vergessen zu erwähnen das ich die abgesagten Termine ausdrucke Blush ), waren dann wieder alle Daten zu sehen und nicht nur das Gefilterte.
Ziemlich unwahrscheinlich.