Hilfe:Nützliche Datenumwandlungen in Tabellenblättern (Excel, LibreOffice)

Aus WIPs-De Datenwiki
Version vom 20. November 2024, 12:50 Uhr von AndreasPlank (Diskussion | Beiträge) (erste Hilfestellung (Umrechnung Gradzahl° Minuten′ Sekunden″ → Dezimalkoordinate))
(Unterschied) ← Abfassung vorher | Jetzige Abfassung (Unterschied) | Abfassung nachher → (Unterschied)

Umrechnung Gradzahl° Minuten′ Sekunden″ → Dezimalkoordinate

Zu beachten sei, daß die Gradzahl° Minuten′ Sekunden″ maßgeblich die richtigen Zeichen enthalten SOLLTEN:

  • …° ~ UNIZEICHEN(176)
  • …′ ~ UNIZEICHEN(8242)
  • …″ ~ UNIZEICHEN(8243)

Die Berechnung ergibt sich sinngemäß

=Gradzahl + Minutenzahl/60 + Sekundenzahl/3600

… siehe auch koordinaten-umrechner.de.

Für die Textteile kann man das Gradzahl-Zeichen ° im Zellentext A2 suchen, davor die Zahl befinden, und diese ausrechnen, und gleichfalls zum Minuten-Zeichen suchen usw., und zum Sekunden-Zeichen usw.. So ergeben sich für die Textstückchen folgende Formellösungen:

Dezimalgrad:

=ZAHLENWERT(TEIL(A2; 1; SUCHEN(UNIZEICHEN(176);A2;1) - LÄNGE(UNIZEICHEN(176))))

Minuten in Dezimalzahl: (falls unauffindbar, dann 0 zurückgeben, andernfalls Textbereich finden und Zahl ausrechnen)

=WENN(ISTFEHL(SUCHEN(UNIZEICHEN(8242);A2;1)); 0; ZAHLENWERT(TEIL(A2; SUCHEN(UNIZEICHEN(176);A2;1)+1; SUCHEN(UNIZEICHEN(8242);A2;1) - SUCHEN(UNIZEICHEN(176);A2;1) - LÄNGE(UNIZEICHEN(8242))))/60)

Selbe Formel eingerückt gegliedert …

=WENN(
  ISTFEHL(SUCHEN(UNIZEICHEN(8242);A2;1));
  0;
  ZAHLENWERT(
    TEIL(A2; 
      SUCHEN(UNIZEICHEN(176);A2;1) + 1;
      SUCHEN(UNIZEICHEN(8242);A2;1) - SUCHEN(UNIZEICHEN(176);A2;1) - LÄNGE(UNIZEICHEN(8242))
    )
  ) / 60
)

Sekunden in Dezimalzahl: (falls unauffindbar, dann 0 zurückgeben, andernfalls Textbereich finden und Zahl ausrechnen)

=WENN(ISTFEHL(SUCHEN(UNIZEICHEN(8243);A2;1));0;ZAHLENWERT(TEIL(A2; SUCHEN(UNIZEICHEN(8242);A2;1)+1; SUCHEN(UNIZEICHEN(8243);A2;1) - SUCHEN(UNIZEICHEN(8242);A2;1) - LÄNGE(UNIZEICHEN(8243))))/3600)

Selbe Formel eingerückt gegliedert …

=WENN(
  ISTFEHL(SUCHEN(UNIZEICHEN(8243);A2;1));
  0;
  ZAHLENWERT(
    TEIL(A2; 
      SUCHEN(UNIZEICHEN(8242);A2;1) + 1; 
      SUCHEN(UNIZEICHEN(8243);A2;1) - SUCHEN(UNIZEICHEN(8242);A2;1) - LÄNGE(UNIZEICHEN(8243))
    )
  ) / 3600
)

Diese Drei Formeln kann man dann zusammenfügen und noch eine ISTLEER()-Prüfung voranstellen, falls keine Werte vorhanden sind, und endlich ergänzen wir noch die Himmelsrichtung, vermittels & "N"

=WENN(
  ISTLEER(A2); 
  "";
  ZAHLENWERT(TEIL(A2; 1; SUCHEN(UNIZEICHEN(176);A2;1) - LÄNGE(UNIZEICHEN(176))))
  +
  WENN(
    ISTFEHL(SUCHEN(UNIZEICHEN(8242);A2;1));
    0;
    ZAHLENWERT(
      TEIL(A2; 
        SUCHEN(UNIZEICHEN(176);A2;1) + 1;
        SUCHEN(UNIZEICHEN(8242);A2;1) - SUCHEN(UNIZEICHEN(176);A2;1) - LÄNGE(UNIZEICHEN(8242))
      )
    ) / 60
  )
  +
  WENN(
    ISTFEHL(SUCHEN(UNIZEICHEN(8243);A2;1));
    0;
    ZAHLENWERT(
      TEIL(A2; 
        SUCHEN(UNIZEICHEN(8242);A2;1) + 1; 
        SUCHEN(UNIZEICHEN(8243);A2;1) - SUCHEN(UNIZEICHEN(8242);A2;1) - LÄNGE(UNIZEICHEN(8243))
      )
    ) / 3600
  )
) & "N"

… oder dichter verfügt, ohne Zeilenumbrüche:

=WENN( ISTLEER(A2); ""; ZAHLENWERT(TEIL(A2; 1; SUCHEN(UNIZEICHEN(176);A2;1) - LÄNGE(UNIZEICHEN(176)))) + WENN( ISTFEHL(SUCHEN(UNIZEICHEN(8242);A2;1)); 0; ZAHLENWERT( TEIL(A2; SUCHEN(UNIZEICHEN(176);A2;1) + 1; SUCHEN(UNIZEICHEN(8242);A2;1) - SUCHEN(UNIZEICHEN(176);A2;1) - LÄNGE(UNIZEICHEN(8242)) ) ) / 60 ) + WENN( ISTFEHL(SUCHEN(UNIZEICHEN(8243);A2;1)); 0; ZAHLENWERT( TEIL(A2; SUCHEN(UNIZEICHEN(8242);A2;1) + 1; SUCHEN(UNIZEICHEN(8243);A2;1) - SUCHEN(UNIZEICHEN(8242);A2;1) - LÄNGE(UNIZEICHEN(8243)) ) ) / 3600 ) ) & "N"

Nacharbeiten:

  • für englische Daten wird das Punkt-Komma benötigt, was man mit der Formel =WECHSELN(…; ","; ".") ersetzen lassen kann, und umgekehrt in mitteleuropäische Strich-Komma mit der Formel =WECHSELN(…; "."; ",")