Daub Logo
Produkte Downloads Kaufen Company Community mein Daubnet
Anmelden

Community

Diskussionen, Fragen und Zusammenarbeit - hier ist der richtige Platz für den Austausch mit den Entwicklern und mit anderen Usern. Machen Sie mit!
Kostenloses Daubnet-Konto erstellen

Ages! Forum Rechenfelder Formel um Ortsstring zu zerlegen  


 

Formel um Ortsstring zu zerlegen

 
 
 
Beitrag16. Jun 2009, 17:54
Die Verwendung von "ALL" in Rechenfeldern wird derzeit nicht unterstützt.

Benutzerdefinierte Felder innerhalb von "alle Ereignisse" habe ich auf die Wunschliste gesetzt.
Site Admin
jcd
 
 
 

Re: Formel um Ortsstring zu zerlegen

Beitrag13. Sep 2009, 15:23
Moin,

Ein Online-Genealogiesystem übergibt die Orte mit Strasse und Postleitzahl und stellt diese unüblichen Angaben dem Ortsnamen vorweg.
Da die Betreiber in dieser Beziehung beratungsresistent sind, wie filtere ich den Ortsnamen heraus, ohne jedes Mal mit einem Editor die GEDCOM-Datei bearbeiten zu müssen?
Der Ortsname wird in folgenden Format übergeben:
street,postal_code,city,region,country
Danke
Olaf

TNG v.11.0.2
besitzt beide Ages!-Lizenzen... :-(
 
 
 

Re: Formel um Ortsstring zu zerlegen

Beitrag13. Sep 2009, 16:28
Folgende Formel druckt den Geburtsort ab dem zweiten Komma:
Code: Alles auswählen
=MID(BIRT.LOCATION,FIND("#",SUBSTITUTE(BIRT.LOCATION,",","#",2))+1,255)

Aus
street,postal_code,city,region,country
wird so
city,region,country

Zu beachten hierbei ist, dass dies nicht den tatsächlichen Inhalt des Feldes ändert, sondern lediglich die Druckausgabe entsprechend steuert.
Site Admin
jcd
 
 
 

Re: Formel um Ortsstring zu zerlegen

Beitrag13. Sep 2009, 16:36
jcd hat geschrieben:Aus
street,postal_code,city,region,country
wird so
city,region,country

Und wenn ich nur City, sprich den Ort, haben möchte?

Da geht es ja jedes Mal um Centimeter! ;-)

TNG v.11.0.2
besitzt beide Ages!-Lizenzen... :-(
 
 
 

Re: Formel um Ortsstring zu zerlegen

Beitrag13. Sep 2009, 17:28
Eine entsprechende Abwandlung der Formel aus dem Post von genial weiter oben in diesem Thema sieht so aus:
Code: Alles auswählen
=MID(BIRT.LOCATION, SEARCH("#", SUBSTITUTE(BIRT.LOCATION,",","#",2))+1, SEARCH("#",SUBSTITUTE(BIRT.LOCATION,",","#",3))-SEARCH("#",SUBSTITUTE(BIRT.LOCATION,",","#",2))-1)
Site Admin
jcd
 
 
 

Re: Formel um Ortsstring zu zerlegen

Beitrag13. Sep 2009, 18:59
jcd hat geschrieben:Eine entsprechende Abwandlung der Formel aus dem Post von genial weiter oben in diesem Thema sieht so aus:
Code: Alles auswählen
=MID(BIRT.LOCATION, SEARCH("#", SUBSTITUTE(BIRT.LOCATION,",","#",2))+1, SEARCH("#",SUBSTITUTE(BIRT.LOCATION,",","#",3))-SEARCH("#",SUBSTITUTE(BIRT.LOCATION,",","#",2))-1)


Ich würde lügen, wenn ich das (auch aus den anderen Beispielen) selbst heraus gefunden hätte...
Aber es funktioniert.
Vielen Dank!

TNG v.11.0.2
besitzt beide Ages!-Lizenzen... :-(
 
 
 

Re: Formel um Ortsstring zu zerlegen

Beitrag11. Jan 2010, 00:36
jcd hat geschrieben:Folgender Code liefert alles bis zum dritten Komma:

Code: Alles auswählen
=LEFT(BIRT.LOCATION,FIND("$",SUBSTITUTE(BIRT.LOCATION, ",", "$",3))-1)


Genauer gesagt, ersetzt die Formel das dritte Komma im Geburtsort durch ein Dollarzeichen, und liefert dann alles bis zum Dollarzeichen. Um die Anzahl der Kommata zu verändern ersetzen Sie die 3 durch eine andere Zahl.

Wenn eine Ortangabe aber beispielsweise nur 2 Kommas/Beistriche enthält (= 3 Ortsbezeichnungen) erscheint folgender Fehler:
#ERROR left() requires the second parameter to be >=0

Kann dies vermieden werden, bzw. gibt es einen Code, welcher auf unterschiedliche Ortformate flexibel reagiert?

Ages! 2 - Gutes Forschen und viel Erfolg! Prioritäten: Standards (GEDCOM Export/Import), Datensicherheit, Quellen und Publizierbarkeit. Über 18.000 Personen. Win7x64 4 GB RAM. Meine Ages Erfahrungen und Wunschliste - CRα
 
 
 

Re: Formel um Ortsstring zu zerlegen

Beitrag13. Jan 2010, 11:56
Die Formel kann so angepasst werden, dass bei weniger als 3 Kommata der ganze Text ausgegeben wird.

Code: Alles auswählen
=IF(FIND("$",SUBSTITUTE(BIRT.LOCATION, ",", "$",3))-1<0,BIRT.LOCATION,LEFT(BIRT.LOCATION,FIND("$",SUBSTITUTE(BIRT.LOCATION, ",", "$",3))-1))


Was etwas wüst aussieht ist schlussendlich nur folgendes Konstrukt: Wenn Ausdruck<0, dann ganzer Text, sonst nur die Zeichen von Links bis Ausdruck.

=IF( {Ausdruck}<0, {Text}, LEFT({Text}, {Ausdruck}))
Site Admin
jcd
 
 
 

Re: Formel um Ortsstring zu zerlegen

Beitrag14. Jan 2010, 00:01
Danke! Stück für Stück wird die Ausgabe perfektioniert...

Ages! 2 - Gutes Forschen und viel Erfolg! Prioritäten: Standards (GEDCOM Export/Import), Datensicherheit, Quellen und Publizierbarkeit. Über 18.000 Personen. Win7x64 4 GB RAM. Meine Ages Erfahrungen und Wunschliste - CRα
 
 
 

Re: Formel um Ortsstring zu zerlegen

Beitrag17. Jan 2010, 17:59
Ich hatte folgende Probleme mit dem Zerlegen des Ortsnamens:

- Orte ohne Komma (wenn man Landkreis usw. nicht weiß,
- keine Ortsangaben

Das erzeugte immer Fehler bei der Ausgabe. Meine Lösung, um alle Fehler zu unterdrücken sieht so aus:

Code: Alles auswählen
=IF(ISERROR(LEFT(BIRT.LOCATION,FIND("$",SUBSTITUTE(BIRT.LOCATION, ",", "$",1))-1)),"",LEFT(BIRT.LOCATION,FIND("$",SUBSTITUTE(BIRT.LOCATION, ",", "$",1))-1))

=IF(ISERROR({Ausdruck}),"",{Ausdruck}

Sicher keine programmiertechnische Meisterleistung aber vielleicht kann das ja jemand gebrauchen.
 
 
 
 
 
cron