Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Formel-Suche um Teil aus Zelle zu bekommen
#1
Hallo zusammen,

ich habe einen großen Datensatz in Form einer CSV-Datei. Diese hat in etwa 5.000 Zeilen mit jeweils einer Zelle pro Zeile. In diesen Zellen stecken ganz viele Informationen, unter anderen versteckt sich dort drin eine E-Mail Adresse, die ich gerne in einer separaten Spalte abbilden würde. Leider ist der Aufbau nicht immer gleich und es gibt verschiedene Möglichkeiten. Anbei mal ein Beispiel. Der Aufbau der beiden Zellen unterscheidet sich. Was gleich ist, dass vor und nach der E-Mail Adresse immer eine Komma ist.

Jetzt suche ich eine Formel, die dies vielleicht rauslösen kann.

Besten Dank für eure Hilfe.

LG Felix
Antworten Top
#2
Hallo Felix,

mit einer programmierten Funktion (UDF) eingebaut in ein allgemeines Modul könnte man es so lösen:

Code:
Option Explicit
Public Function Tuwat(strIn As String)
Dim intI As Integer
Dim varArr As Variant
Tuwat = ""
If strIn <> "" Then
    varArr = Split(strIn, ",")
    For intI = 0 To UBound(varArr)
        If InStr(varArr(intI), "@") > 0 Then
            Tuwat = varArr(intI)
        End If
    Next intI
End If
End Function


Angehängte Dateien
.xlsm   E-Mail.xlsm (Größe: 1,47 MB / Downloads: 7)
helmut

Für mich ist die Möglichkeit in Excel an Zellen und Bereichen Namen zu vergeben die wichtigste Funktionalität.
Sie macht Formeln und den VBA-code verständlicher. Für Makros gilt die Regel: "Nur über benannte Bereiche auf den Inhalt der Zellen zugreifen."
Und wofür sind Regeln da? Um nachzudenken bevor man sie bricht.





[-] Folgende(r) 1 Nutzer sagt Danke an Ego für diesen Beitrag:
  • Felix T.
Antworten Top
#3
Hallo Helmut,

Unglaublich Smile Es klappt sofort! Vielen Dank dir!!!!

LG Felix
Antworten Top
#4
Hi,

ginge auf jeden Fall so:


Code:
=TEIL(A1;SUCHEN("#";WECHSELN(A1;",";"#";LÄNGE(TEIL(A1;1;SUCHEN("@";A1)))-LÄNGE(WECHSELN(TEIL(A1;1;SUCHEN("@";A1));",";""))))+1;SUCHEN("#";WECHSELN(A1;",";"#";LÄNGE(TEIL(A1;1;SUCHEN("@";A1)))-LÄNGE(WECHSELN(TEIL(A1;1;SUCHEN("@";A1));",";""))+1))-SUCHEN("#";WECHSELN(A1;",";"#";LÄNGE(TEIL(A1;1;SUCHEN("@";A1)))-LÄNGE(WECHSELN(TEIL(A1;1;SUCHEN("@";A1));",";""))))-1)
=TEIL(A1;AGGREGAT(14;6;SPALTE(A1:INDEX(1:1;SUCHEN("@";A1)))/(TEIL(A1;SPALTE(A1:INDEX(1:1;SUCHEN("@";A1)));1)=",");1)+1;AGGREGAT(15;6;SPALTE(INDEX(1:1;SUCHEN("@";A1)):ZZ1)/(TEIL(A1;SPALTE(INDEX(1:1;SUCHEN("@";A1)):ZZ1);1)=",");1)-AGGREGAT(14;6;SPALTE(A1:INDEX(1:1;SUCHEN("@";A1)))/(TEIL(A1;SPALTE(A1:INDEX(1:1;SUCHEN("@";A1)));1)=",");1)-1)
Evtl auch mit Daten Text in Spalten.
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
[-] Folgende(r) 1 Nutzer sagt Danke an BoskoBiati für diesen Beitrag:
  • Felix T.
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste