Microsoft Excel

Herbers Excel/VBA-Archiv

alle Inhalte RECHTS vom letzten Punkt / ? / !

Betrifft: alle Inhalte RECHTS vom letzten Punkt / ? / ! von: Werner
Geschrieben am: 03.08.2014 12:41:33

Hallo Excel-Freunde
ich bin auf der Suche nach einer Formel, die mir
den Inhalte der Zelle ausgibt mit folgender Bedingung:
Den Inhalt RECHTS vom letzten Punkt oder Fragezeichen oder Ausrufezeichen

Beispiel
test.test2.test3 = test 3
test.test2.test3!test4 = test4
test.test2. = ""

Soll heissen: wenn als letzte Stelle ein Punkt (oder Fragezeichen/Ausrufez) steht
soll in der Zelle nichts ausgegeben werden.

Hat jemand einen Tip ?

Freu mich darauf :)
Besten Gruss
Werner

  

Betrifft: AW: alle Inhalte RECHTS vom letzten Punkt / ? / ! von: Hajo_Zi
Geschrieben am: 03.08.2014 13:25:15

Hallo Werner,

löse es mit VBA.

Tabelle3

 CD
27test.test2.test3test3
28test.test2.test3!test4test4
29test.test2. 
30test.test2?test3.test4test4
31test.test2?test3?test5test5

verwendete Formeln
Zelle Formel Bereich N/A
D27: D31=LetzterTeil(C27)  
Excel-Inn.de
Hajo-Excel.de
XHTML-Tabelle zur Darstellung in Foren, einschl. der neuen Funktionen ab Version 2007
Add-In-Version 18.11 einschl. 64 Bit


Option Explicit

Function LetzterTeil(raRange As Range)
    ' ein Punkt (oder Fragezeichen/Ausrufez)
    If InStr(raRange, ".") > 0 Then
        LetzterTeil = Mid(raRange, InStrRev(raRange, ".") + 1)
    End If
    If InStr(LetzterTeil, "?") > 0 Then
        LetzterTeil = Mid(LetzterTeil, InStrRev(LetzterTeil, "?") + 1)
    End If
    If InStr(LetzterTeil, "!") > 0 Then
        LetzterTeil = Mid(LetzterTeil, InStrRev(LetzterTeil, "!") + 1)
    End If
End Function
GrußformelHomepage


  

Betrifft: AW: alle Inhalte RECHTS vom letzten Punkt / ? / ! von: Hajo_Zi
Geschrieben am: 03.08.2014 13:40:48

Hallo Werner,

es war noch ein kleiner Fehler. Fall 1

Tabelle3

 CD
26Test?TestTest
27test.test2.test3test3
28test.test2.test3!test4test4
29test.test2.test.test2.
30test.test2?test3.test4test4
31test.test2?test3?test5test5

verwendete Formeln
Zelle Formel Bereich N/A
D26: D31=LetzterTeil(C26)  
Excel-Inn.de
Hajo-Excel.de
XHTML-Tabelle zur Darstellung in Foren, einschl. der neuen Funktionen ab Version 2007
Add-In-Version 18.11 einschl. 64 Bit


Option Explicit

Function LetzterTeil(raRange As Range)
    ' ein Punkt (oder Fragezeichen/Ausrufez)
    If InStr(raRange, ".") > 0 Then
        LetzterTeil = Mid(raRange, InStrRev(raRange, ".") + 1)
    End If
    If Len(LetzterTeil) = 0 Then
        LetzterTeil = raRange
    End If
    If InStr(LetzterTeil, "?") > 0 Then
        LetzterTeil = Mid(LetzterTeil, InStrRev(LetzterTeil, "?") + 1)
    End If
    If InStr(LetzterTeil, "!") > 0 Then
        LetzterTeil = Mid(LetzterTeil, InStrRev(LetzterTeil, "!") + 1)
    End If
End Function
Gruß Hajo


  

Betrifft: per Arrayformel von: WF
Geschrieben am: 03.08.2014 13:46:30

Hi,

{=TEIL(A1;MAX((TEIL(A1;ZEILE(1:99);1)={"."."!"."?"})*ZEILE(1:99))+1;99)}

Salut WF


  

Betrifft: THX Hajo + WF von: Werner
Geschrieben am: 03.08.2014 14:24:45

Hallo
Danke für Beiden für die Lösungen ;)
funktionieren einwandfrei - was ich jetzt bei 100.000 Zeilen gesehen hab ;)
...
und was ich toll finde:
Ich verstehe beide Lösungen - und: kann sie entsprechend erweitern :)) z.B. gibt es auch Trennzeichen wie # und * ... usw

Danke für Eure superschnelle Unterstützung :)
Gruss
Werner


 

Beiträge aus den Excel-Beispielen zum Thema "alle Inhalte RECHTS vom letzten Punkt / ? / !"