Hilfe:Nützliche Datenumwandlungen in Tabellenblättern (Excel, LibreOffice): Unterschied zwischen den Versionen

Aus WIPs-De Datenwiki
K (Formeltext mit weniger Kästen, schlichter)
K (Gestaltung gruppierter)
Zeile 7: Zeile 7:


Die Berechnung ergibt sich sinngemäß
Die Berechnung ergibt sich sinngemäß
<pre style="border: 0 none;background-color: transparent;">
<pre style="background-color: transparent;border: 0 none;">
=Gradzahl + Minutenzahl/60 + Sekundenzahl/3600
=Gradzahl + Minutenzahl/60 + Sekundenzahl/3600
</pre>
</pre>
Zeile 15: Zeile 15:


''Dezimalgrad:''
''Dezimalgrad:''
<pre style="border: 0 none;background-color: transparent;">
<pre style="background-color: transparent;border: 0 none;">
=ZAHLENWERT(TEIL(A2; 1; SUCHEN(UNIZEICHEN(176);A2;1) - LÄNGE(UNIZEICHEN(176))))
=ZAHLENWERT(TEIL(A2; 1; SUCHEN(UNIZEICHEN(176);A2;1) - LÄNGE(UNIZEICHEN(176))))
</pre>
</pre>


''Minuten in Dezimalzahl:'' (falls <code>′</code> unauffindbar, dann <code>0</code> zurückgeben, andernfalls Textbereich finden und Zahl ausrechnen)
''Minuten in Dezimalzahl'' (falls <code>′</code> unauffindbar, dann <code>0</code> zurückgeben, andernfalls Textbereich finden und Zahl ausrechnen):
<pre style="border: 0 none;background-color: transparent;">
<pre style="background-color: transparent;border: 0 none;border-left:1px dotted gray;">
=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)
</pre>
<div class="mw-collapsible mw-collapsed">
Dieselbe Formel eingerückt gegliedert …
<div class="mw-collapsible-content" style="padding-left:0.5em;border-bottom:1px solid gray;border-left:1px dotted gray;">
<pre style="border: 0 none;background-color: transparent;">
=WENN(
=WENN(
   ISTFEHL(SUCHEN(UNIZEICHEN(8242);A2;1));
   ISTFEHL(SUCHEN(UNIZEICHEN(8242);A2;1));
Zeile 38: Zeile 32:
)
)
</pre>
</pre>
</div></div>
… textverdichtet ohne Zeilenumbrüche:
<pre style="background-color: transparent;font-size:smaller;border: 0 none;border-left:1px dotted gray;border-bottom:1px solid gray;">
=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)
</pre>


''Sekunden in Dezimalzahl:''  (falls <code>′</code> unauffindbar, dann <code>0</code> zurückgeben, andernfalls Textbereich finden und Zahl ausrechnen)
''Sekunden in Dezimalzahl:''  (falls <code>′</code> unauffindbar, dann <code>0</code> zurückgeben, andernfalls Textbereich finden und Zahl ausrechnen)


<pre style="border: 0 none;background-color: transparent;">
<pre style="background-color: transparent;border: 0 none;border-left:1px dotted gray;">
=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)
</pre>
 
<div class="mw-collapsible mw-collapsed">
Dieselbe Formel eingerückt gegliedert …
<div class="mw-collapsible-content" style="padding-left:0.5em;border-bottom:1px solid gray;border-left:1px dotted gray;">
<pre style="border: 0 none;background-color: transparent;">
=WENN(
=WENN(
   ISTFEHL(SUCHEN(UNIZEICHEN(8243);A2;1));
   ISTFEHL(SUCHEN(UNIZEICHEN(8243);A2;1));
Zeile 61: Zeile 51:
)
)
</pre>
</pre>
</div></div>
… textverdichtet ohne Zeilenumbrüche:
<pre style="background-color: transparent;font-size:smaller;border: 0 none;border-left:1px dotted gray;border-bottom:1px solid gray;">
=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)
</pre>


