Initialen bei Doppelnamen

Bild

Betrifft: Initialen bei Doppelnamen
von: Peter
Geschrieben am: 13.01.2014 10:06:39

Hallo,
ich würde in einer Tabelle gerne die Initialen meiner Kollegen einfügen.
Ich habe eine Spalte Vornamen und eine mit den Namen.
Mit der Funktion
=Links(a3)&Links(b3)
erhalte ich die Initialen von Vor und Nachname.
Was mache ich aber u.a. bei Klaus-Peter Müller, der die Initialen KPM haben soll?
Mfg
Peter

Bild

Betrifft: AW: Initialen bei Doppelnamen
von: Luschi
Geschrieben am: 13.01.2014 10:15:02
Hallo Peter,
versuch es mal so:
=LINKS(A3;1) & WENNFEHLER(TEIL(A3;FINDEN("-";A3;1)+1;1);"")& LINKS(B3;1)
Gruß von Luschi
aus klein-Paris

Bild

Betrifft: AW: Initialen bei Doppelnamen
von: Peter
Geschrieben am: 13.01.2014 10:17:36
Besten Dank, klappt hervorragend!

Bild

Betrifft: AW: Initialen bei Doppelnamen
von: UweD
Geschrieben am: 13.01.2014 10:32:11
Hallo
Wenn immer ein Bindestrich zur Trennung verwendet wird, dann so.
=LINKS(A3)&WENNFEHLER(TEIL(A3; FINDEN("-";A3)+1;1);"")&LINKS(B3;1)
Gruß UweD

Bild

Betrifft: Eine Aufgabe zum Ausspinnen! ;-)
von: Luc:-?
Geschrieben am: 13.01.2014 19:00:20
Außer Konkurrenz mal ein Bsp, Folks:

 ABCDEFG
1Klaus-PeterMüller  KPMKPMKPM
2HeinzMüller-LüdenscheidtHMLHMLHML
3Hans-WernerProkop-Olm  HWPOHPOHPO
4AnjaPuschel-Meyer-QuasAPMQPMQPMQ
5GustavGans Edler Herr zu PutlitzGGEHPGEHGEH
6InaMüller  IMIMIMr
7FerdinandHohenzollern Prinz von PreußenFHPPHPPHPP
8ZFml in E1[:E7]:=MaskOn(A1&B1;"gb";;"")
9ZFml in F1[:F7]:=LINKS(MaskOn(A1;"gb";;"");MAX(0;3-LÄNGE(MaskOn(B1;"gb";;""))))&LINKS(MaskOn(B1;"gb";;"");3)
10ZFml in G1[:G7]:=LINKS(MaskOn(A1;"gb";;"");MAX(0;3-LÄNGE(MaskOn(B1;"gb";;""))))&LINKS(MaskOn(B1;"gb";;"");3)&WENNFEHLER
11          (RECHTS(B1;3-LÄNGE(LINKS(MaskOn(A1;"gb";;"");MAX(0;3-LÄNGE(MaskOn(B1;"gb";;""))))&LINKS(MaskOn(B1;"gb";;"");3)));"")

Gruß Luc :-?

Bild

Betrifft: @Luc, Ergebnis bei mir #WERT Gruß
von: robert
Geschrieben am: 14.01.2014 08:18:58
owT

Bild

Betrifft: AW: Eine Aufgabe zum Ausspinnen! ;-)
von: Klaus M.vdT.
Geschrieben am: 14.01.2014 14:56:56
Hallo Robert,
MaskOn ist eine UDF, die Luc mal geschrieben hat. Wenn du die nicht lädst, gibt's natürlich #WERT !
Eine Recherche nach "MaskOn Luc" bringt ziemlich fix diesen Beitrag:
https://www.herber.de/forum/archiv/568to572/t570874.htm#570956
Grüße,
Klaus M.vdT.

Bild

Betrifft: Na gut, nur leider ist die Darstellung der ...
von: Luc:-?
Geschrieben am: 14.01.2014 15:41:38
…UDF in dieser nahezu 9 Jahre alten Darstellung durch spätere Forumssoftware-Updates gestört, Klaus;
ich hatte damals wohl die in HTML dafür vorgesehenen Code-Tags benutzt, was einst auch hier fktionierte. Später hat sich HWH aber auf Pre-Tags beschränkt, so dass die alten Tags unwirksam wdn und die Forumsautomatik sonstwas draus macht.
Ein Anlass für mich, das nun endlich demnächst, wohl noch in diesem Thread, zu korrigieren.
Allerdings hätte ich vermutet, Robert,
dass du die UDF schon hast – das Gezeigte fktioniert in jeder ihrer (abgespeckten) Versionen.
Hätte dann allerdings eher #NAME? vermutet…
Gruß Luc :-?

