Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Feld mit Liste von Datumsbereichen abgleichen
#1
Hallo Zusammen,

nach einigen Tagen des Probierens und dem Durchsuchen des Forums und anderen Seiten, komme ich alleine leider nicht weiter und würde mich freuen wenn hier vielleicht eine Lösung zu meinem kleinen Problem zu finden ist.

Die Ausgangslage:
Ich habe zwei Tabellen entsprechend auf zwei Tabellenblättern.

"Auswertung" 
Hat zwei Spalten
A und B
In Spalte A stehen jeweils Datum und Uhrzeit im Format TT.MM.JJJJ HH:MM:SS

Spalte B soll als Ergebnis Ja oder Nein enthalten

"News"
Hat 4 Spalten
"News Name" "Datum-Zeit" "Beginn" "Ende"


Es soll nun in der Tabelle "Auswertung" in der Spalte B geprüft werden, ob der Wert in Spalte in einem der Bereiche zwischen "Begin" und "Ende" aus der Tabelle "News" liegt.

Ich hätte es eigentlich mit einer ganzen Reihe hiervon angestellt:
WENN(ODER(UND(TEXT(A1;"TT.MM.JJJJ hh:mm:ss")>TEXT('News'!C2;"TT.MM.JJJJ hh:mm:ss");TEXT(A1;"TT.MM.JJJJ hh:mm:ss")TEXT('News'!C3;"TT.MM.JJJJ hh:mm:ss");TEXT(H2;"TT.MM.JJJJ hh:mm:ss")
Das klappt auch sehr gut. Nur dummerweise habe ich etwa 2000 Zeilen mit News. Und Excel kann eine so lange formel einfach nicht verarbeiten.

Und ich hoffe natürlich dass es hier einen besseren Weg gibt das ganze auszuwerten.

Im Anhang mal eine Beispieldatei.

Vielen Dank schon Vorab

Herzliche Grüße
Sebastian


Angehängte Dateien
.xlsx   Datumsbereich - Beispiel.xlsx (Größe: 12,5 KB / Downloads: 16)
Antworten Top
#2
Moin

Code:
=WENN(SUMME((News[Beginn]<=[@[Datum Uhrzeit]])*(News[Ende]>=[@[Datum Uhrzeit]]));"JA";"")
Wir sehen uns!
... Detlef

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

Antworten Top
#3
Hi,

z.B. so:


.xlsx   Datumsbereich - Beispiel.xlsx (Größe: 13,42 KB / Downloads: 4)
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Antworten Top
#4
Hallo,

hier noch eine Alternative:
Wirft den News-Namen raus.
Formel in Tabellenblatt Auswertung in B2 einfügen.

Code:
=WENNFEHLER(INDEX(News[News Name];AGGREGAT(15;6;ZEILE(News[News Name])/([@[Datum Uhrzeit]]>=News[Beginn])/([@[Datum Uhrzeit]]<=News[Ende]);1)-1;1);"")
Antworten Top
#5
Vielen Dank für die Antworten und die tollen Lösungen. 
Grundsätzlich funktioniert es auch. Allerdings rechnet sich excel hier in volllast der gesamten CPU einen wolf. Ich vermute das die Berechnung auch ständig überprüft wird. Ok, es sind auch 20.000 zeilen die mit je 1600 Zeilen abgeglichen werden…. 
Gibt es eine Möglichkeit das es nur einmal berechnet wird und dann nicht mehr?
Denn aktuell ist die excel so nicht nutzbar. 

Dankeschön 

Gruß 
Sebastian
Antworten Top
#6
Hallo Sebastian

Formeln haben so ihre Tücken, sie laufen immer im Hintergrund mit, benötigen halt ihre Zeit.
Abschalten geht, Excel auf manuell stellen, dann steht aber alles auf manuell. Auch nicht sinnvoll!

Probiere es bitte mal mit meiner VBA Lösung, kopiere deine Daten mal in die Beispieldatei und schau bitte mal wie lange mein Makro für alle Zeilen braucht. Prüfe ob es auch alle Daten mit "Ja" findet. Fortschritt wird in 500er Schritten angezeigt.

Würde mich freuen wenn das eine akzeptabele Lösung ist. Leider ist es eine alte Excel 2003 Version. 
Wenn alles klappt kannst du das makro ja in deine Originaldatei kopieren. Sie muss dann als xlsm gespeichert werden

mfg Gast 123


Angehängte Dateien
.xls   Datumsbereich - Beispiel.xls (Größe: 35,5 KB / Downloads: 4)
Antworten Top
#7
Hi,

teste mal, ob das schneller ist...
Code:
=LET(b;News[Beginn];e;News[Ende];d;[@[Datum Uhrzeit]];f;FILTER(e;b<=d);NICHT(ISTFEHLER(FILTER(f;f>=d))))
Gruß,
Helmut

Win10 - Office365 / MacOS - Office365
Antworten Top
#8
Hei,

möglicherweise geht es mit einem Makro schneller. Sollen alle Zeiten aus news geprüft werden, oder jeweils nur ein Zeitraum?

Das Makro prüft nur News A, müsste also ggf. angepasst werden.

PHP-Code:
Option Explicit

Sub datum_und_zeit_finden
()
    Dim lZeile As Long
    Dim sDatum 
As Date
    Dim zDatum 
As Date
    sDatum 
Tabelle2.Cells(23)
    zDatum Tabelle2.Cells(24)
    For lZeile 2 To 10
        
If Tabelle1.Cells(lZeile1) > sDatum And Tabelle1.Cells(lZeile1) < zDatum Then Tabelle1.Cells(lZeile2) = "Ja"
    Next lZeile
End Sub 
Hoffe geholfen zu haben
Hubert
Antworten Top


Gehe zu:


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