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

Verweis Zeitraum mit Zeitpunkt

Verweis Zeitraum mit Zeitpunkt
03.05.2023 09:10:22
Christoph

Hi,

Problemstellung:

Datei 1 enthält diverse Daten sowie die Angabe eines Zeitraumes (z.B. 06:47:17 bis 06:52:04 Uhr).
Datei 2 enthält fixe Uhrzeiten sowie ebenfalls weitere Daten (z.B. 06:47:29).

Die fixe Uhrzeit aus Datei 2 (06:47:29) soll in Verbindung gesetzt werden zu dem Zeitraum in Datei 1 (06:47:17 bis 06:52:04).
So nach dem Motto: Falls die fixe Uhrzeit aus Datei 2 im Zeitraum aus Datei 1 liegt, dann gebe als Ergebnis den Wert aus Datei 2, Spalte C aus.

Beispieldatei anbei.
https://www.herber.de/bbs/user/159009.xlsx

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Verweis Zeitraum mit Zeitpunkt
03.05.2023 09:29:38
Daniel
Hi
wie soll denn das Ergebnis aussehen?
in Datei1 geht der erste Zeitraum von 6:47:17 bis 6:52:04
in Datei2 gibt es für diesen Zeitraum 14 verschiedene Werte.
da stellt sich die Frage, was du jetzt sehen willst:
- jeden Wert einzeln
- Mittelwert
- Minimum
- Maximum
Gruß Daniel


AW: Verweis Zeitraum mit Zeitpunkt
03.05.2023 09:54:59
Christoph
Danke für den Hinweis, Daniel. Es soll jeweils der erste Wert in dem Zeitraum angezeigt werden.


Formellösung
03.05.2023 11:28:38
Daniel
Hi
mit dieser Formel in Datei1!D3:

=WENN(INDEX('Datei 2'!$B$2:$B$261;VERGLEICH(B3-ZEIT(0;0;1)/2;'Datei 2'!$B$2:$B$261;1)+1)&ltB3; "keine Daten";INDEX('Datei 2'!$C$2:$C$261;VERGLEICH(B3-ZEIT(0;0;1)/2;'Datei 2'!$B$2:$B$261;1)+1)) 
für E3 dann einfach die Spalte C auf D ändern.

zusätzlich musst du in der Datei 2 Zelle B2 eine 0 eintragen, damit die Formel auch für die erste Zeile korrekt funktioniert
den Zellbereich musst anpassen, er muss soweit reichen wie in Datei2 Spalte B aufsteigend sortierte Zeitwerte vorliegen.

mit Excel 365 kannst du mit LET die Formel verkürzen (kann ich aber nicht testen)
=Let(Zeiten;'Datei 2'!$B$2:$B$261;x;VERGLEICH(B3-ZEIT(0;0;1)/2;Zeiten;1)+1;WENN(INDEX(Zeiten;x)&ltB3; "keine Daten";Index('Datei 2'!$C$2:$C$261;x))) 
Gruß Daniel


Anzeige
AW: Verweis Zeitraum mit Zeitpunkt
03.05.2023 10:00:51
Alwin WeisAngler
Hallo,
eine VBA Lösung mit allen zutreffenden Werten einschl. gleiche Werte direkter Weg über die Zellen der Tabelle wäre so:
Sub WerteEintragen()
    For i = 3 To 922
        For j = 3 To 922
            If CDate(Tabelle1.Cells(i, 2)) = CDate(Tabelle2.Cells(j, 2)) And CDate(Tabelle1.Cells(i, 3)) >= CDate(Tabelle2.Cells(j, 2)) Then
                varWert1 = varWert1 & ", " & Tabelle2.Cells(j, 3)
                Tabelle1.Cells(i, 4) = Mid(varWert1, 3, Len(varWert1))
                varWert2 = varWert2 & ", " & Tabelle2.Cells(j, 4)
                Tabelle1.Cells(i, 5) = Mid(varWert2, 3, Len(varWert2))
            End If
        Next j
        varWert1 = ""
        varWert2 = ""
    Next i