<div class="mw-collapsible mw-collapsed">
<div class="mw-collapsible mw-collapsed">
'''Zusammenfassend:''' Man kann diese Drei Formeln dann zusammenfügen, und noch eine <code>ISTLEER()</code>-Prüfung voranstellen, falls keine Zellwerte vorhanden sind, und endlich ergänzen wir noch die Himmelsrichtung, vermittels <code>& "N"</code> (siehe Ausklappkasten rechts) …
'''Zusammenfassend:''' Man kann diese Drei Formeln dann zusammenfügen, und noch eine <code>ISTLEER()</code>-Prüfung voranstellen, falls keine Zellwerte vorhanden sind, und endlich ergänzen wir noch die Himmelsrichtung, vermittels <code>& "N"</code> (siehe Ausklappkasten rechts) …
<div class="mw-collapsible-content" style="padding-left:0.5em;border-bottom:1px solid gray;border-left:1px dotted gray;">
<div class="mw-collapsible-content" style="padding-left:0.5em;border-bottom:1px solid gray;border-left:1px dotted gray;">
<pre style="border: 0 none;background-color: transparent;">
<pre style="background-color: transparent;border: 0 none;">
=WENN(
=WENN(
   ISTLEER(A2);
   ISTLEER(A2);
Zeile 97: Zeile 90:
… oder dichter verfügt, ohne Zeilenumbrüche:
… oder dichter verfügt, ohne Zeilenumbrüche:


<pre style="border: 0 none;background-color: transparent;">
<pre style="background-color: transparent;border: 0 none;">
=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"
=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"
</pre>
</pre>
Zeile 110: Zeile 103:
{{Anker|Umrechnung-Dezimalkoordinate-in-Grad-Minuten-Sekunden|anzeigen=ja}} &nbsp;&nbsp; Aus der Dezimalkoordinate <code>54,2256160</code> (festgelegt als Zahlen-Datenzelle in <code>A2</code>) berechnet sich die Grad-Minuten-Sekunden Koordinate z.B. <code>54° 13′ 32,2176000000081″</code> vermittels der Beispielformel:
{{Anker|Umrechnung-Dezimalkoordinate-in-Grad-Minuten-Sekunden|anzeigen=ja}} &nbsp;&nbsp; Aus der Dezimalkoordinate <code>54,2256160</code> (festgelegt als Zahlen-Datenzelle in <code>A2</code>) berechnet sich die Grad-Minuten-Sekunden Koordinate z.B. <code>54° 13′ 32,2176000000081″</code> vermittels der Beispielformel:


<pre style="border: 0 none;background-color: transparent;">
<pre style="background-color: transparent;border: 0 none;border-left:1px dotted gray;">
=GANZZAHL(A2) & UNIZEICHEN(176)
=GANZZAHL(A2) & UNIZEICHEN(176)
& " "
& " "
Zeile 123: Zeile 116:
</pre>
</pre>


oder etwas verdichteter:
textverdichtet ohne Zeilenumbrüche:
 
<pre style="background-color: transparent;font-size:smaller;border: 0 none;border-left:1px dotted gray;border-bottom:1px solid gray;">
<pre style="border: 0 none;background-color: transparent;">
=GANZZAHL(A2)&UNIZEICHEN(176)&" "&GANZZAHL((A2-GANZZAHL(A2))*60)&UNIZEICHEN(8242)&" "&TEXT(((A2-GANZZAHL(A2))*60-GANZZAHL((A2-GANZZAHL(A2))*60))*60;"0,0000")&UNIZEICHEN(8243)
=GANZZAHL(A2)&UNIZEICHEN(176)&" "&GANZZAHL((A2-GANZZAHL(A2))*60)&UNIZEICHEN(8242)&" "&TEXT(((A2-GANZZAHL(A2))*60-GANZZAHL((A2-GANZZAHL(A2))*60))*60;"0,0000")&UNIZEICHEN(8243)
</pre>
</pre>
Zeile 131: Zeile 123:
Beispielformel für Englische Punktzahl:
Beispielformel für Englische Punktzahl:


<pre style="border: 0 none;background-color: transparent;">
<pre style="background-color: transparent;border: 0 none;border-left:1px dotted gray;">
=GANZZAHL(A2) & UNIZEICHEN(176)
=GANZZAHL(A2) & UNIZEICHEN(176)
& " "
& " "
Zeile 143: Zeile 135:
</pre>
</pre>


oder etwas verdichteter:
textverdichtet ohne Zeilenumbrüche:
 
<pre style="background-color: transparent;font-size:smaller;border: 0 none;border-left:1px dotted gray;border-bottom:1px solid gray;">
<pre style="border: 0 none;background-color: transparent;">
=GANZZAHL(A2)&UNIZEICHEN(176)&" "&GANZZAHL((A2-GANZZAHL(A2))*60)&UNIZEICHEN(8242)&" "&WECHSELN(TEXT(((A2-GANZZAHL(A2))*60-GANZZAHL((A2-GANZZAHL(A2))*60))*60;"0,0000");",";".")&UNIZEICHEN(8243)
=GANZZAHL(A2)&UNIZEICHEN(176)&" "&GANZZAHL((A2-GANZZAHL(A2))*60)&UNIZEICHEN(8242)&" "&WECHSELN(TEXT(((A2-GANZZAHL(A2))*60-GANZZAHL((A2-GANZZAHL(A2))*60))*60;"0,0000");",";".")&UNIZEICHEN(8243)
</pre>
</pre>

Version vom 20. November 2024, 14:54 Uhr

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
)

… textverdichtet ohne Zeilenumbrüche:

=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
)

