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

Kursnamen in Datumsbereich anzeigen, außer...

Kursnamen in Datumsbereich anzeigen, außer...
15.05.2019 09:57:02
Tilman
Hiho,
meine aktuelle Frage bezieht sich auf diese vorhergegangene Frage hier: https://www.herber.de/cgi-bin/callthread.pl?index=1689790#1689790
wo mir neopaC sehr geholfen hat.
Hab n bisl mit der Formel rumgespielt, und rausgekommen ist folgende Tabelle (stark verändert, Ursprungsdatei ist wesentlich umfangreicher und auch größer, selbst die umgebaute datei musste ich zum hochladen hier kürzen). es stellt eine Visualisierung einer Planungsdatei dar mit der zukünftige Kurse geplant werden sollen.
https://www.herber.de/bbs/user/129786.xlsx
Zu meinen Problemen:
in den Zeilen "weitere Kurse" sollen Kursnamen dargestellt werden an Dienstagen, Donnerstagen und Samstagen, durch diese Formel:
=WENNFEHLER(INDEX('MV+FW'!$BT$7:$BT$106;AGGREGAT(15;6;ZEILE('MV+FW'!$BT$7:$BT$1000) /('MV+FW'!$BV$7:$BV$1000=D$1)/('MV+FW'!$BR$7:$BR$1000=$B10) /('MV+FW'!$BY$7:$BY$1000=$C8)/('MV+FW'!$CD$7:$CD$106=Kalender!D$3);1));"") 

