Zeilen zählen, die zwischen zwei Daten oder Zeitwerten liegen
#1
Hallo zusammen,

aktuell werte ich aus, wieviele Fahrzeuge an welchen Tagen vermietet wurden. Als Datensatz steht mir in folgendem Format zur Verfügung:

A1 / B1 / C1 / D1 / usw.

Mietnummer / Fahrzeuggröße / Datum ab / Datum bis / usw.
1002234 / Größe A / 01.01.2016 / 03.01.2016
1002235 / Größe B / 01.01.2016 / 05.01.2016

Das Fahrzeug der größe A in dem Beispiel oben war also am 01.01.16, 02.01.2016 und dem 03.01.2016 unterwegs... Nun handelt es sich um ca. 50.000 Mietverträge die ich auswerten möchte und da benötige ich eine Ressourcenschonende Formel, welche es mir erlaubt die Anzahl der fahrenden Farzeuge auszulesen.

Ein Beispiel für eine Endformatierung könnte sein:

A1 / B1 / C1 / D1 / usw.
Datum / Anzahl Fahrzeuge Gruppe A / Anzahl Fahrzeuge Gruppe B / usw.
01.01.2016 / 1 / 1 / 


Mir ist zwar eine Umsetzung gelungen, allerdings stürzt dort der PC ab. Habe eine Matrize erstellt aus Mietnummer und Datum - dabei wurde durch Wennfunktion und Sverweis immer geprüft ob der Mietvertrag zu dem jeweiligen Datum aktiv war - daraus folgte 1 und 0. Das ist aber denkbar bei 900x50.000 Zellen unpraktikabel.


Vielen Dank für eure unterstützung :)
Top
#2
Hallo F...,

lade doch einmal eine Beispieldatei mit einigen Ergebniszeilen hoch.  Das ist für die Helfer hilfreich.

Wäre für dich auch ein Makro akzeptabel?
Bei tausenden von Datensätzen ist ein Makro oft sehr viel schneller als hunderte von Formeln.
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.





Top
#3
(22.04.2017, 17:51)Ego schrieb: Hallo F...,

lade doch einmal eine Beispieldatei mit einigen Ergebniszeilen hoch.  Das ist für die Helfer hilfreich.

Wäre für dich auch ein Makro akzeptabel?
Bei tausenden von Datensätzen ist ein Makro oft sehr viel schneller als hunderte von Formeln.

Grüß dich,

ich habe Beispieldaten hochgeladen - also ich sage schon mal vorweg - das ist wirklich eine anspruchsvolle Knobelaufgabe. Ich bin zwar Excelliebhaber aber diese Sache bringt mich an meine Grenzen, was bei einer solchen Thematik eigentlich nicht sein dürfte. Schließlich ist diese Form von Daten und das Ziel meiner Analyse keine Seltenheit.

Nebenbei helft ihr mir bei der praktischen Ausarbeitung meiner Bachelorthesis :15: Makros sind akzeptabel, solange man Sie noch nachvollziehen kann und fehlerfrei laufen natürlich :)

Viele Grüße


Angehängte Dateien
.xlsx   Fahrzeugauslastung_Beispieldaten.xlsx (Größe: 41,08 KB / Downloads: 8)
Top
#4
Sorry noch einmal für den Start bei diesem Beitrag, da hatte sich ein ">" eingeschlichen der da nicht rein gehörte.

Jetzt rechnet die Formel richtig, siehe Anhang
Gruß Holger


Angehängte Dateien
.xlsx   Mappe1.xlsx (Größe: 11,09 KB / Downloads: 10)
Top
#5
Hallo

ZÄHLENWENNS() ist vermutlich schneller.
Code:
=ZÄHLENWENNS($D$2:$D$60000;"<="&$J2;$E$2:$E$60000;">="&$J2;$B$2:$B$60000;K$1)
Wir sehen uns!
... Detlef

Meine Beiträge können Ironie oder Sarkasmus enthalten.

Top
#6
lassen sich hierfür nicht auch Pivot-Tabellen nutzen?

Gerade bei vielen Datensätzen sollte es doch nicht so schnell versagen, oder ?

Ich hab mich bissher wenig damit auseinander gesetzt, aber sicherlich ist hier irgendwo jemand unter uns =)

Anhängend ist mal eine Musterdatei mit 1000 Einträgen.


Schöne Grüße
Karsten


Angehängte Dateien
.xlsx   Fahrzeugauslastung_pivottabelle.xlsx (Größe: 68,63 KB / Downloads: 3)
Top
#7
Hallo Falschsager,

wieviele Jahre wertest du denn aus und änderst du die Eingangsdaten regelmässig?

Bei einer Auswertung über 5 Jahre und 60.000 Datensätzen benötigt Excel bei einer Änderung eines Wertes mit Holgers Formeln zur Neuberechnung mehr als eine Minute (bei Nutzung von 4 Prozessorkernen).
(14.600 Formeln mit je 180.000 Vergleichen)



Eine programmierte Lösung benötigt bei einer Auswertung über 30 Jahre und 60.000 Datensätzen weniger als eine Sekunde (bei Nutzung eines Kernes)
(jeder der 60.000 Sätze wird nur einmal gelesen)
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.





Top


Gehe zu:


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