… textverdichtet ohne Zeilenumbrüche:

=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)

Zusammenfassend: Man kann diese Drei Formeln dann zusammenfügen, und noch eine ISTLEER()-Prüfung voranstellen, falls keine Zellwerte vorhanden sind, und endlich ergänzen wir noch die Himmelsrichtung, vermittels & "N" (siehe Ausklappkasten rechts) …

=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"

Vorarbeiten/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(…; "."; ",")

Umrechnung Dezimalkoordinate → Gradzahl° Minuten′ Sekunden″

📖    Aus der Dezimalkoordinate 54,2256160 (festgelegt als Zahlen-Datenzelle in A2) berechnet sich die Grad-Minuten-Sekunden Koordinate z.B. 54° 13′ 32,2176000000081″ vermittels der Beispielformel:

=GANZZAHL(A2) & UNIZEICHEN(176)
& " "
& GANZZAHL((A2-GANZZAHL(A2)) * 60) & UNIZEICHEN(8242)
& " "
& TEXT(
  (
    (A2-GANZZAHL(A2)) * 60 - GANZZAHL((A2-GANZZAHL(A2)) * 60)
  ) * 60;
  "0,0000"
) & UNIZEICHEN(8243)

… textverdichtet ohne Zeilenumbrüche:

=GANZZAHL(A2)&UNIZEICHEN(176)&" "&GANZZAHL((A2-GANZZAHL(A2))*60)&UNIZEICHEN(8242)&" "&TEXT(((A2-GANZZAHL(A2))*60-GANZZAHL((A2-GANZZAHL(A2))*60))*60;"0,0000")&UNIZEICHEN(8243)

Beispielformel für Englische Punktzahl:

=GANZZAHL(A2) & UNIZEICHEN(176)
& " "
& GANZZAHL((A2-GANZZAHL(A2)) * 60) & UNIZEICHEN(8242)
& " "
& WECHSELN(
  TEXT(((A2-GANZZAHL(A2)) * 60-GANZZAHL((A2-GANZZAHL(A2)) * 60)) * 60; "0,0000");
  ",";
  "."
) & UNIZEICHEN(8243)

… textverdichtet ohne Zeilenumbrüche:

=GANZZAHL(A2)&UNIZEICHEN(176)&" "&GANZZAHL((A2-GANZZAHL(A2))*60)&UNIZEICHEN(8242)&" "&WECHSELN(TEXT(((A2-GANZZAHL(A2))*60-GANZZAHL((A2-GANZZAHL(A2))*60))*60;"0,0000");",";".")&UNIZEICHEN(8243)

Für einzelne Grad, Minuten, Sekunden sind es die folgenden Formeln:

  • nur Grad-Umrechnung: GANZZAHL(A2) oder textformatiert GANZZAHL(A2) & UNIZEICHEN(176) – wobei der Grad-Dezimalrest sich aus (A2-GANZZAHL(A2)) ergibt, mit dem weitergerechnet werden kann
  • nur Minuten-Umrechnung, textformatiert GANZZAHL((A2-GANZZAHL(A2)) * 60) & UNIZEICHEN(8242)
  • nur Sekunden-Umrechnung, textformatiert: ((A2-GANZZAHL(A2)) * 60 - GANZZAHL((A2-GANZZAHL(A2)) * 60)) * 60 & UNIZEICHEN(8243)

Vorarbeiten/Nacharbeiten:

  • Um den Zellentext z.B. 54,2256160N ungeachtet der Himmelsrichtungen (N, S, O, W) in eine Zahl verrechnen lassen zu können, SOLLTE der betreffende Text ersetzend bereinigt werden, z.B. vermittels WECHSELN(…;"N";"") oder ausdrücklch als Zahlenwert formatieren vermittels ZAHLENWERT(WECHSELN(…;"N";"");",").