End Sub
Sollte nur der erste Treffer drin stehen dann muss die Schleife j mit Exit For verlassen werden
Sollte nur der letzte Wert drin stehen die varWert 1 und 2 direkt mit der Zielzelle zuweisen.
Mittelwert muss eine Zählvariable dazu kommen und die Trefferwerte addiert und nach Verlassen der j Schleife geteilt durch die Zählvariable der Zielzelle zugewiesen werden.
Die Wartezeit ohne Array ist noch verträglich. Besser wäre es mit Array zu erledigen.

Gruß Uwe


Anzeige
AW: Verweis Zeitraum mit Zeitpunkt
03.05.2023 10:05:44
Alwin WeisAngler
Ah, jetzt entdeckt also erster Wert dann so:


Sub WerteErsterTreffer()
    For i = 3 To 922
        For j = 3 To 922
            If CDate(Tabelle1.Cells(i, 2)) = CDate(Tabelle2.Cells(j, 2)) And CDate(Tabelle1.Cells(i, 3)) >= CDate(Tabelle2.Cells(j, 2)) Then
                Tabelle1.Cells(i, 4) = Tabelle2.Cells(j, 3)
                Tabelle1.Cells(i, 5) = Tabelle2.Cells(j, 4)
                Exit For
            End If
        Next j
    Next i
End Sub
Gruß Uwe


AW: Verweis Zeitraum mit Zeitpunkt
03.05.2023 10:29:28
Christoph
Tausend Dank! Hat funktioniert :)


Anzeige
noch eine Formellösung
03.05.2023 11:48:07
UweD
Hallo

Vorraussetzung ist, dass du die Zeitangaben auch als echte Zeiten verwendest
Bei dir ist es Text, der wie Zeit aussieht

- Formatiere die Spalten B und C als Zeit
- schreibe in eine leere Zelle eine 1
- kopiere diese Zelle
- markiere B und C
- Inhalte Einfügen und dort Multiplizieren anclicken




- Nun kannst du in D3 diese Formel einfügen (für Office 365)
- nach rechts in E3 kopieren und dann nach Unten

=INDEX(FILTER('Datei 2'!C$3:C$1000;('Datei 2'!$B$3:$B$1000>=$B3)*('Datei 2'!$B$3:$B$1000=$C3);"");1) 
LG UweD


Anzeige
AW: noch eine Formellösung
03.05.2023 11:56:36
UweD
Hallo nochmal

ohne die Umwandlung der Zeiten gehts so

Arbeitsblatt mit dem Namen 'Datei 1'
 ABCDE
1 ZeitraumWerte aus Datei 2,
Spalte C
Werte aus Datei 2,
Spalte D
2NEU_DATUMBEGINN_ZEITENDE_ZEITHerzfrequenzHöhenmeter
3Mrz 8, 202306:47:1706:52:04106111
4Mrz 8, 202306:48:0806:49:30106111
5Mrz 8, 202306:49:3006:49:3793112
6Mrz 8, 202306:49:3706:50:16100112
7Mrz 8, 202306:50:1606:50:24  
8Mrz 8, 202306:50:2406:50:35106113
9Mrz 8, 202306:50:3506:51:45107112
10Mrz 8, 202306:51:4506:52:02107113
11Mrz 8, 202306:52:0206:52:39107113
12Mrz 8, 202306:52:0406:52:17107113
13Mrz 8, 202306:52:1706:52:27  
14Mrz 8, 202306:52:2806:52:4299113
15Mrz 8, 202306:52:3906:53:0892113
16Mrz 8, 202306:52:4206:52:55  
17Mrz 8, 202306:52:5506:52:5992113
18Mrz 8, 202306:52:5906:53:04  
19Mrz 8, 202306:53:0406:53:2896113
20Mrz 8, 202306:53:0806:54:0796113
21Mrz 8, 202306:53:2806:53:33  

ZelleFormel
D3=INDEX(FILTER('Datei 2'!C$3:C$1000;(--'Datei 2'!$B$3:$B$1000>=(--$B3))*(--'Datei 2'!$B$3:$B$1000=(--$C3));"");1)


LG UweD

Anzeige

169 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige