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 Nur ersten Vornamen ausgeben  


 

Nur ersten Vornamen ausgeben

 
 
 
Beitrag10. Mai 2013, 17:31
Hallo,

Wie muss ich die Formel aufbauen, damit im Diagramm nur der erste Vorname ausgegeben wird?

Gruss,
Tanja
 
 
 

Re: Nur ersten Vornamen ausgeben

Beitrag11. Mai 2013, 23:23
Nach langem Probieren bin ich mittlerweile soweit:

Mit
Code: Alles auswählen
   LEFT(FIRSTNAMES,SEARCH(" ",FIRSTNAMES)-1)

kann ich zwar den ersten Namen ermitteln, das funktioniert aber wegen des Leerzeichens natürlich nur, wenn mehr als ein Vorname existiert.

Mit
Code: Alles auswählen
    LEN(FIRSTNAMES)-LEN(SUBSTITUTE(FIRSTNAMES," ",""))+1

kann ich nun auch ermitteln, wie viele Vornamen es gibt.
Sobald ich den Code aber in
Code: Alles auswählen
    IF(
          LEN(FIRSTNAMES)-LEN(SUBSTITUTE(FIRSTNAMES," ",""))+1)
       =1

umwandle, bekomme ich als Ergbniss immer "FALSE", egal wie viele Vornamen hinterlegt sind.

Was ist an dieser Formel falsch?

Gruß,
Tanja
 
 
 

Re: Nur ersten Vornamen ausgeben

Beitrag13. Mai 2013, 19:49
Nach etlichen Stunden ausprobieren habe ich es jetzt geschafft. Falls es jemanden interessiert:

Code: Alles auswählen
IF(
   LEN(FIRSTNAMES)-LEN(SUBSTITUTE(FIRSTNAMES," ",""))+1=1,
   FIRSTNAMES,
   LEFT(FIRSTNAMES,SEARCH(" ",FIRSTNAMES)-1)
)


Jetzt muss ich nur noch herausfinden, wie man verhindert, dass der Name, wenn er als Rufname deklariert ist, nicht unterstrichen wird.
 
 
 

Re: Nur ersten Vornamen ausgeben

Beitrag28. Jan 2014, 15:05
Den ersten oder den einzigen Vornamen gibt folgende Formel wieder:
Code: Alles auswählen
IF(FIND(" ",FIRSTNAMES) > 0,
  LEFT(FIRSTNAMES,FIND(" ",FIRSTNAMES)),
  FIRSTNAMES)

Den oder die Rufnamen kann man mit folgender Formel ermitteln, wobei ich die Länge des auszugebenden Vornamens hier der Einfachheit halber durch eine Konstante 8 ersetzt habe (das Ende des Rufnamens sollte ebenfalls ein "_" sein.
Code: Alles auswählen
IF(FIND("_",FIRSTNAMES)> 0,
  MID(FIRSTNAMES,FIND("_",FIRSTNAMES) + 1, 8 ))

Dann bleibt nur noch, die tatsächliche Länge des Rufnamens zu ermitteln.

Den unterstrichenen Vornamen in seiner tatsächlichen Länge gibt folgende Formel wieder
Code: Alles auswählen
IF(FIND("_",FIRSTNAMES)> 0,
  MID(FIRSTNAMES,FIND("_",FIRSTNAMES) + 1,
                 FIND("_",MID(FIRSTNAMES,FIND("_",FIRSTNAMES)+ 1, 20))))

Die Kombination, die entweder den Rufnamen oder den ersten Vornamen ausgibt, liefert der nachfolgende Code
Code: Alles auswählen
IF(FIND("_",FIRSTNAMES)> 0,
  MID(FIRSTNAMES,FIND("_",FIRSTNAMES) + 1,
                 FIND("_",MID(FIRSTNAMES,FIND("_",FIRSTNAMES)+ 1, 20))
  ),
IF(FIND(" ",FIRSTNAMES) > 0,
  LEFT(FIRSTNAMES,FIND(" ",FIRSTNAMES)),
  FIRSTNAMES)
)

NS. Ein Feld RUFNAME, das ja in GEDCOM vorhanden ist, würde das ganze ziemlich vereinfachen.

Ahnenforschung für die Familie und für das, was mich sonst noch interessiert
Ich suche Informationen über Angehörige des 3.Brandenburgischen Jägerbataillons in Lübben/Spreewald (zwischen 1860 und 1870)
 
 
 
 
 
cron