es wird an betreffenden Tagen aber nur eine Null angezeigt. ich bin mit meinem Latein am Ende und weiss nicht woran es liegt.
Mein zweites Problem ist:
die zuvor genannte Formel soll noch Ausnahmewerte beinhalten (siehe Blatt MV+FW Spalte CH ff.). Es sollen also alle Dienstage, Donnerstage und Samstage angezeigt werden an denen der Kurs stattfindet, ausser an den Tagen die in den Zellen stehen.
Wie ich die Formel dahingehend modifizieren kann weiss ich nicht. dazu versteh ich sie noch nicht richtig.
Kann mir wer helfen?

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Formel nicht korrekt, weil ...
15.05.2019 10:13:50
neopa
Hallo Tilmann,
... grundsätzlich musst Du mit meiner Formel für Index nicht den Bereich eingrenzen sondern diesen für die gesamte Spalte angegeben. Also anstelle =WENNFEHLER(INDEX('MV+FW'!$BT$7:$BT$106;... nur wie folgt:
=WENNFEHLER(INDEX('MV+FW'!$BT:$BT;...
Gruß Werner
.. , - ...
AW: Formel nicht korrekt, weil ...
15.05.2019 10:22:52
Tilman
Hallo Neopa,
ja ich hab deine Formel diesbezüglich abgewandelt. aber nur aus einem Grund:
die Datei hat ziemlich viele Datensätze, und da die Formel angewendet wird auf einen Bereich von D4 bis AEU500 bin ich auf folgendes Problem gestoßen:
eine Änderun in der Datei hat dazu geführt das er den gesamten Tabellenbereich neu berechnet hat.
Mein Arbeitsrechner hier ist ziemlich schwachbrüstig (nur 4 Kerne). Ich habs mit der Stoppuhr gemessen: wenn ich auch nur eine Änderung gemacht habe, ging die Berechnung los und hat 10Minuten und 30 Sekunden gedauert. Währrend der Berechnung ging die CPU Auslastung auf 99% hoch und ich konnte währrend dessen nix mehr machen.
Um diesen Zustand zu verändern hab ich es eingeschränkt auf $BT§3:§BT$1000
führt diese Einschränkung zu einem Problem? wenn ja erklär mir das bitte
Anzeige
AW: nun ...
15.05.2019 10:43:30
neopa
Hallo Tilmann,
... die Eingrenzung des auszuwertenden Bereiches wird bereits im AGGREGAT()-Formelteil vorgenommen. Das Ergebnis dieses Formelteils liefert bereits die richtige Zeilennummer an INDEX(). Demzufolge muss zwingend die Angabe der INDEX-Matrix bei Zeile 1 beginnen, was bei BT:BT gewährleistet ist oder eben dann BT$1:BT$1000.
Dein eigentliches Problem ist nun aber ein anderes. Meine Formel ist eine Matrixfunktion(alität)sformel die zwar keines spez. Formelabschluss wie eine klassische Matrixformel benötigt und auch etwas schneller auswertet als eine solche, aber trotzdem viel Ressourcen in Anspruch nimmt, was vor allem bei der Unmenge von Wiederholungen dieser Formel in Deiner Datei zu der hohen Rechenzeit führt.
Hier wäre ein entsprechender neuen Lösungsansatz notwendig.
Ein Möglichkeit wäre die Berechnungen nur auszuführen zulassen, wenn sie denn gewünscht ist (automatische Berechnung auf manuell einstellen) oder durch klammerndes WENN()-Konstrukt nur auszuführen zu lassen, wo diese auch wirklich notwendig ist oder ... sorry, das sprengt zumindest mein momentanes Zeitbudget für Hilfeleistungen im Forum.
Gruß Werner
.. , - ...
Anzeige
AW: Kursnamen in Datumsbereich anzeigen, außer...
15.05.2019 11:25:51
Tilman
ok nachdem neopa nun das erste problem geklärt hat, und mich drauf hingewiesen hat, das ich meine Lösung überdenken sollte (was ich auch tue)
bleibt noch mein zweites Problem:
wie baue ich in diese Formel
=WENNFEHLER(INDEX('MV+FW'!$BT$1:$BT$1000;AGGREGAT(15;6;ZEILE('MV+FW'!$BT$1:$BT$1000) /('MV+FW'!$BV$1:$BV$1000=D$1)/('MV+FW'!$BR$1:$BR$1000=$B7) /('MV+FW'!$BY$1:$BY$1000=$C5)/('MV+FW'!$CD$1:$CD$1000=Kalender!D$3);1));"") 

Ausnahmewerte ein?
Also das mir zwar im entsprechenden Zeitraum die Termine angezeigt werden, ausser zu den Terminen die in Zellen 'MV+FW'!CH1:CP1000 angegeben sind.
Ich vermute das es eine Ergänzung der Aggregatsfunktion ist, so irgendwie:
[...]$CD$1:$CD$1000=Kalender!D$3)/('MV+FW'!$CH$1;$CP$1000Kalender!D$1)[...]
passt das so, oder muss ich das anders regeln/in die Formel einbauen?#
Danke schonmal
Anzeige
AW: zu Deiner zweite Fragestellung ...
15.05.2019 13:11:36
neopa
Hallo Tilmann,
... kann ich Dir eine Formellösung aufzeigen. Jedoch durch diese wird sich die Auswertungszeit natürlich noch etwas weiter erhöhen.
In Deiner Beispieldatei schreibe in AT16 folgende erweiterte Formel:
=WENNFEHLER(INDEX('MV+FW'!$BT:$BT;AGGREGAT(15;6;ZEILE('MV+FW'!$BT$7:$BT$1000)/
('MV+FW'!$BV$7:$BV$1000=AT$1)/('MV+FW'!$BR$7:$BR$1000=$B16)/
('MV+FW'!$BY$7:$BY$1000=$C14)/('MV+FW'!$CD$7:$CD$1000=AT$3)/
(MMULT(('MV+FW'!$CH$7:$CP$1000AT$1)*1;ZEILE(A$1:A$9)^0)=9);1));"")
und kopiere diese nach rechts, links, unten und oben.
Gruß Werner
.. , - ...
Anzeige
AW: zu Deiner zweite Fragestellung ...
15.05.2019 15:00:09
Tilman
hmm die formel verwirrt mich jetzt ein bisschen mehr, aber sie funktioniert erst mal.
vielen dank dafür
bezüglich der vereinfachung überlege ich die formel nur bereichsweise anzuwenden mit nem start datum und nem endatum... aber ich glaub da komme ich an vba nicht vorbei
AW: nun ...
15.05.2019 15:59:20
neopa
Hallo Tilman,
... das war zumindest mein Ziel, dass die Formel funktioniert. Mit "verwirren" meintest Du möglicherweise, dass die Formelerweiterung für Dich nicht ganz so leicht nachzuvollziehen ist, oder?
Für eine grundsätzliche andere Lösung, würde ich nicht nach VBA Ausschau halten, sondern z.B. über die Struktur des angestrebten/notwendigen Ergebnislisting nachdenken und z.B. nur eine Monatsauswertung und/oder eine Auswertung nach KST und/oder nach Räumen und/oder ... vornehmen.
Gruß Werner
.. , - ...
Anzeige
AW: nun ...
16.05.2019 08:09:34
Tilman
guten morgen Werner,
ja die Formelerweiterung ist nicht ganz einfach nach zuvollziehen.
ich hab gestern mal versucht diese Formel etwas zu verändern (auch um Sie besser zu verstehen). Ich hab nämlich ein paar Daten vergessen bei den Ausnahmen (Samstags finden in den Ferien ab dem 03.08.2019 bis zum 17.08.2019 keine Kurse statt). Als ich diese ergänzt hatte hatte sich der Spaltenbereich erhöht (von CH bis CS (statt CP).
Ich hab daraufhin diese Änderung vorgenommen:
[...]/(MMULT(('MV+FW'!$CH$1:$CS$1000D$2)*1;ZEILE(A$2:A$13)^0)=12)

und angewendet auf den Tabellenbereich der Ursprungsdatei.
Ergebnis: ich konnte gar keine MV Kurse mehr sehen. Hab die Änderung also wieder zurück genommen
und ich kann die Formel noch weniger nachvollziehen.
In der Ursprungsdatei habe ich die Struktur bereits eingeschränkt indem ich nur Räume und Dozenten auswerte. Eine Monatsauswertung überleg ich mir. Eine weitere Möglichkeit ist es die weiteren Kurse in einen anderen Kalender zu schieben (da nur diese einen 3 Jahreshorizont haben, die übrigen kurse nur einen einjährigen Planungshorizont. Das erschwert nur leider die zeitliche Vergleichbarkeit. Der Kalender soll ja dazu dienen zeitliche Überschneidungen bei den Räumen und den Dozenten aufzuzeigen.
Ich will jetzt erst mal einen Knopf zur manuellen Berechnung einfügen, also die Autoberechnung aus, und der Tabellenbereich des KAlenders soll nur aktualisiert(berechnet) werden wenn ein Knopf gedrückt wird.
Anzeige
AW: nun ...
16.05.2019 08:49:36
Tilman
gut, also die Berechnung auf Manuell stellen und mit nem Hinweis arbeiten, das aktualisierung via reiter Formel, dann neu berechnen bringt nicht viel.
wenn ich ne neue Zeile oberhalb der Tabelle einfügen will stürzt excel ab.
wenn ich ein Paar Zellen verschieben will (strg+x dann strg+v) stürzt excel ab.
einzige möglichkeit die datei benutzbar zu machen, ist die formel aus allen Spalten mit Entf zu löschen bis auf die erste Spalte... dann kann ich wieder arbeiten und zum prüfen muss ich den kalender wieder erweitern
höchst ärgerlich
AW: nur bedingt nachvollziehbar ...
16.05.2019 11:30:03
neopa
Hallo Tilman,
... nicht in Deiner bereitgestellten Beispieldatei.
Und dass für Deine im Original angestrebte Zielstellung ein neuer Ansatz notwendig ist, hatte ich ja schon geschrieben und auch, dass man da mehr Zeit investieren müsste. Dies würde dann aber eine Hilfe über Forum "sprengen".
Gruß Werner
.. , - ...
Anzeige
AW: nur bedingt nachvollziehbar ...
16.05.2019 11:37:49
Tilman
nein da hast du recht. die orginaldatei bekomm ich hier auch nicht hochgeladen.
und auch deinen Einwand mit dem Rahmen sprengen verstehe ich.
Trotzdem dir vielen Dank

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige