Frage stellen
0

Warum zeigt LÄNGE() manchmal mehr Zeichen an als vorhanden?

gefragt 2021-01-16 19:14:00 +0200

Hrolf Gravatar-Bild

Für eine Tabelle mit Zeiten (u. a. Biathlonstaffeln) erstellte ich u. a. auch das Uhrzeitformat H:MM:SS,0. Da auch andere Werte vorkommen, gliederte ich die anschließende Berechnung nach ihrer Länge, zumindest war das der Plan [WENN(LÄNGE(H54)=9;...;...)]. Wenn ich nun aber diesen Befehl anwende, wird Falsches errechnet. Mit LÄNGE(H54) gibt er an, dass dies 18 Zeichen wären, obwohl ja nur die Hälfte davon zu sehen ist. Wäre ich sicher, dass das immer so ist, könnte ich damit leben, aber irgendwie verwundert es mich dann doch. Kann mir bitte jemand erklären, wie es dazu kommt?

Bearbeiten Tags ändern Melden schließen vereinen löschen

Kommentare

Ergänzend zu @Opaque und @RobertG: Vielleicht solltest du die Daten schlicht sortieren…anstatt zu versuchen Länge auf Fliesskommazahlen anzuwenden.

karolus Gravatar-Bildkarolus ( 2021-01-16 21:47:03 +0200 )Bearbeiten

2 Antworten

1

geantwortet 2021-01-16 20:07:33 +0200

Opaque Gravatar-Bild

updated 2021-01-16 23:44:50 +0200

Hallo,

Da solltest Du uns eine kleine Beispieldatei hier hochladen, dann kann Dir das sicher jemand am Beispiel erklären: Grundsätzlich kann man folgendes sagen: Eine Formatierung (z.B eben das H:MM:SS,0 ) bestimmt nicht den Inhalt einer Zelle, sondern nur wie Du den Inhalt angezeigt bekommst. Den Inhalt siehst Du so nicht, sondern den siehst Du in der Eingabezeile, wenn die Zelle ausgewählt ist. Und die Funktion LÄNGE() bestimmt die Länge des Inhaltes der Zelle und nicht der formatierten Anzeige. Falls der Inhalt der Zelle eine Formel ist, siehst Du als LÄNGE() die Länge des echten Ergebnisses der Formelauswertung und nicht die des formatierten Ergebnisses (oder gar die Länge der Formel).

Bearbeiten Melden löschen Link mehr

Kommentare

2

Ein Beispiel zu der Antwort (die ich auch geben wollte).

Bildbeschreibung

PKG Gravatar-BildPKG ( 2021-01-16 20:14:09 +0200 )Bearbeiten
2

geantwortet 2021-01-16 20:22:08 +0200

RobertG Gravatar-Bild

Die Funktion "LÄNGE" erwartet einen Text. Wenn ich in den Funktionsassistenten gehe, dann steht das dabei. Ansonsten gibt sie eben die Anzahl der einzelnen Ziffern wieder.

=LÄNGE(TEXT(A1;"[H]:MM:SS"))

Das gibt dann die tatsächliche Länge der angegebenen Zeit wieder. Es ermittelt für eine Zeit wie 9:00:00 die Länge 7. Es ermittelt auch für eine Zeitanzeige von 09:00:00 die Länge 7, weil das in der Formel angegebene Format zählt.

Bearbeiten Melden löschen Link mehr

Kommentare

Da ich die Berechnung auch für Felder mit Zeiten im Bereich unter einer Stunde (welche ich irrtümlich zwei Zeichen kürzer wähnte) anwenden wollte, hilft mir dieser Tipp leider nicht direkt weiter. Aber ich kann beim Eingeben ja ein Apostroph davorsetzen (und es so zum Text machen), was die Verarbeitung auch nur geringfügig aufwändiger gestaltet. Vielen Dank für Ihre Bemühung.

Hrolf Gravatar-BildHrolf ( 2021-01-16 20:40:57 +0200 )Bearbeiten

@Hrolf

Aber ich kann beim Eingeben ja ein Apostroph davorsetzen

Das ist eine ganz schlechte Idee, denn dann ist eine Zeit keine Zeit im Sinne von Calc mehr, sondern bloßer Text mit dem nicht mehr gerechnet werden kann. Wenn Du dann die Zeiten aus zwei Riesenslalom-Durchgängen addieren willst dann ... Nada, niente, das geht dann nicht mehr.


Die Idee dieser Antwort ist aber grade aus dem Inhalt der Zelle über die Funktion TEXT() und die darin enthaltene Formatangabe "[H]:MM:SS" einen Text fester Länge (=7) zu machen. Damit ist im Sinne meiner Antwort oben, genau das erreicht was dort steht: Falls der Inhalt der Zelle eine Formel ist, siehst Du als LÄNGE() die Länge des echten Ergebnisses der Formelauswertung. Eine andere Frage bleibt, ob Du einen andere Formatangabe benötigst die z.B. auch Zehntelsekunden ("[H]:MM:SS,0" - Länge=9) und/oder Hundertstel-Sekunden ("[H]:MM:SS,00" - Länge=10) enthalten soll.

Opaque Gravatar-BildOpaque ( 2021-01-17 00:00:14 +0200 )Bearbeiten
Registrieren oder einloggen, um zu antworten

Antwortwerkzeuge

1 Beobachter

Statistik

Gefragt: 2021-01-16 19:14:00 +0200

Angesehen: 53 Mal

Aktualisiert: Jan 16