Wir wünschen allen Forenteilnehmern ein frohes Fest und einen guten Rutsch ins neue Jahr. x

Raumplanung Objektscharf zusammenfassen auf Übersichtsblatt
#1
Guten Abend zusammen,

erneut ersuche ich die Hilfe hier :).

Anbei eine Beispieltabelle um mein "Problem" zu verdeutlichen.

Ich bin für die Planung der Reinigung von einzigen Räumen verantwortlich in ganzen Objekten.
Kalkulatorisch bekomme ich jeden Raum einzelnt vorgelegt.
Um dem Disponennten das ganze übersichtlicher zu machen will ich nun auf einer Extraseite das ganze "Objektscharf" ausgeben.

Mit Formel Klappt das alles auch, sieht in der Beispieltabelle jetzt nicht so aus aber in der Originaldatei funktioniert es :), denke es ist einfach schon zu Spät zum nachbauen.

Mein Problem ist, das ich in der Originaldatei keine 2 Objekte und 15 räume habe sondern am ende bei ca 10.000 zeilen landen werden.

Die Indexformel auf meiner Übersicht macht genau das was sie sollen aber benötigen dafür sehr lange...
Nun habe ich erfahren, das das ganze schneller werden würde wenn man das ganze über VBA darstellen lassen würde...eine Indexformel per VBA kriege ich noch hin aber Vergleich und dann noch Summe da hapert es dann doch...

Oder gibt es eventuell auch andere Lösungsansätze? Summewenn oder dergleichen?

Ich bin auf eure Lösungsansätze und Vorschläge gespannt :)

liebe Grüße

Seeqi


Angehängte Dateien
.xlsx   Forumtest.xlsx (Größe: 40,86 KB / Downloads: 13)
Antworten Top
#2
Hallo seeqi,

Zitat:Die Indexformel auf meiner Übersicht macht genau das was sie sollen aber benötigen dafür sehr lange...

Du willst also alle Werte des gesamten Bereichs aufsummieren, die den gleichen Wert haben, die der erste Raum des Objekts an diesem Tag hat.
Wofür braucht man das täglich für den Monat?
helmut

Für mich ist die Möglichkeit in Excel an Zellen und Bereichen Namen zu vergeben die wichtigste Funktionalität.
Sie macht Formeln und den VBA-code verständlicher. Für Makros gilt die Regel: "Nur über benannte Bereiche auf den Inhalt der Zellen zugreifen."
Und wofür sind Regeln da? Um nachzudenken bevor man sie bricht.





Antworten Top
#3
Hallo Ego,

nein ich kriege von der Kalkulation für jeden Raum einen Zeitwert.

Z.b

Objekt: Bäckerei Lachnummer

In dem Objekt haben wir:

Raumname                               m²                                   Zeit pro Reinigung

Verkaufsraum                           45m²                                 1,5
Toilette                                    15m²                                 0,3
Lager                                       20m²                                1,20


der Disponennt muss in erster Linie aber nur wissen, dass er für das ganze Objekt: 3 Std einplanen muss.

Ich habe auch Objekte mit 250 zeilen z.b :D

Daher würde ich die Objekte gerne zusammen führen.
Das der Disponennt auf einen Blick sieht.

Bäckerei Lachnummer 3 Std
Antworten Top
#4
Hi,

ich bezweifle mal, dass VBA schneller ist.

Deine SUMMEWENN/INDEX/VERGLEICH berechnet Müll.

Berechnen könnte man es am einfachsten mit SUMME(FILTER(FILTER())):
=SUMME(FILTER(FILTER(Datenbank!$G$5:$NG$30;Datenbank!$B$5:$B$30=$E6);Datenbank!$G$3:$NG$3=F$4))

Ob's schnell genug ist? Lass es uns wissen. Mir fällt zumindest nichts schnelleres ein.

Sinn macht diese Berechnung für jeden Tag nur, wenn die Objekte je nach Tag unterschiedliche Räume haben, also z.B. die Toilette täglich, das Treppenhaus aber nur jeden 2. Tag gemacht wird. Auch da könnte man sich überlegen, ob man es wirklich für jeden Tag braucht, oder ob man es nicht einmalig für jeden Wochentag ausrechnet. Am flexibelsten ist es wohl schon mit jedem Tag, dann kann man händisch in der Datenbank rumpfuschen.
Gruß,
Helmut

Win10 - Office365 / MacOS - Office365
Antworten Top
#5
Hallo seeqi,

in der Anlage mein Vorschlag.

Und hier noch drei Bemerkungen:

1. Durch die Matrixfunktionen wird nur eine Formel pro Objekt berechnet und durch die Begrenzung "Index():Index()" muss für jedes Objekt nur ein Bruchteil des Bereichs ausgewertet werden.
Das sollte um einiges schneller sein.

2. Da die Funktion MMULT nicht mit leeren Zellen umgehen kann, müssen die Wochenenden im Blatt Datenbank mit 0en gefüllt werden. Übers Format "0,000;-0,000;" kannst du die Anzeige der 0en unterdrücken.

3. Nur in den grau gefüllten Zellen sind Formeln.