Bild

Betrifft: Enstellt wurden diese beiden Zeilen, ...
von: Luc:-?
Geschrieben am: 14.01.2014 16:32:01
…die eigentlich nur eine sind, …
On Abs(CInt(InStr(a, z) > 0)) + ZTmask Go
Sub lm, zm, lm

…nämlich On Abs(CInt(InStr(a, z) > 0)) + ZTmask GoSub lm, zm, lm
…also dann insgesamt so:

Function MaskOn(ByVal Text As String, ByVal ZTyp As String, Optional ByVal ZTmask) As String
    Dim i As Integer, a As String, d As String, z As String, ZusZ As String
    Const b = "abcdefghijklmnopqrstuvwxyzäöü", c = "0123456789", e = " +-,.E " 'letztZ=Chr(160)
    If IsMissing(ZTmask) Then
        ZTmask = 1
    ElseIf IsNumeric(ZTmask) Then
        ZTmask = ZTmask Mod 2 + 1
    Else
        ZusZ = ZTmask: ZTmask = 1
    End If
    For i = 1 To Len(Text)
        Select Case lcase(Left(ZTyp, 3))                            'feste ZKomb in ZTyp
        Case "gkz", "buz", "bz", "bzi", "len", "lin", "a0", "an", "anu"
            a = c & b & "ß": z = lcase(Mid(Text, i, 1))
        Case "gk", "gkb", "bst", "buc", "let", "lit"
            a = b & "ß": z = lcase(Mid(Text, i, 1))
        Case "kb", "mil", "min"
            a = b & "ß": z = Mid(Text, i, 1)
        Case "gb", "cal", "cap"
            a = UCase(b): z = Mid(Text, i, 1)
        Case "zf", "dg", "zif", "dig", "num", "00", "000"
            a = c: z = Mid(Text, i, 1)
        Case "zw", "nv", "zah", "zwt", "nvl", "+0", "0.-"
            a = c & e: z = Mid(Text, i, 1)
        Case "mar", "mrk", "mkt", "mtx"
            z = Mid(Text, i, 1)
            If z = Left(Right(ZTyp, 2), 1) Then
                a = z: d = z
            ElseIf z = Right(ZTyp, 1) Then
                a = z: d = z
            ElseIf d = Left(Right(ZTyp, 2), 1) Then
                a = z
            Else: a = ""
            End If
        Case Else                                                   'freie ZKomb in ZTyp
            a = ZTyp: z = Mid(Text, i, 1)
        End Select
        a = a & ZusZ
        On Abs(CInt(InStr(a, z) > 0)) + ZTmask GoSub lm, zm, lm
    Next i
    MaskOn = WorksheetFunction.Substitute(Trim(MaskOn), "  ", " ")
    Exit Function
lm: Rem reduziert maskierte Zeichen (mehrere hintereinander als 1 blank)
    MaskOn = MaskOn & IIf(Right(MaskOn, 1) = " ", "", " ")
    Return
zm: Rem übernommene Zeichen
    MaskOn = MaskOn & Mid(Text, i, 1)
    Return
End Function
Das ist aber eben eine sehr alte Version, bei der grundsätzlich Blank (" ") als Ersatzzeichen verwendet wird. In der von mir verwendeten Version ist ein zusätzliches Argument als Letztes enthalten, mit dem das Ersatzzeichen variabel festgelegt wdn kann. Irgendwo ist da zwar noch der Wurm drin, aber mit Leerstring ("") fktioniert's! In allen anderen Versionen muss leider noch zusätzlich WECHSELN eingesetzt wdn, um die Standard-Ersatz-Blanks zu eliminieren.
Gruß Luc :-?

Bild

Betrifft: Verd... Tastatur! Entstellt! owT
von: Luc:-?
Geschrieben am: 14.01.2014 16:33:29
:-?

Bild

Betrifft: ..ich hab sie....
von: robert
Geschrieben am: 14.01.2014 16:06:10
Hi,
ich hab die Function, aber mit 2 ;;(Semikolon) in den Formeln
kommt #WERT, mit einem ; kommt zB. K P M
Bei Bild von Luc kommt KPM
Woran kann es also liegen ?
Gruß
robert

Bild

Betrifft: Ja, deshalb kommt #WERT! und nicht #NAME?, ...
von: Luc:-?
Geschrieben am: 14.01.2014 16:38:24
…Robert!
Hast du nicht viell auch die abgespeckte neuere Variante MaskOnX? Mir ist so, als ob die so heißen könnte (wg Abspeckung). Da könnte das zusätzliche Argument schon enthalten sein. Ansonsten s.oben, WECHSELN!
Gruß Luc :-?

Bild

Betrifft: AW: Ja, deshalb kommt #WERT! und nicht #NAME?, ...
von: robert
Geschrieben am: 14.01.2014 16:51:57
Hi Luc,
ich werde maskonx suchen...
Aber-Du stellst ein Beispiel hier ein, zeigst die Formeln und das Eregebnis-OK.
Mit welcher Version maskon funktioniert es denn bei dir? ;-)
Du hast es doch sicher getestet !
Gruß
robert


Bild

Betrifft: Das war doch absichtlich außer Konkurrenz ...
von: Luc:-?
Geschrieben am: 14.01.2014 19:01:23
…und nur auf die Ergebnisvariationen orientiert, Robert:
1. alle GBuchstaben, 2. maximal 3 GB'n, 3. stets 3 Buchstaben (ggf um letzten B'st des Nachnamens ergänzt)
Nebenbei, da irrelevant, ist die hier benutzte Version (2.9) ist die hier (Hilfe zu AddIn FXss) beschriebene:
MaskOn ( Text; ZTyp; ZTmask=0; ErsZ=blank )
Ergebnis: Listentext, Zeichenfolge oder Zahl
Erzeugt redu­zierte Zeichenfolge als Listen­text über Maske laut Arg2 mit Einzel­blanks als Ersatz-/Trennzeichen
Arg2.1: anu=alf+nume­risch alf=Buch­stabe kb=Klein­buch­stabe gb=Groß­buch­stabe num=Ziffer zw=Zahlen­werte
Arg2.2: hex=Hexadezimal­zahlen ad=Zell­adresse mar‘’=Markie­rung ‘…’ [‘’=belie­bige diffe­rente Zei­chen ]
Arg2.3: belie­bige direkt einge­tragene Zeichen/kombi­nation (freie Zeichen­kombi­nation hier ggw nicht möglich)
Arg3: 0 [1 ] *nur [ohne ] Zeichen laut Arg2 oder zusätz­lich zu belas­sende Zeichen (implizit 0)
Arg4: fehlt/leer/beliebiges nicht in Arg1 enthaltenes Zeichen
 Bsp1: a) M =MaskOn("5 Mann";"gb"), b) , % =MaskOn("1,6%";"num";1), c) 2,52 =MaskOn("zu 2,52 Euro";"zw")
 Bsp2: a) F0 =MaskOn("F0 byte";"hex"), b) A$1:IV1 =MaskOn("Sum(A$1:IV1)";"ad"), c) Sum =MaskOn("Sum(A:A)";"mar()";1)
 Bsp3: a) a b c =MaskOn("(a+b)*c";"( + * )";1), b) a W n =MaskOn("alle Wellen";"el";1), c) lle el =MaskOn("alle Welt";"el")
Hinweis: Im Falle von Arg2="ad" ist in Arg3 nur ein Ein­zel­zei­chen, keine Folge ein­zel­ner zusätz­lich zu bewah­ren­der Zei­chen wie in allen ande­ren Fäl­len zuläs­sig. Außer­dem muss es unmit­tel­bar vor einer erkenn­baren Zell­adresse in Arg1 auf­treten. Falls hier der soge­nannte Schnitt­men­gen­ope­ra­tor (Leer­zei­chen) auf­tre­ten kann, sollte(n) ggf (ein) ande­re(s) Zei­chen für Arg4 gewählt werden.
Achtung!
Von die­ser Ver­sion wer­den keine Z1S1- und Adres­sen ober­halb von IV65536 (xlVer­sio­nen ab 12) erkannt!

Vs 2.9b -Autor: LSr -1Pub:(2.1) 20050217 herber.de -CDate: 2004/5 -LUpd: 20100206n
Gruß Luc :-?

Bild

Betrifft: OK, werde mich damit befassen :-) owT
von: robert
Geschrieben am: 14.01.2014 19:40:03


Bild

Betrifft: @Klaus M.vdT. , hast Du es probie? t-Gruß
von: robert
Geschrieben am: 14.01.2014 17:18:22


 Bild

Beiträge aus den Excel-Beispielen zum Thema "Regeln zur Formatierung"