Clever-Excel-Forum

Normale Version: Sverweis mit Uhrzeiten
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
[attachment=31238]Hallo,

ich habe nun schon einiges versucht jedoch haben alle Ideen und Tipps aus dem WWW nichts gebracht.

Ich habe eine Exceldatei (stark verschlankte Version angehängt) welche täglich ein neues Datenblatt generiert (ist ne Vorgabe) und dort Diagramme von Kennzahlen erstellt.
Die Personen die damit arbeiten, kopieren einen Datensatz aus einer Datenbank in vordefinierte Bereiche (in der Beispieldatei gelb hinterlegt im rechten Teil des Blatts). Dort sind Daten der einzelnen Stunden des Tags hinterlegt. Zwei Auswertungstabellen greifen auf diese Daten an verschiedenen Stellen zurück und verarbeitet diese weiter. Hieraus generieren sich Diagramme.

Die Auswertungstabellen sollen sich mittels Sverweis-Funktionen die richtigen Daten (Suchkriterium Uhrzeit) aus der Ausgangstabelle suchen da die Einträge hier variieren. Mit meinen Sverweis-Funktionen klappt dies aber nicht. In manchen Feldern wird der richtige Wert ausgegeben, in anderen gar nichts, in wieder anderen falsche Werte.

Die Ursache scheint bei den Uhrzeiten zu liegen (vermute ich). Sind ja eigentlich Dezimalzahlen. Das Problem ist dass ich hier schon einiges versucht habe um dieses Problem in den Griff zu kriegen (z.B. =Runden, Format anpassen, Zellen mit Uhrzeiten kopieren etc.)

nichts hat zufriedenstellend geholfen.

Ich hoffe ich habs nachvollziehbar beschrieben und es hat jemand eine Lösung.

Danke im Voraus
Hallo Blacko,

Uhrzeiten in Excel sind ja Dezimalbrüche zwischen 0 und 1. Excel kann aber nur 15 Stellen signifikant anzeigen und verarbeiten. Sobald du Zeiten addierst und/oder subtrahierst hast du schon das Problem mit der Gleitkommarechnung. So einem Dezimalbruch in einem SVerweis() zu verwenden, ist ein reines Glücksspiel (mal geht's - mal nicht). Möglichst vermeiden!

Verwende statt dessen GANZZAHLEN! Du kannst jede Uhrzeit in Ganzzahlen umrechnen. Der Tag hat 1440 Minuten oder 86400 Sekunden (je nach benötigter Genauigkeit). D.h. 11:00 = 660; 11:01=661 oder falls sekundengenau: 11:00:00 = 39600; 11:00:01 = 39601. Keine Dezimalbrüche mehr! Du kannst nach Belieben addieren und subtrahieren und am Ende das Ergebnis (xxx / 1440 bzw. yyyy / 86400) ins Excelformat zurück rechnen. Du erreichst immer eine Punktlandung.

In deiner Matrix ist mir aufgefallen, dass die Zeiten 11:00 und 19:00 nicht vorhanden sind, also auch nichts gefunden werden kann.

Sigi
Moin

Alternativ runden oder verwenden von TEXT().
Code:
=WENNFEHLER(INDEX($AJ$48:$AJ$60;VERGLEICH(TEXT(C4;"hhmm");TEXT($AH$48:$AH$60;"hhmm");0))+INDEX($AL$48:$AL$60;VERGLEICH(TEXT(C4;"hhmm");TEXT($AH$48:$AH$60;"hhmm");0))+INDEX($AN$48:$AN$60;VERGLEICH(TEXT(C4;"hhmm");TEXT($AH$48:$AH$60;"hhmm");0));"")
Hallo,

erstmal danke für die zwei Lösungswege, die ich jedoch erstmal ausprobieren muss.

klingt auf jeden Fall so als könnte es mich weiterbringen.

@Sigi, ja die Uhrzeiten fehlen. Das ist auch richtig so. Daher muss ich das über einen Sverweis lösen, denn es können immer mal wieder einzelne Zeiten nicht dabei sein, das ändert sich aber täglich und somit stehen die Werte für 11:00 nicht immer in der selben Zeile.


Gruß
Hallo,

also ich hab es nun über umrechnen in Ganzzahlen gelöst, eigentlich wieder mal simpler als zuerst vermutet.

Bisher sieht das ganz gut aus, ich muss da aber noch ein paar Tage testen.

Also vielen Dank für die Hilfe.

Gruß