4. In der Datenbank müssen die Räume eines Objektes direkt untereinander sein und in allen Räumen für alle Tage des Jahres müssen Zahlen eingetragen werden.

@Helmut

Hallo Helmut,

zu
Zitat:ich bezweifle mal, dass VBA schneller ist.

Ich glaube dass bei mehreren tausend Räumen (wenn die Räume eines Objektes hintereinander eingetragen sind) VBA mindestens um den Faktor 100 schneller ist, als deine Formel, die für jedes Objekt und jeden Tag des Monats immer den gesamten Bereich durchsucht.


Angehängte Dateien
.xlsx   Forumtest.xlsx (Größe: 52,32 KB / Downloads: 8)
helmut

Für mich ist die Möglichkeit in Excel an Zellen und Bereichen Namen zu vergeben die wichtigste Funktionalität.
Sie macht Formeln und den VBA-code verständlicher. Für Makros gilt die Regel: "Nur über benannte Bereiche auf den Inhalt der Zellen zugreifen."
Und wofür sind Regeln da? Um nachzudenken bevor man sie bricht.





[-] Folgende(r) 1 Nutzer sagt Danke an Ego für diesen Beitrag:
  • Seeqi
Antworten Top
#6
Wow Vielen Dank! Ist zwar noch keine VBA Lösung aber ich finde deine Formel ebenso Faszinierend wie verwirrend! :D aber da klick ich mich schon durch und geben bescheid ob es schneller wird! :D
Antworten Top
#7
Hi,

wozu für jeden Tag des Jahres eine eigene Spalte, wenn in jeder der Zeilen der gleiche Wert steht? Kann ja noch verstehen, wenn es Abweichungen gäbe, z. Bsp. zwischen den Wochentagen, aber vermutlich gibt es einen Jahresvertrag, der festlegt, im Objekt X wird Montags der Raum Y gereinigt und dafür braucht ma Z-Stunden. Raum ABC wird Montags-Freitags gereinigt usw.... Und der Vertrag wird sehr wahrscheinlich nicht täglich geändert....

Heißt im Endeffekt... das geht alles sehr viel einfacher....


Angehängte Dateien
.xlsx   Forumtest (1).xlsx (Größe: 22,12 KB / Downloads: 9)
Der sicherste Ansatz für einen Irrtum ist der Glaube, alles im Griff zu haben.
Nur, weil ich den Recorder bedienen kann, macht mich das noch lange nicht zum Musiker.

Ciao, Ralf

[-] Folgende(r) 1 Nutzer sagt Danke an Ralf A für diesen Beitrag:
  • Seeqi
Antworten Top
#8
Hallo seeqi,

in der Anlage zusätzlich eine VBA-Lösung und hier zwei Bemerkungen:

1. Da ich in Makros ungern mit festen Adressen arbeite nutzt mein Makro zur Zeit zwei benannte Bereiche ("Jahreswerte" und "Objekte") und vier benannte Zellen ("AnzObjekte", "Erster", "Letzter" und "Ausgabe")

2. Neben der Geschwindigkeit der Berechnung hat das Makro noch
a) den  Vorteil, 
dass während der Änderung in der Datenbank nicht immer wieder alle Berechnungen für die Übersicht aktualisiert werden und
b) eventuell den Nachteil,
dass während der Änderung in der Datenbank nicht immer wieder alle Berechnungen für die Übersicht aktualisiert werden 
(wenn man nach einer Aktualisierung der Datenbank das Makro nicht anstößt, ist die Übersicht nicht aktuell).


Angehängte Dateien
.xlsm   Forumtest.xlsm (Größe: 66,57 KB / Downloads: 7)
helmut

Für mich ist die Möglichkeit in Excel an Zellen und Bereichen Namen zu vergeben die wichtigste Funktionalität.
Sie macht Formeln und den VBA-code verständlicher. Für Makros gilt die Regel: "Nur über benannte Bereiche auf den Inhalt der Zellen zugreifen."
Und wofür sind Regeln da? Um nachzudenken bevor man sie bricht.





[-] Folgende(r) 1 Nutzer sagt Danke an Ego für diesen Beitrag:
  • Seeqi
Antworten Top
#9
Vielen Dank an Alles! :D

Die Lösung von Ego hat das ganze perfomance "problem" um welten verbessert! Sollte ich bei weiteren Daten wieder probleme bekommen habe ich auch gleich die VBA Variante die wohl noch schneller wird.

@Ralph deine Lösung sieht auch sehr Schick aus, nur leider verstehe ich noch weniger was und wie da funktioniert :) aber speicher mir deine Datei trotzdem mal ab, auch dir vielen Dank.
Antworten Top
#10
...das ist nicht schick, das ist PQ 19  

Nicht so schlimm, wenn Du es nicht verstehst. Trage einfach Deine Objekte, Räume und Zeiten/Tag in die entsprechenden Zellen ein (oder kopiere sie an die richtige Stelle) und klicke evtl. noch auf Daten --> Aktualisieren und voila... das wars...
Der sicherste Ansatz für einen Irrtum ist der Glaube, alles im Griff zu haben.
Nur, weil ich den Recorder bedienen kann, macht mich das noch lange nicht zum Musiker.

Ciao, Ralf

Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste