Email aus Text auslesen
#1
Hallo Ihr alle!

Hoffe Ihr seid gesund und munter ...

Ich habe eine Liste mit Text in Spalte A in jeweils einer Zelle (A1, A2 usw.)

In den meisten Texten (nicht allen) befinden sich eine (oder mehrere) Email Addressen.

Die meisten Email Addressen befinden sich am Ende des jeweiligen Textes.

Da es sich um internationale Freemail und Business Email Adressen handelt, ist der Aufbau der jeweiligen Email Addresse immer etwas unterschiedlich:

xxx.xxx@gmail.com
xxx@x-xxx.de
xxx@xxx.org
xxx-xxx-xxx@xxx-xxx.com 
usw.

Allen gleich ist natürlich das @ in der Mitte und jeweils ein Leerzeichen vor und hinter der Email Adresse.

Da mich die (soweit mehrere vorhanden) letzte Email im Text am meisten interessiert, könnte man von hinten suchen und (nur) die erste Email die gefunden wird auslesen.

Da es sich um sensible Daten in den Texten handelt, kann ich euch leider keine Originalbeispiele zum Testen zur Verfügung stellen:

Ich habe aber eine neutralisierte Liste angehängt, mit und ohne Email im Text.

Freue mich über eure Vorschläge

Danke und Gruss

Michael


Angehängte Dateien
.xlsx   Email aus text auslesen.xlsx (Größe: 8,77 KB / Downloads: 8)
Antworten Top
#2
Sad 
B1: =SVERWEIS("*@*";LET(
x;XMLFILTERN("<a><b>"&WECHSELN(A1;" ";"</b><b>")&"</b></a>";"//b");
y;ZEILEN(x);
INDEX(x;SEQUENZ(y;;y;-1)));1;)


Der XMLFILTERN-Teil wurde von shift-del gefunden.

Das Beispiel mit mehreren EMAILs musste ich mir übrigens selbst einbauen.

EDIT: sigi hat recht, hier für xl2013 (ohne LET und SEQUENZ):

B1: =SVERWEIS("*@*";INDEX(
XMLFILTERN("<a><b>"&WECHSELN(A1;" ";"</b><b>")&"</b></a>";"//b");ZEILEN(
XMLFILTERN("<a><b>"&WECHSELN(A1;" ";"</b><b>")&"</b></a>";"//b"))+1-ZEILE(INDIREKT("1:"&ZEILEN(
XMLFILTERN("<a><b>"&WECHSELN(A1;" ";"</b><b>")&"</b></a>";"//b")))));1;)
WIN/MSO schicken angeblich alle 5 Sekunden Deinen Screen heim zu Papa (recall-Klausel). 
[-] Folgende(r) 1 Nutzer sagt Danke an LCohen für diesen Beitrag:
  • echo
Antworten Top
#3
Hallo Michael,

ich fürchte deine xl-Versionen 2013/17 kennen diese neuen Funktionen von LCohen, shift-del noch nicht.
Für "altes" Excel kannst du meine VBA-Fkt. hernehmen. (s. Mappe)

Gruß Sigi


Angehängte Dateien
.xlsm   Email auslesen.xlsm (Größe: 18,27 KB / Downloads: 4)
[-] Folgende(r) 1 Nutzer sagt Danke an Sigi.21 für diesen Beitrag:
  • MichaelH
Antworten Top
#4
Hi!

Wenn ich die Formel =

=SVERWEIS("*@*";LET(x;XMLFILTERN(""&WECHSELN(A1;" ";"")&"";"//b");y;ZEILEN(x);INDEX(x;SEQUENZ(y;;y;-1)));1;)

in B1 der B2 usw.  einfüge steht da nur #NAME?
Antworten Top
#5
Habs oben korrigiert für Dein xl2013. 

XMLFILTERN übrigens seit xl2013. Und, etwas teuflisch: xlWeb kennt zwar LET+SEQUENZ, aber nicht XMLFILTERN.
WIN/MSO schicken angeblich alle 5 Sekunden Deinen Screen heim zu Papa (recall-Klausel). 
Antworten Top
#6
Hi ...

... kommt bei immer noch #NAME?
Antworten Top
#7

.xlsx   Email aus text auslesen.xlsx (Größe: 12,11 KB / Downloads: 3)

Es gibt kein Excel 2017. Meinst Du etwa 2007?
WIN/MSO schicken angeblich alle 5 Sekunden Deinen Screen heim zu Papa (recall-Klausel). 
Antworten Top
#8
Hallo zusammen,
habe mal ein wenig "rumgespielt" und versucht das mit meinem (2019er) Excel zu lösen:
Code:
=WENNFEHLER(TEIL(A1;FINDEN("#";WECHSELN(A1;" ";"#";FINDEN("@";A1)-LÄNGE(WECHSELN(TEIL(A1;1;FINDEN("@";A1));" ";""))))+1;FINDEN(" ";TEIL(A1;FINDEN("#";WECHSELN(A1;" ";"#";FINDEN("@";A1)-LÄNGE(WECHSELN(TEIL(A1;1;FINDEN("@";A1));" ";""))))+1;99)));"")

In der Beispiel-Datei sind die Einzelschritte erkennbar
Gruß Holger

PS

Zitat:ich fürchte deine xl-Versionen 2013/17 kennen diese neuen Funktionen von LCohen, shift-del noch nicht.

Habe ich versucht einzufügen, leider nur NV bzw. Name


Angehängte Dateien
.xlsx   Email aus text auslesen.xlsx (Größe: 17,8 KB / Downloads: 2)
[-] Folgende(r) 1 Nutzer sagt Danke an echo für diesen Beitrag:
  • MichaelH
Antworten Top
#9
Excel 2007

Wenn ich Deine Liste öffne, stehen in Spalte F die Emailadressen (soweit vorhanden).

Wenn ich weitere Texte in Spalte A hinzufüge und die Formel in Spalte F dementsprechend verlängere steht da wieder nur #NAME?

Hallo Holger,

Deine Formel klappt prima

Hallo Siggi,

Deine übrigens auch
Antworten Top
#10
Tja, ist halt doof, wenn man noch nicht einmal seine Version richtig hinterlegt. Mit 2013 (die nennst Du auch) sollte es gehen, weil XMLFILTERN dort vorhanden ist. Also hast Du eben mit 2007 wieder falsch geantwortet.

OK, ich habe beim ersten Versuch ja auch nicht aufgepasst.
WIN/MSO schicken angeblich alle 5 Sekunden Deinen Screen heim zu Papa (recall-Klausel). 
[-] Folgende(r) 1 Nutzer sagt Danke an LCohen für diesen Beitrag:
  • MichaelH
Antworten Top


Gehe zu:


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