Hilfe:Nützliche Datenumwandlungen in Tabellenblättern (Excel, LibreOffice): Unterschied zwischen den Versionen
K (Leerzeichen) |
|||
| (27 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
__INHALTSVERZEICHNIS__ | |||
== Tabellen verknüpfend nutzen == | |||
Die Berechnung ergibt sich sinngemäß | === Einzelwerte XVERWEIS() selbtätig übersetzen lassen === | ||
{{Anker|XVERWEIS-Einzelwerte-selbtaetig-uebersetzen-lassen|anzeigen=ja}} In der gedachten Beispieltabelle „<span style="color:brown">Sammeldaten</span>“ soll die Spalte „geschätzte Hangneigung“ inhaltlich so bleiben, aber für einen Bericht sollen die Werte selbtätig in festgelegte Werte übersetzt werden – die eingetragene Werte seien diese: | |||
{| class="tabellenblatt" | |||
|- class="anzeige-zell-spalten" | |||
| || || || | |||
|- | |||
| | |||
! … | |||
! geschätzte Hangneigung | |||
! … | |||
|- | |||
| || … || 0-5% || … | |||
|- | |||
| || … || 11-20% || … | |||
|- | |||
| || … || 0-5% || … | |||
|} | |||
<div style="display:inline-block;margin-left:1em;border:2px solid #ccc;border-top:0 none;font-weight:bold; padding: 0 0.5em;color:brown"> Sammeldaten</div> | |||
In einer gesonderten <span style="color:green">Übersetzungstabelle</span> ordnet man die in eigenen Daten vorhandenen Werte in eine Zeile ein, und darunter gewissermaßen die gewünschten Übersetzungswerte zugeordnet drunter, die man übersetzen lassen will, dies können auch Übersetzungen in andere Sprachen sein, je nach Belieben: | |||
{| class="tabellenblatt" | |||
|- class="anzeige-zell-spalten" | |||
| || || || || || || || || || || | |||
|- | |||
| | |||
! style="text-align:left" | Feldbeschreibung | |||
! Wert1 | |||
! Wert2 | |||
! Wert3 | |||
! Wert4 | |||
! Wert5 | |||
! Wert6 | |||
! Wert7 | |||
! Wert8 | |||
! … | |||
|- | |||
| | |||
| exposition | |||
| N | |||
| S | |||
| E | |||
| W | |||
| NE | |||
| NW | |||
| SE | |||
| SW | |||
| | |||
|- | |||
| | |||
| vorherrschende Himmelsrichtung<br>(ersetzt) | |||
| N | |||
| S | |||
| O | |||
| W | |||
| NO | |||
| NW | |||
| SO | |||
| SW | |||
| | |||
|- | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
|- | |||
| | |||
| Hangneigung | |||
| style="color:blue" | Keine Angabe | |||
| style="color:blue" | 0-5% | |||
| style="color:blue" | 6-10% | |||
| style="color:blue" | 11-20% | |||
| style="color:blue" | 21-30% | |||
| style="color:blue" | >30% | |||
| | |||
| | |||
| | |||
|- | |||
| | |||
| Hangneigung (ersetzt) | |||
| style="color:green" | n.a. (nichts angegeben) | |||
| style="color:green" | Eben (0-5%) | |||
| style="color:green" | Wellig (6-10%) | |||
| style="color:green" | Hügelig (11-20%) | |||
| style="color:green" | Moderat (21-30%) | |||
| style="color:green" | Steil (>30%) | |||
| | |||
| | |||
| | |||
|- | |||
| | |||
| Slope (return values) | |||
| n.a. (not available) | |||
| level (0-5%) | |||
| wavy (6-10%) | |||
| rolling (11-20%) | |||
| moderate (21-30%) | |||
| steep (>30%) | |||
| | |||
| | |||
| | |||
|} | |||
<div style="display:inline-block;margin-left:1em;border:2px solid #ccc;border-top:0 none;font-weight:bold; padding: 0 0.5em;color:green"> Datenwertübersetzung</div> | |||
Das selbtätige Suchen und zugeordnete Übersetzen kann in <code>XVERWEIS()</code> allgemein so erwirkt werden: | |||
<div class="pre-schlicht"> | |||
XVERWEIS(<span style="color:brown">HIERWERT-suchen</span>; <span style="color:green">Übersetzung.</span><span style="color:blue">SUCH-Bereich</span>; <span style="color:green">Übersetzung.</span><span style="color:green">GEFUNDEN-Bereich</span>(=Rückgabe); falls-nich-gefunden) | |||
</div> | |||
… und in der Bericht-Beispieltabelle … | |||
<table><!-- | |||
--><tr><!-- | |||
--><td> | |||
{| class="tabellenblatt" | |||
|- class="anzeige-zell-spalten" | |||
| | |||
| | |||
| style="background-color:green" | | |||
| | |||
|- | |||
| | |||
! … | |||
! Hangneigung | |||
! … | |||
|- | |||
| style="background-color:green" | | |||
| … | |||
| Eben (0-5%) | |||
| … | |||
|- | |||
| || … || Hügelig (11-20%) || … | |||
|- | |||
| || … || Eben (0-5%) || … | |||
|} | |||
<div style="display:inline-block;margin-left:1em;border:2px solid #ccc;border-top:0 none;font-weight:bold; padding: 0 0.5em;"> Bericht </div> | |||
</td><!-- | |||
--><td> | |||
… genauer in Zelle <code>Bericht.B2</code> kommt die Formel dann zur Wirkung, beispielsweise | |||
* notfalls mit unübersetzten ''Ursprungswerten'', oder | |||
* notfalls stattdessen bewußt ein <span style="color:#b36c24">''?''</span> (Fragezeichen um Übersetzungsfehler sichtbarer zu zeigen): | |||
<div class="pre-schlicht"> | |||
=XVERWEIS(<span style="color:brown">Sammeldaten</span>!B2; <span style="color:green">Datenwertübersetzung</span>!<span style="color:blue">$B$5:$G$5</span>; <span style="color:green">Datenwertübersetzung</span>!<span style="color:green">$B$6:$G$6</span>; ''Sammeldaten!B2'') | |||
=XVERWEIS(<span style="color:brown">Sammeldaten</span>!B2; <span style="color:green">Datenwertübersetzung</span>!<span style="color:blue">$B$5:$G$5</span>; <span style="color:green">Datenwertübersetzung</span>!<span style="color:green">$B$6:$G$6</span>; <span style="color:#b36c24">"?"</span>) | |||
</div> | |||
</td><!-- | |||
--></tr><!-- | |||
--></table> | |||
… und ergänzen kann man die Formel umschließend noch mit einer <code>ISTLEER(…)</code>-Prüfung, um Leerwerte fehlerfrei auch wieder Leerwerte sein zu lassen (sonst würde XVERWEIS() <code>0</code> ergeben): | |||
<div class="pre-schlicht"> | |||
=WENN(ISTLEER(<span style="color:brown">Sammeldaten</span>!B2);""; XVERWEIS(…) ) | |||
</div> | |||
Dasselbe läßt sich bewirken für englische Übersetzungen. | |||
Wir können die Formel auch etwas verständlicher (be)schreiben, indem wir <code>LET(Bezeichnung1; Wert1OderBerechnung1; Bezeichnung2OderBerechnung2; Wert2OderBerechnung2; …3; …3; …)</code> schreiben, wie folgt (wobei die Zeilenumbrüche unnötig sind und hier nur der verbesserten Lesbarkeit dienen sollen): | |||
<div class="pre-schlicht"> | |||
=LET(<br> <span style="color:brown">ZellenWert</span>; ''Sammeldaten!B2;''<br> <span style="color:blue">ÜbersetzungsSuchBereich</span>; ''Datenwertübersetzung!$B$5:$G$5'';<br> <span style="color:green">ÜbersetzungGefundenBereich</span>; ''Datenwertübersetzung!$B$6:$G$6'';<br> <span style="color:#b36c24">ErgebnisFallsNichtsGefunden</span>; ''"?"'';<br> XVERWEIS(<span style="color:brown">ZellenWert</span>; <span style="color:blue">ÜbersetzungsSuchBereich</span>; <span style="color:green">ÜbersetzungGefundenBereich</span>; <span style="color:#b36c24">ErgebnisFallsNichtsGefunden</span>)<br>) | |||
</div> | |||
=== Fortlaufende Beobachtungen mit XVERWEIS() auf die Ansiedlungsstätte === | |||
{{Anker|XVERWEIS-Ansiedlungsstaette-und-Beobachtungen-verbinden|anzeigen=ja}} Weitergedacht läßt sich <code>XVERWEIS(…)</code> beim Zusammenschluß von Einzeltabellen anwenden – z.B. für Zeitreihen, wo es eine Stätte, Örtlichkeit gibt, die ja am Ort verbleibt, und die Zeitreihe, in der fortlaufende Beobachtungen zum Zeitpunkt-„X“ aufgenommen werden. Ein Beispiel sei die Ansiedlungsstätte einer Art (=Ortsbeschreibung), und die danachfolgende zeitlichen Beobachtungen ihres Gedeihens (=Zeitreihe). Die Beispieltabelle <span style="color:green">Ansiedlungsstätte</span> legte einen gemeinsamen eineinzigen Datenschlüssel fest, der später Tabellen verknüpfen läßt, und nebenbei beliebige Zusatzeigenschaften (Kennzeichnung, Jahr, Artname, Bundesland, Ortsname, Koordinaten usw.): | |||
{| class="tabellenblatt" | |||
|- class="anzeige-zell-spalten" | |||
| || || || || || | |||
|- | |||
| | |||
! Gemeinsamer Datenschlüssel (eineinzig) | |||
! Kennzeichnung | |||
! Jahr der Ansiedlung | |||
! Artname | |||
! … | |||
|- | |||
| | |||
| style="color:#ffa500;" | POTSD-104; Lysimachia nemorum | |||
| POTSD-104 | |||
| 2019 | |||
| Lysimachia nemorum | |||
| … | |||
|- | |||
| | |||
| style="color:#ffa500;" | POTSD-106; Scabiosa canescens | |||
| POTSD-106 | |||
| 2019 | |||
| Scabiosa canescens | |||
| … | |||
|- | |||
| | |||
| style="color:#ffa500;" | POTSD-112; Arnoseris minima | |||
| POTSD-112 | |||
| 2020 | |||
| Arnoseris minima | |||
| … | |||
|- | |||
| || … || … || … || … || … | |||
|} | |||
<div style="display:inline-block;margin-left:1em;border:2px solid #ccc;border-top:0 none;font-weight:bold; padding: 0 0.5em;color:green"> Ansiedlungsstätte </div> | |||
Anhand eines gemeinsam gewählten <span style="color:#ffa500;">Datenschlüssels</span>, den wir einzig in <span style="color:green">Ansiedlungsstätte</span> festlegen, können wir diesen wiederum in einer zweiten Tabelle <span style="color:blue">Beobachtungen_fortlaufend</span> verwenden, um verschiedenste Beobachtungen fortlaufend über die Zeit zu beschreiben, und in dieser können wir nach Belieben Spalten aus Ansiedlungen (=Ortsbeschreibung und eingepflanzte Art) zusammenholen, und mit den eigentlichen Beobachtungen weiterführen: | |||
{| class="tabellenblatt" | |||
|- class="anzeige-zell-spalten" | |||
| || || || || || || || || || | |||
|- | |||
| | |||
! style="color:#008000;" | Gemeinsamer Datenschlüssel (Ansiedlunggsstätte) | |||
! style="color:#008000;" | Kennzeichnung (Ansiedlungsstätte) | |||
! style="color:#008000;" | Schutzstatus (Ansiedlungsstätte) | |||
! style="color:#008000;" | Art der Maßnahme (Ansiedlungsstätte) | |||
! style="color:#008000;" | Art (Ansiedlungsstätte) | |||
! style="color:#0000ff;" | Datum (Beobachtung) | |||
! style="color:#0000ff;" | Anzahl reproduktiver Einheiten | |||
! style="color:#0000ff;" | Anzahl vegetativer Einheiten | |||
! style="color:#0000ff;" | … | |||
|- | |||
| | |||
| style="color:#ffa500;" | POTSD-104; Lysimachia nemorum | |||
| style="color:#008000;" | POTSD-104 | |||
| style="color:#008000;" | NSG | |||
| style="color:#008000;" | Wiederansiedlung | |||
| style="color:#008000;" | Lysimachia nemorum | |||
| style="color:#0000ff;" | 07.05.2020 | |||
| style="color:#0000ff;" | 13 | |||
| style="color:#0000ff;" | 14 | |||
| style="color:#0000ff;" | … | |||
|- | |||
| | |||
| style="color:#ffa500;" | POTSD-106; Scabiosa canescens | |||
| style="color:#008000;" | POTSD-106 | |||
| style="color:#008000;" | NSG | |||
| style="color:#008000;" | Populationsstützung | |||
| style="color:#008000;" | Scabiosa canescens | |||
| style="color:#0000ff;" | 21.07.2020 | |||
| style="color:#0000ff;" | 0 | |||
| style="color:#0000ff;" | 0 | |||
| style="color:#0000ff;" | … | |||
|- | |||
| | |||
| … | |||
| style="color:#008000;" | … | |||
| style="color:#008000;" | … | |||
| style="color:#008000;" | … | |||
| style="color:#008000;" | … | |||
| style="color:#0000ff;" | … | |||
| style="color:#0000ff;" | … | |||
| style="color:#0000ff;" | … | |||
| style="color:#0000ff;" | … | |||
|} | |||
<div style="display:inline-block;margin-left:1em;border:2px solid #ccc;border-top:0 none;font-weight:bold; padding: 0 0.5em;color:blue"> Beobachtungen_fortlaufend </div> | |||
Beide Tabellen kann man nun über XVERWEIS zusammenwerkeln, in Zelle <code style="color:green" >B2</code> schreibt man sinngemäß wie folgt: | |||
<div class="pre-schlicht"> | |||
=XVERWEIS(<span style="color:#ffa500;">Datenschlüssel</span>; <span style="color:#008000;">Ansiedlungsstätte</span>.<span style="color:#ffa500;">Datenschlüssel</span>; <span style="color:#008000;">Ansiedlungsstätte</span>.gewünschte-Rückgabe-Spalte; falls-nicht-gefunden-Hilfetext) | |||
=XVERWEIS(<span style="color:#ffa500;">$A2</span>; <span style="color:#008000;">Ansiedlungsstätte</span>!<span style="color:#ffa500;">$A$2:$A$100</span>; <span style="color:#008000;">Ansiedlungsstätte</span>!$B$2:$B$100; 'Hilfstabelle-Meldungen'!$A$2) | |||
</div> | |||
Dieses Absondern sich wiederholender Informationen in gesonderte Tabellen, und das über XVERWEIS() verbindenede wieder zusammenfügen, verhindert, daß man händisch Daten übermäßig vielfacht, und sich Dokumentationslücken, Verfehlungen und Kopierfehler einschleichen können. In einer Zusatztabelle „Auswertungen“ könnte man dann mit einer datenauswertenden Gliedertabelle/Pivot-Tabelle sich aus den Beobachtungen gewünschte Auswertungen zusammenfügen, je nachdem, welcher Forschungsfrage man nachgehen will. Auf diese Weise bekommen der Ort, die Beobachtung, und die nachherige Auswertung ihren eigenen Tabellenbereich. Die Einzeltabellen können ihrerseits auch um weitere Spalten ergänzt werden. | |||
=== Herbarverknüpfungen zweier verschiedener Datensätze neu zuordnen über XVERWEIS() === | |||
{{Anker|XVERWEIS-Herbarverknuepfungen-verschiedener-Datensaetze-zuordnen|anzeigen=ja}}{{Anker|XVERWEIS-Herbarverknüpfungen-verschiedener-Datensaetze-zuordnen}} – Siehe auch das Hilfsbeispiel [[:Datei:Beispieldaten – Herbar-Verknüpfungen eines Datensatzes einem anderen neu zuordnen, über XVERWEIS.xlsx]] | |||
Hierbei wollen wir die Verknüpfungen des {{Textfarbe|#d95911|JACQ-Herbarbeleges}} finden, für Datensätze von denen wir eine übereinstimmende Akzessionsnummern haben, und diese gefundenen Herbarbelegdaten sollen dem {{Textfarbe|#2f75b5|WIPs-Testdatensatz}} neu zugeordnet werden – über {{Textfarbe|#70ad47|XVERWEIS}} kann jeder beliebige Suchwert abgefragt werden – wir verwenden also die Akzessionsnummer. | |||
* Im {{Textfarbe|#d95911|JACQ Datensatz}} ist die Akzessionsnummer irgendwo im Textfeld »Anmerkungen«, und im {{Textfarbe|#2f75b5|WIPs-Testdatensatz}} ist sie im Feld »Akzessionsnummer« | |||
* Als Suchbereich (Suchmatrix) in {{Textfarbe|#70ad47|XVERWEIS}} verwenden wir den {{Textfarbe|#d95911|JACQ Datensatz}}, das Feld »Anmerkungen«, in der irgendwo der Suchwert zu finden sei | |||
* Als Rückgabebereich (Rückgabematrix) in {{Textfarbe|#70ad47|XVERWEIS}} verwenden wir ebenso den {{Textfarbe|#d95911|JACQ Datensatz}}, das Feld »Stabiler Identifier«, was die Herbelegverknüpfung hat | |||
* Den Suchtextwert allerdings für {{Textfarbe|#70ad47|XVERWEIS}} stellen wir so zusammen, daß wir die Platzhaltersuche nutzen können, was vermittels Sternchen-Suche »*001-40-14-10*« erfolgt, und wir verwenden den {{Textfarbe|#2f75b5|WIPs-Testdatensatz}}, siehe Abbildung: | |||
[[Datei:Herbarverknüpfungen neu zuorden über 2 verschiedene Datensätze hinweg mit XVERWEIS.PNG|Suche über 2 verschiedene Datensätze hinweg genau die Herbarverknüpfungen heraus, die mit der Akzessionsnummer übereinstimmen, vermittels XVERWEIS und Platzhaltersuche]] | |||
== Umrechnung Gradzahl° Minuten′ Sekunden″ → Dezimalkoordinate {{Anker|Umrechnung-Grad-Minuten-Sekunden-in-Dezimalkoordinate}} == | |||
{{Anker|Umrechnung-Grad-Minuten-Sekunden-in-Dezimalkoordinate|nur Anker zeigen ohne Anker setzen=ja}} Siehe auch die Formelsammlung in [[:Datei:Hilfsformeln zur Koordinatenumwandlung (Englisch und Deutsch).xlsx]]. – Zu beachten sei hier, daß die <code>Gradzahl° Minuten′ Sekunden″</code> maßgeblich die richtigen Zeichen enthalten SOLLTEN, damit wir die Zahlenteile später dann richtig ausrechnen können: | |||
* Gradzeichen <code style="color:#2a68a5">°</code> ist <code title="Unicode Zeichen für Grad (°, U+1F176)" style="color:#2a68a5">UNIZEICHEN(176)</code> | |||
* Minutenzeichen <code style="color:#a52a2a">′</code> ist <code title="Unicode Zeichen für Minuten (′)" style="color:#a52a2a">UNIZEICHEN(8242)</code> | |||
* Sekundenzeichen <code style="color:#2aa568">″</code> ist <code title="Unicode Zeichen für Sekunden (″)" style="color:#2aa568">UNIZEICHEN(8243)</code> | |||
Die Berechnung ergibt sich sinngemäß aus: | |||
<div class="pre-schlicht"> | |||
=Gradzahl + Minutenzahl/60 + Sekundenzahl/3600 | =Gradzahl + Minutenzahl/60 + Sekundenzahl/3600 | ||
</div> | |||
… siehe auch [https://www.koordinaten-umrechner.de koordinaten-umrechner.de]. | … siehe auch [https://www.koordinaten-umrechner.de koordinaten-umrechner.de]. | ||
Für die Textteile kann man das Gradzahl-Zeichen <code>°</code> im Zellentext <code>A2</code> suchen, davor die Zahl befinden, und diese ausrechnen, und gleichfalls zum Minuten-Zeichen <code>′</code> suchen usw., und zum Sekunden-Zeichen <code>″</code> usw.. | Für die Textteile kann man das Gradzahl-Zeichen <code>°</code> im Zellentext <code>A2</code> suchen, davor die Zahl befinden, und diese ausrechnen, und gleichfalls zum Minuten-Zeichen <code>′</code> suchen usw., und zum Sekunden-Zeichen <code>″</code> usw.. | ||
<table><!-- | |||
--><tr><!-- | |||
--><td> | |||
{| class="tabellenblatt" | |||
|- class="anzeige-zell-spalten" | |||
| | |||
| style="background-color:green" | | |||
| | |||
|- | |||
| | |||
! Breitengrad (…°…′…″) | |||
! Breitengrad (dezimal) | |||
|- | |||
| style="background-color:green" | | |||
| 52°24′48″N | |||
| 52,4133333333333N | |||
|}</td><!-- | |||
--><td>(die Gesamtformel zur Umrechnung des <code>A2</code>-Wertes, die in <code>B2</code> einzutragen wäre, findet sich in der [[#Formel-Zusammenfassung_Grad-Minuten-Sekunden_in_Grad-dezimal|Zusammenfassung]])</td><!-- | |||
--></tr><!-- | |||
--></table> | |||
So ergeben sich für die Textstückchen folgende Formellösungen: | |||
'' | ''Dezimalgrad:'' | ||
= | <div class="pre-schlicht"> | ||
<div | =ZAHLENWERT(TEIL(A2; 1; SUCHEN(<span style="color:#2a68a5" title="Unicode Zeichen für Grad (°, U+1F176)">UNIZEICHEN(176)</span>;A2;1) - LÄNGE(<span style="color:#2a68a5" title="Unicode Zeichen für Grad (°, U+1F176)">UNIZEICHEN(176)</span>))) | ||
</div> | |||
<div class=" | |||
''Minuten in Dezimalzahl'' (falls <code>′</code> unauffindbar, dann <code>0</code> zurückgeben, andernfalls Textbereich finden und Zahl ausrechnen): | |||
<div class="pre-schlicht"> | |||
=WENN( | =WENN( | ||
ISTFEHL(SUCHEN(UNIZEICHEN(8242);A2;1)); | ISTFEHL(SUCHEN(<span style="color:#a52a2a" title="Unicode Zeichen für Minuten (′, ′)">UNIZEICHEN(8242)</span>;A2;1)); | ||
0; | 0; | ||
ZAHLENWERT( | ZAHLENWERT( | ||
TEIL(A2; | TEIL(A2; | ||
SUCHEN(UNIZEICHEN(176);A2;1) + 1; | SUCHEN(<span style="color:#2a68a5" title="Unicode Zeichen für Grad (°, U+1F176)">UNIZEICHEN(176)</span>;A2;1) + 1; | ||
SUCHEN(UNIZEICHEN(8242);A2;1) - SUCHEN(UNIZEICHEN(176);A2;1) - LÄNGE(UNIZEICHEN(8242)) | SUCHEN(<span style="color:#a52a2a" title="Unicode Zeichen für Minuten (′, ′)">UNIZEICHEN(8242)</span>;A2;1) - SUCHEN(<span style="color:#2a68a5" title="Unicode Zeichen für Grad (°, U+1F176)">UNIZEICHEN(176)</span>;A2;1) - LÄNGE(<span style="color:#a52a2a" title="Unicode Zeichen für Minuten (′, ′)">UNIZEICHEN(8242)</span>) | ||
) | ) | ||
) / 60 | ) / 60 | ||
) | ) | ||
</div></div> | </div> | ||
… textverdichtet ohne Zeilenumbrüche: | |||
<div class="pre-schlicht" style="font-size:smaller;border-bottom:1px solid gray;"> | |||
=WENN(ISTFEHL(SUCHEN(<span style="color:#a52a2a" title="Unicode Zeichen für Minuten (′, ′)">UNIZEICHEN(8242)</span>;A2;1)); 0; ZAHLENWERT(TEIL(A2; SUCHEN(<span style="color:#2a68a5" title="Unicode Zeichen für Grad (°, U+1F176)">UNIZEICHEN(176)</span>;A2;1)+1; SUCHEN(<span style="color:#a52a2a" title="Unicode Zeichen für Minuten (′, ′)">UNIZEICHEN(8242)</span>;A2;1) - SUCHEN(<span style="color:#2a68a5" title="Unicode Zeichen für Grad (°, U+1F176)">UNIZEICHEN(176)</span>;A2;1) - LÄNGE(<span style="color:#a52a2a" title="Unicode Zeichen für Minuten (′, ′)">UNIZEICHEN(8242)</span>)))/60) | |||
</div> | |||
''Sekunden in Dezimalzahl:'' (falls <code>′</code> unauffindbar, dann <code>0</code> zurückgeben, andernfalls Textbereich finden und Zahl ausrechnen) | |||
<div class="pre-schlicht"> | |||
<div class=" | |||
=WENN( | =WENN( | ||
ISTFEHL(SUCHEN(UNIZEICHEN(8243);A2;1)); | ISTFEHL(SUCHEN(<span style="color:#2aa568" title="Unicode Zeichen für Sekunden (″, ″)">UNIZEICHEN(8243)</span>;A2;1)); | ||
0; | 0; | ||
ZAHLENWERT( | ZAHLENWERT( | ||
TEIL(A2; | TEIL(A2; | ||
SUCHEN(UNIZEICHEN(8242);A2;1) + 1; | SUCHEN(<span style="color:#a52a2a" title="Unicode Zeichen für Minuten (′, ′)">UNIZEICHEN(8242)</span>;A2;1) + 1; | ||
SUCHEN(UNIZEICHEN(8243);A2;1) - SUCHEN(UNIZEICHEN(8242);A2;1) - LÄNGE(UNIZEICHEN(8243)) | SUCHEN(<span style="color:#2aa568" title="Unicode Zeichen für Sekunden (″, ″)">UNIZEICHEN(8243)</span>;A2;1) - SUCHEN(<span style="color:#a52a2a" title="Unicode Zeichen für Minuten (′, ′)">UNIZEICHEN(8242)</span>;A2;1) - LÄNGE(<span style="color:#2aa568" title="Unicode Zeichen für Sekunden (″, ″)">UNIZEICHEN(8243)</span>) | ||
) | ) | ||
) / 3600 | ) / 3600 | ||
) | ) | ||
</div></div> | </div> | ||
… textverdichtet ohne Zeilenumbrüche: | |||
<div class="pre-schlicht" style="font-size:smaller;border-bottom:1px solid gray;"> | |||
=WENN(ISTFEHL(SUCHEN(<span style="color:#2aa568" title="Unicode Zeichen für Sekunden (″, ″)">UNIZEICHEN(8243)</span>;A2;1));0;ZAHLENWERT(TEIL(A2; SUCHEN(<span style="color:#a52a2a" title="Unicode Zeichen für Minuten (′, ′)">UNIZEICHEN(8242)</span>;A2;1)+1; SUCHEN(<span style="color:#2aa568" title="Unicode Zeichen für Sekunden (″, ″)">UNIZEICHEN(8243)</span>;A2;1) - SUCHEN(<span style="color:#a52a2a" title="Unicode Zeichen für Minuten (′, ′)">UNIZEICHEN(8242)</span>;A2;1) - LÄNGE(<span style="color:#2aa568" title="Unicode Zeichen für Sekunden (″, ″)">UNIZEICHEN(8243)</span>)))/3600) | |||
</div> | |||
<div class="mw-collapsible mw-collapsed"> | <div class="mw-collapsible mw-collapsed" id="Formel-Zusammenfassung_Grad-Minuten-Sekunden_in_Grad-dezimal"> | ||
'''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;"> | ||
Siehe auch die Formelsammlung in [[:Datei:Hilfsformeln zur Koordinatenumwandlung (Englisch und Deutsch).xlsx]]. | |||
<div class="pre-schlicht"> | |||
=WENN( | =WENN( | ||
ISTLEER(A2); | ISTLEER(A2); | ||
""; | ""; | ||
ZAHLENWERT(TEIL(A2; 1; SUCHEN(UNIZEICHEN(176);A2;1) - LÄNGE(UNIZEICHEN(176)))) | ZAHLENWERT(TEIL(A2; 1; SUCHEN(<span style="color:#2a68a5" title="Unicode Zeichen für Grad (°, U+1F176)">UNIZEICHEN(176)</span>;A2;1) - LÄNGE(<span style="color:#2a68a5" title="Unicode Zeichen für Grad (°, U+1F176)">UNIZEICHEN(176)</span>))) | ||
+ | + | ||
WENN( | WENN( | ||
ISTFEHL(SUCHEN(UNIZEICHEN(8242);A2;1)); | ISTFEHL(SUCHEN(<span style="color:#a52a2a" title="Unicode Zeichen für Minuten (′, ′)">UNIZEICHEN(8242)</span>;A2;1)); | ||
0; | 0; | ||
ZAHLENWERT( | ZAHLENWERT( | ||
TEIL(A2; | TEIL(A2; | ||
SUCHEN(UNIZEICHEN(176);A2;1) + 1; | SUCHEN(<span style="color:#2a68a5" title="Unicode Zeichen für Grad (°, U+1F176)">UNIZEICHEN(176)</span>;A2;1) + 1; | ||
SUCHEN(UNIZEICHEN(8242);A2;1) - SUCHEN(UNIZEICHEN(176);A2;1) - LÄNGE(UNIZEICHEN(8242)) | SUCHEN(<span style="color:#a52a2a" title="Unicode Zeichen für Minuten (′, ′)">UNIZEICHEN(8242)</span>;A2;1) - SUCHEN(<span style="color:#2a68a5" title="Unicode Zeichen für Grad (°, U+1F176)">UNIZEICHEN(176)</span>;A2;1) - LÄNGE(<span style="color:#a52a2a" title="Unicode Zeichen für Minuten (′, ′)">UNIZEICHEN(8242)</span>) | ||
) | ) | ||
) / 60 | ) / 60 | ||
| Zeile 69: | Zeile 388: | ||
+ | + | ||
WENN( | WENN( | ||
ISTFEHL(SUCHEN(UNIZEICHEN(8243);A2;1)); | ISTFEHL(SUCHEN(<span style="color:#2aa568" title="Unicode Zeichen für Sekunden (″, ″)">UNIZEICHEN(8243)</span>;A2;1)); | ||
0; | 0; | ||
ZAHLENWERT( | ZAHLENWERT( | ||
TEIL(A2; | TEIL(A2; | ||
SUCHEN(UNIZEICHEN(8242);A2;1) + 1; | SUCHEN(<span style="color:#a52a2a" title="Unicode Zeichen für Minuten (′, ′)">UNIZEICHEN(8242)</span>;A2;1) + 1; | ||
SUCHEN(UNIZEICHEN(8243);A2;1) - SUCHEN(UNIZEICHEN(8242);A2;1) - LÄNGE(UNIZEICHEN(8243)) | SUCHEN(<span style="color:#2aa568" title="Unicode Zeichen für Sekunden (″, ″)">UNIZEICHEN(8243)</span>;A2;1) - SUCHEN(<span style="color:#a52a2a" title="Unicode Zeichen für Minuten (′, ′)">UNIZEICHEN(8242)</span>;A2;1) - LÄNGE(<span style="color:#2aa568" title="Unicode Zeichen für Sekunden (″, ″)">UNIZEICHEN(8243)</span>) | ||
) | ) | ||
) / 3600 | ) / 3600 | ||
) & "N" | |||
) | |||
… oder dichter verfügt, ohne Zeilenumbrüche: | </div> | ||
… oder dichter verfügt, ohne Zeilenumbrüche für Kommazahl (europäische Länder): | |||
<div class="pre-schlicht"> | |||
=WENN( ISTLEER(A2); ""; ZAHLENWERT(TEIL(A2; 1; SUCHEN(<span style="color:#2a68a5" title="Unicode Zeichen für Grad (°, U+1F176)">UNIZEICHEN(176)</span>;A2;1) - LÄNGE(<span style="color:#2a68a5" title="Unicode Zeichen für Grad (°, U+1F176)">UNIZEICHEN(176)</span>))) + WENN( ISTFEHL(SUCHEN(<span style="color:#a52a2a" title="Unicode Zeichen für Minuten (′, ′)">UNIZEICHEN(8242)</span>;A2;1)); 0; ZAHLENWERT( TEIL(A2; SUCHEN(<span style="color:#2a68a5" title="Unicode Zeichen für Grad (°, U+1F176)">UNIZEICHEN(176)</span>;A2;1) + 1; SUCHEN(<span style="color:#a52a2a" title="Unicode Zeichen für Minuten (′, ′)">UNIZEICHEN(8242)</span>;A2;1) - SUCHEN(<span style="color:#2a68a5" title="Unicode Zeichen für Grad (°, U+1F176)">UNIZEICHEN(176)</span>;A2;1) - LÄNGE(<span style="color:#a52a2a" title="Unicode Zeichen für Minuten (′, ′)">UNIZEICHEN(8242)</span>) ) ) / 60 ) + WENN( ISTFEHL(SUCHEN(<span style="color:#2aa568" title="Unicode Zeichen für Sekunden (″, ″)">UNIZEICHEN(8243)</span>;A2;1)); 0; ZAHLENWERT( TEIL(A2; SUCHEN(<span style="color:#a52a2a" title="Unicode Zeichen für Minuten (′, ′)">UNIZEICHEN(8242)</span>;A2;1) + 1; SUCHEN(<span style="color:#2aa568" title="Unicode Zeichen für Sekunden (″, ″)">UNIZEICHEN(8243)</span>;A2;1) - SUCHEN(<span style="color:#a52a2a" title="Unicode Zeichen für Minuten (′, ′)">UNIZEICHEN(8242)</span>;A2;1) - LÄNGE(<span style="color:#2aa568" title="Unicode Zeichen für Sekunden (″, ″)">UNIZEICHEN(8243)</span>) ) ) / 3600 ) & "N" ) | |||
<!-- ZUTUN ergänze englische Punkt-Zahlen-Formel | |||
=WECHSELN(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" | |||
--> | |||
</div> | |||
… oder für englische Punkt-„Komma“-Zahl (englischsprachige Länder): | |||
=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" | <div class="pre-schlicht"> | ||
=WENN( ISTLEER(A2); ""; <span style="color:white;background-color:#2a4b8d">WECHSELN(</span> ZAHLENWERT(TEIL(A2; 1; SUCHEN(<span style="color:#2a68a5" title="Unicode Zeichen für Grad (°, U+1F176)">UNIZEICHEN(176)</span>;A2;1) - LÄNGE(<span style="color:#2a68a5" title="Unicode Zeichen für Grad (°, U+1F176)">UNIZEICHEN(176)</span>))) + WENN( ISTFEHL(SUCHEN(<span style="color:#a52a2a" title="Unicode Zeichen für Minuten (′, ′)">UNIZEICHEN(8242)</span>;A2;1)); 0; ZAHLENWERT( TEIL(A2; SUCHEN(<span style="color:#2a68a5" title="Unicode Zeichen für Grad (°, U+1F176)">UNIZEICHEN(176)</span>;A2;1) + 1; SUCHEN(<span style="color:#a52a2a" title="Unicode Zeichen für Minuten (′, ′)">UNIZEICHEN(8242)</span>;A2;1) - SUCHEN(<span style="color:#2a68a5" title="Unicode Zeichen für Grad (°, U+1F176)">UNIZEICHEN(176)</span>;A2;1) - LÄNGE(<span style="color:#a52a2a" title="Unicode Zeichen für Minuten (′, ′)">UNIZEICHEN(8242)</span>) ) ) / 60 ) + WENN( ISTFEHL(SUCHEN(<span style="color:#2aa568" title="Unicode Zeichen für Sekunden (″, ″)">UNIZEICHEN(8243)</span>;A2;1)); 0; ZAHLENWERT( TEIL(A2; SUCHEN(<span style="color:#a52a2a" title="Unicode Zeichen für Minuten (′, ′)">UNIZEICHEN(8242)</span>;A2;1) + 1; SUCHEN(<span style="color:#2aa568" title="Unicode Zeichen für Sekunden (″, ″)">UNIZEICHEN(8243)</span>;A2;1) - SUCHEN(<span style="color:#a52a2a" title="Unicode Zeichen für Minuten (′, ′)">UNIZEICHEN(8242)</span>;A2;1) - LÄNGE(<span style="color:#2aa568" title="Unicode Zeichen für Sekunden (″, ″)">UNIZEICHEN(8243)</span>) ) ) / 3600 ) <span style="color:white;background-color:#2a4b8d">; ","; ".")</span> & "N" ) | |||
</div> | |||
</div></div> | </div></div> | ||
'''Nacharbeiten:''' | '''Vorarbeiten/Nacharbeiten:''' | ||
* für englische Daten wird das Punkt-Komma benötigt, was man mit der Formel <code>=WECHSELN(…; ","; ".")</code> ersetzen lassen kann, und umgekehrt in mitteleuropäische Strich-Komma mit der Formel <code>=WECHSELN(…; "."; ",")</code> | * für englische Daten wird das Punkt-Komma benötigt, was man mit der Formel <code>=WECHSELN(…; ","; ".")</code> ersetzen lassen kann, und umgekehrt in mitteleuropäische Strich-Komma mit der Formel <code>=WECHSELN(…; "."; ",")</code> | ||
| Zeile 90: | Zeile 420: | ||
== Umrechnung Dezimalkoordinate → Gradzahl° Minuten′ Sekunden″ == | == Umrechnung Dezimalkoordinate → Gradzahl° Minuten′ Sekunden″ == | ||
{{Anker|Umrechnung-Dezimalkoordinate-in-Grad-Minuten-Sekunden|anzeigen=ja}} 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> | {{Anker|Umrechnung-Dezimalkoordinate-in-Grad-Minuten-Sekunden|anzeigen=ja}} Siehe auch die Formelsammlung in [[:Datei:Hilfsformeln zur Koordinatenumwandlung (Englisch und Deutsch).xlsx]] – 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<span style="color:#2a68a5" title="Unicode Zeichen für Grad (°, U+1F176)">°</span> 13<span style="color:#a52a2a" title="Unicode Zeichen für Minuten (′, ′)">′</span> 32,2176000000081<span style="color:#2aa568" title="Unicode Zeichen für Sekunden (″, ″)">″</span></code> vermittels der Beispielformel: | ||
=GANZZAHL(A2) & UNIZEICHEN(176) | <div class="pre-schlicht"> | ||
=GANZZAHL(A2) & <span style="color:#2a68a5" title="Unicode Zeichen für Grad (°, U+1F176)">UNIZEICHEN(176)</span> | |||
& " " | |||
& GANZZAHL((A2-GANZZAHL(A2)) * 60) & <span style="color:#a52a2a" title="Unicode Zeichen für Minuten (′, ′)">UNIZEICHEN(8242)</span> | |||
& " " | & " " | ||
& TEXT( | & TEXT( | ||
( | ( | ||
| Zeile 101: | Zeile 432: | ||
) * 60; | ) * 60; | ||
"0,0000" | "0,0000" | ||
) & UNIZEICHEN(8243) | ) & <span style="color:#2aa568" title="Unicode Zeichen für Sekunden (″, ″)">UNIZEICHEN(8243)</span> | ||
… | </div> | ||
=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: | |||
<div class="pre-schlicht" style="font-size:smaller;border-bottom:1px solid gray;"> | |||
=GANZZAHL(A2)&<span style="color:#2a68a5" title="Unicode Zeichen für Grad (°, U+1F176)">UNIZEICHEN(176)</span>&" "&GANZZAHL((A2-GANZZAHL(A2))*60)&<span style="color:#a52a2a" title="Unicode Zeichen für Minuten (′, ′)">UNIZEICHEN(8242)</span>&" "&TEXT(((A2-GANZZAHL(A2))*60-GANZZAHL((A2-GANZZAHL(A2))*60))*60;"0,0000")&<span style="color:#2aa568" title="Unicode Zeichen für Sekunden (″, ″)">UNIZEICHEN(8243)</span> | |||
</div> | |||
Beispielformel für Englische Punktzahl: | |||
<div class="pre-schlicht"> | |||
=GANZZAHL(A2) & UNIZEICHEN(176) | =GANZZAHL(A2) & <span style="color:#2a68a5" title="Unicode Zeichen für Grad (°, U+1F176)">UNIZEICHEN(176)</span> | ||
& " " | & " " | ||
& GANZZAHL((A2-GANZZAHL(A2)) * 60) & UNIZEICHEN(8242) | & GANZZAHL((A2-GANZZAHL(A2)) * 60) & <span style="color:#a52a2a" title="Unicode Zeichen für Minuten (′, ′)">UNIZEICHEN(8242)</span> | ||
& " " | & " " | ||
& WECHSELN( | & WECHSELN( | ||
TEXT(((A2-GANZZAHL(A2)) * 60-GANZZAHL((A2-GANZZAHL(A2)) * 60)) * 60; "0,0000"); | TEXT(((A2-GANZZAHL(A2)) * 60-GANZZAHL((A2-GANZZAHL(A2)) * 60)) * 60; "0,0000"); | ||
","; | ","; | ||
"." | "." | ||
) & UNIZEICHEN(8243) | ) & <span style="color:#2aa568" title="Unicode Zeichen für Sekunden (″, ″)">UNIZEICHEN(8243)</span> | ||
… | </div> | ||
=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: | |||
<div class="pre-schlicht" style="font-size:smaller;border-bottom:1px solid gray;"> | |||
=GANZZAHL(A2)&<span style="color:#2a68a5" title="Unicode Zeichen für Grad (°, U+1F176)">UNIZEICHEN(176)</span>&" "&GANZZAHL((A2-GANZZAHL(A2))*60)&<span style="color:#a52a2a" title="Unicode Zeichen für Minuten (′, ′)">UNIZEICHEN(8242)</span>&" "&WECHSELN(TEXT(((A2-GANZZAHL(A2))*60-GANZZAHL((A2-GANZZAHL(A2))*60))*60;"0,0000");",";".")&<span style="color:#2aa568" title="Unicode Zeichen für Sekunden (″, ″)">UNIZEICHEN(8243)</span> | |||
</div> | |||
Für einzelne Grad, Minuten, Sekunden sind es die folgenden Formeln: | Für einzelne Grad, Minuten, Sekunden sind es die folgenden Formeln: | ||
* nur Grad-Umrechnung: <code>GANZZAHL(A2)</code> oder textformatiert <code>GANZZAHL(A2) & UNIZEICHEN(176)</code> – wobei der Grad-Dezimalrest sich aus <code>(A2-GANZZAHL(A2))</code> ergibt, mit dem weitergerechnet werden kann | * nur Grad-Umrechnung: <code>GANZZAHL(A2)</code> oder textformatiert <code>GANZZAHL(A2) & <span style="color:#2a68a5" title="Unicode Zeichen für Grad (°, U+1F176)">UNIZEICHEN(176)</span></code> – wobei der Grad-Dezimalrest sich aus <code>(A2-GANZZAHL(A2))</code> ergibt, mit dem weitergerechnet werden kann | ||
* nur Minuten-Umrechnung, textformatiert <code>GANZZAHL((A2-GANZZAHL(A2)) * 60) & UNIZEICHEN(8242)</code> | * nur Minuten-Umrechnung, textformatiert <code>GANZZAHL((A2-GANZZAHL(A2)) * 60) & <span style="color:#a52a2a" title="Unicode Zeichen für Minuten (′, ′)">UNIZEICHEN(8242)</span></code> | ||
* nur Sekunden-Umrechnung, textformatiert: <code>((A2-GANZZAHL(A2)) * 60 - GANZZAHL((A2-GANZZAHL(A2)) * 60)) * 60 & UNIZEICHEN(8243)</code> | * nur Sekunden-Umrechnung, textformatiert: <code>((A2-GANZZAHL(A2)) * 60 - GANZZAHL((A2-GANZZAHL(A2)) * 60)) * 60 & <span style="color:#2aa568" title="Unicode Zeichen für Sekunden (″, ″)">UNIZEICHEN(8243)</span></code> | ||
'''Vorarbeiten/Nacharbeiten:''' | |||
* Um den Zellentext z.B. <code>54,2256160N</code> 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 <code>WECHSELN(…;"N";"")</code> oder ausdrücklich als Zahlenwert formatieren vermittels <code>ZAHLENWERT(WECHSELN(…;"N";"");",")</code>. | |||
[[Kategorie: Hilfe]] | [[Kategorie: Hilfe]] | ||
Neueste Überarbeitung vom 11. November 2025, 19:12 Uhr
Tabellen verknüpfend nutzen
Einzelwerte XVERWEIS() selbtätig übersetzen lassen
📖 In der gedachten Beispieltabelle „Sammeldaten“ soll die Spalte „geschätzte Hangneigung“ inhaltlich so bleiben, aber für einen Bericht sollen die Werte selbtätig in festgelegte Werte übersetzt werden – die eingetragene Werte seien diese:
| … | geschätzte Hangneigung | … | |
|---|---|---|---|
| … | 0-5% | … | |
| … | 11-20% | … | |
| … | 0-5% | … |
In einer gesonderten Übersetzungstabelle ordnet man die in eigenen Daten vorhandenen Werte in eine Zeile ein, und darunter gewissermaßen die gewünschten Übersetzungswerte zugeordnet drunter, die man übersetzen lassen will, dies können auch Übersetzungen in andere Sprachen sein, je nach Belieben:
| Feldbeschreibung | Wert1 | Wert2 | Wert3 | Wert4 | Wert5 | Wert6 | Wert7 | Wert8 | … | |
|---|---|---|---|---|---|---|---|---|---|---|
| exposition | N | S | E | W | NE | NW | SE | SW | ||
| vorherrschende Himmelsrichtung (ersetzt) |
N | S | O | W | NO | NW | SO | SW | ||
| Hangneigung | Keine Angabe | 0-5% | 6-10% | 11-20% | 21-30% | >30% | ||||
| Hangneigung (ersetzt) | n.a. (nichts angegeben) | Eben (0-5%) | Wellig (6-10%) | Hügelig (11-20%) | Moderat (21-30%) | Steil (>30%) | ||||
| Slope (return values) | n.a. (not available) | level (0-5%) | wavy (6-10%) | rolling (11-20%) | moderate (21-30%) | steep (>30%) |
Das selbtätige Suchen und zugeordnete Übersetzen kann in XVERWEIS() allgemein so erwirkt werden:
XVERWEIS(HIERWERT-suchen; Übersetzung.SUCH-Bereich; Übersetzung.GEFUNDEN-Bereich(=Rückgabe); falls-nich-gefunden)
… und in der Bericht-Beispieltabelle …
Bericht
|
… genauer in Zelle
=XVERWEIS(Sammeldaten!B2; Datenwertübersetzung!$B$5:$G$5; Datenwertübersetzung!$B$6:$G$6; Sammeldaten!B2) =XVERWEIS(Sammeldaten!B2; Datenwertübersetzung!$B$5:$G$5; Datenwertübersetzung!$B$6:$G$6; "?") |
… und ergänzen kann man die Formel umschließend noch mit einer ISTLEER(…)-Prüfung, um Leerwerte fehlerfrei auch wieder Leerwerte sein zu lassen (sonst würde XVERWEIS() 0 ergeben):
=WENN(ISTLEER(Sammeldaten!B2);""; XVERWEIS(…) )
Dasselbe läßt sich bewirken für englische Übersetzungen.
Wir können die Formel auch etwas verständlicher (be)schreiben, indem wir LET(Bezeichnung1; Wert1OderBerechnung1; Bezeichnung2OderBerechnung2; Wert2OderBerechnung2; …3; …3; …) schreiben, wie folgt (wobei die Zeilenumbrüche unnötig sind und hier nur der verbesserten Lesbarkeit dienen sollen):
=LET(
ZellenWert; Sammeldaten!B2;
ÜbersetzungsSuchBereich; Datenwertübersetzung!$B$5:$G$5;
ÜbersetzungGefundenBereich; Datenwertübersetzung!$B$6:$G$6;
ErgebnisFallsNichtsGefunden; "?";
XVERWEIS(ZellenWert; ÜbersetzungsSuchBereich; ÜbersetzungGefundenBereich; ErgebnisFallsNichtsGefunden)
)
Fortlaufende Beobachtungen mit XVERWEIS() auf die Ansiedlungsstätte
📖 Weitergedacht läßt sich XVERWEIS(…) beim Zusammenschluß von Einzeltabellen anwenden – z.B. für Zeitreihen, wo es eine Stätte, Örtlichkeit gibt, die ja am Ort verbleibt, und die Zeitreihe, in der fortlaufende Beobachtungen zum Zeitpunkt-„X“ aufgenommen werden. Ein Beispiel sei die Ansiedlungsstätte einer Art (=Ortsbeschreibung), und die danachfolgende zeitlichen Beobachtungen ihres Gedeihens (=Zeitreihe). Die Beispieltabelle Ansiedlungsstätte legte einen gemeinsamen eineinzigen Datenschlüssel fest, der später Tabellen verknüpfen läßt, und nebenbei beliebige Zusatzeigenschaften (Kennzeichnung, Jahr, Artname, Bundesland, Ortsname, Koordinaten usw.):
| Gemeinsamer Datenschlüssel (eineinzig) | Kennzeichnung | Jahr der Ansiedlung | Artname | … | |
|---|---|---|---|---|---|
| POTSD-104; Lysimachia nemorum | POTSD-104 | 2019 | Lysimachia nemorum | … | |
| POTSD-106; Scabiosa canescens | POTSD-106 | 2019 | Scabiosa canescens | … | |
| POTSD-112; Arnoseris minima | POTSD-112 | 2020 | Arnoseris minima | … | |
| … | … | … | … | … |
Anhand eines gemeinsam gewählten Datenschlüssels, den wir einzig in Ansiedlungsstätte festlegen, können wir diesen wiederum in einer zweiten Tabelle Beobachtungen_fortlaufend verwenden, um verschiedenste Beobachtungen fortlaufend über die Zeit zu beschreiben, und in dieser können wir nach Belieben Spalten aus Ansiedlungen (=Ortsbeschreibung und eingepflanzte Art) zusammenholen, und mit den eigentlichen Beobachtungen weiterführen:
| Gemeinsamer Datenschlüssel (Ansiedlunggsstätte) | Kennzeichnung (Ansiedlungsstätte) | Schutzstatus (Ansiedlungsstätte) | Art der Maßnahme (Ansiedlungsstätte) | Art (Ansiedlungsstätte) | Datum (Beobachtung) | Anzahl reproduktiver Einheiten | Anzahl vegetativer Einheiten | … | |
|---|---|---|---|---|---|---|---|---|---|
| POTSD-104; Lysimachia nemorum | POTSD-104 | NSG | Wiederansiedlung | Lysimachia nemorum | 07.05.2020 | 13 | 14 | … | |
| POTSD-106; Scabiosa canescens | POTSD-106 | NSG | Populationsstützung | Scabiosa canescens | 21.07.2020 | 0 | 0 | … | |
| … | … | … | … | … | … | … | … | … |
Beide Tabellen kann man nun über XVERWEIS zusammenwerkeln, in Zelle B2 schreibt man sinngemäß wie folgt:
=XVERWEIS(Datenschlüssel; Ansiedlungsstätte.Datenschlüssel; Ansiedlungsstätte.gewünschte-Rückgabe-Spalte; falls-nicht-gefunden-Hilfetext) =XVERWEIS($A2; Ansiedlungsstätte!$A$2:$A$100; Ansiedlungsstätte!$B$2:$B$100; 'Hilfstabelle-Meldungen'!$A$2)
Dieses Absondern sich wiederholender Informationen in gesonderte Tabellen, und das über XVERWEIS() verbindenede wieder zusammenfügen, verhindert, daß man händisch Daten übermäßig vielfacht, und sich Dokumentationslücken, Verfehlungen und Kopierfehler einschleichen können. In einer Zusatztabelle „Auswertungen“ könnte man dann mit einer datenauswertenden Gliedertabelle/Pivot-Tabelle sich aus den Beobachtungen gewünschte Auswertungen zusammenfügen, je nachdem, welcher Forschungsfrage man nachgehen will. Auf diese Weise bekommen der Ort, die Beobachtung, und die nachherige Auswertung ihren eigenen Tabellenbereich. Die Einzeltabellen können ihrerseits auch um weitere Spalten ergänzt werden.
Herbarverknüpfungen zweier verschiedener Datensätze neu zuordnen über XVERWEIS()
📖 – Siehe auch das Hilfsbeispiel Datei:Beispieldaten – Herbar-Verknüpfungen eines Datensatzes einem anderen neu zuordnen, über XVERWEIS.xlsx
Hierbei wollen wir die Verknüpfungen des JACQ-Herbarbeleges finden, für Datensätze von denen wir eine übereinstimmende Akzessionsnummern haben, und diese gefundenen Herbarbelegdaten sollen dem WIPs-Testdatensatz neu zugeordnet werden – über XVERWEIS kann jeder beliebige Suchwert abgefragt werden – wir verwenden also die Akzessionsnummer.
- Im JACQ Datensatz ist die Akzessionsnummer irgendwo im Textfeld »Anmerkungen«, und im WIPs-Testdatensatz ist sie im Feld »Akzessionsnummer«
- Als Suchbereich (Suchmatrix) in XVERWEIS verwenden wir den JACQ Datensatz, das Feld »Anmerkungen«, in der irgendwo der Suchwert zu finden sei
- Als Rückgabebereich (Rückgabematrix) in XVERWEIS verwenden wir ebenso den JACQ Datensatz, das Feld »Stabiler Identifier«, was die Herbelegverknüpfung hat
- Den Suchtextwert allerdings für XVERWEIS stellen wir so zusammen, daß wir die Platzhaltersuche nutzen können, was vermittels Sternchen-Suche »*001-40-14-10*« erfolgt, und wir verwenden den WIPs-Testdatensatz, siehe Abbildung:
Umrechnung Gradzahl° Minuten′ Sekunden″ → Dezimalkoordinate
📖 Siehe auch die Formelsammlung in Datei:Hilfsformeln zur Koordinatenumwandlung (Englisch und Deutsch).xlsx. – Zu beachten sei hier, daß die Gradzahl° Minuten′ Sekunden″ maßgeblich die richtigen Zeichen enthalten SOLLTEN, damit wir die Zahlenteile später dann richtig ausrechnen können:
- Gradzeichen
°istUNIZEICHEN(176) - Minutenzeichen
′istUNIZEICHEN(8242) - Sekundenzeichen
″istUNIZEICHEN(8243)
Die Berechnung ergibt sich sinngemäß aus:
=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..
| (die Gesamtformel zur Umrechnung des A2-Wertes, die in B2 einzutragen wäre, findet sich in der Zusammenfassung) |
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) …
Siehe auch die Formelsammlung in Datei:Hilfsformeln zur Koordinatenumwandlung (Englisch und Deutsch).xlsx.
=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 für Kommazahl (europäische Länder):
=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 für englische Punkt-„Komma“-Zahl (englischsprachige Länder):
=WENN( ISTLEER(A2); ""; WECHSELN( 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″
📖 Siehe auch die Formelsammlung in Datei:Hilfsformeln zur Koordinatenumwandlung (Englisch und Deutsch).xlsx – 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 textformatiertGANZZAHL(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,2256160Nungeachtet der Himmelsrichtungen (N, S, O, W) in eine Zahl verrechnen lassen zu können, SOLLTE der betreffende Text ersetzend bereinigt werden, z.B. vermittelsWECHSELN(…;"N";"")oder ausdrücklich als Zahlenwert formatieren vermittelsZAHLENWERT(WECHSELN(…;"N";"");",").