Comment extraire rapidement l'adresse e-mail d'une chaîne de texte?
Lorsque vous importez des adresses e-mail du site Web vers une feuille de calcul Excel, il contient toujours du texte non pertinent, mais vous souhaitez maintenant simplement extraire les adresses e-mail pures de la chaîne de texte (voir les captures d'écran suivantes). Comment pouvez-vous obtenir rapidement uniquement les adresses e-mail du texte de la cellule?
Extraire l'adresse e-mail de la chaîne de texte avec la formule
Ici, je vous présente une longue formule pour extraire uniquement les adresses e-mail du texte dans Excel. Veuillez procéder comme suit:
1. Dans la cellule B1 adjacente, entrez cette formule = TRIM (RIGHT (SUBSTITUTE (LEFT (A1, FIND ("", A1 & "", FIND ("@", A1)) - 1), "", REPT ("", LEN (A1))), LEN ( A1))).
2. Puis appuyez Entrer , puis sélectionnez la cellule B1 et faites glisser la poignée de recopie vers la plage dans laquelle vous souhaitez contenir cette formule. Et les adresses e-mail de la plage ont été extraites de la chaîne de texte. Voir la capture d'écran:
Notes:
1. La ponctuation après l'adresse e-mail sera également extraite.
2. Si les cellules ne contiennent pas les adresses e-mail, la formule affichera les valeurs d'erreur.
3. S'il y a plus d'une adresse e-mail dans une cellule, la formule extraira uniquement la première adresse.
Extraire plusieurs adresses e-mail à partir de chaînes de texte
Kutools for Excel's Extraire l'adresse e-mail peut vous aider à extraire les adresses e-mail des chaînes de texte rapidement et facilement. Cliquez pour télécharger Kutools for Excel!
Kutools for Excel: avec plus de 300 compléments Excel pratiques, essai gratuit sans limitation dans 30 jours. Téléchargez et essayez gratuitement maintenant!
Extraire l'adresse e-mail de la chaîne de texte avec la fonction définie par l'utilisateur
À l'exception de la formule ci-dessus, une fonction définie par l'utilisateur peut également vous aider à obtenir l'adresse e-mail à partir de la chaîne de texte.
1. Maintenez le ALT + F11 clés, et il ouvre le Microsoft Visual Basic pour applications fenêtre.
2Cliquez sur insérer > Moduleet collez la macro suivante dans la fenêtre Module.
Function ExtractEmailFun(extractStr As String) As String
'Update by extendoffice
Dim CharList As String
On Error Resume Next
CheckStr = "[A-Za-z0-9._-]"
OutStr = ""
Index = 1
Do While True
Index1 = VBA.InStr(Index, extractStr, "@")
getStr = ""
If Index1 > 0 Then
For p = Index1 - 1 To 1 Step -1
If Mid(extractStr, p, 1) Like CheckStr Then
getStr = Mid(extractStr, p, 1) & getStr
Else
Exit For
End If
Next
getStr = getStr & "@"
For p = Index1 + 1 To Len(extractStr)
If Mid(extractStr, p, 1) Like CheckStr Then
getStr = getStr & Mid(extractStr, p, 1)
Else
Exit For
End If
Next
Index = Index1 + 1
If OutStr = "" Then
OutStr = getStr
Else
OutStr = OutStr & Chr(10) & getStr
End If
Else
Exit Do
End If
Loop
ExtractEmailFun = OutStr
End Function
3. Ensuite, enregistrez le code et entrez la formule = ExtractEmailFun (A1) dans une cellule vide adjacente, voir capture d'écran:
4. Et puis appuyez sur Entrer , sélectionnez la cellule B1 et faites glisser la poignée de recopie vers la plage dont vous avez besoin pour la formule. Et toutes les adresses e-mail ont été extraites du texte de la cellule. Voir la capture d'écran:
Notes:
1. Si les cellules n'ont pas les adresses e-mail, les cellules vides seront révélées.
2. S'il y a plus d'une adresse e-mail dans une cellule, tous les e-mails seront extraits.
Extraire l'adresse e-mail de la chaîne de texte avec le code VBA
Si vous pensez que les formules ci-dessus sont gênantes pour vous, le code VBA suivant peut vous aider à extraire les adresses e-mail en une seule.
1. Maintenez le ALT + F11 clés, et il ouvre un Microsoft Visual Basic pour applications fenêtre.
2Cliquez sur insérer > Moduleet collez la macro suivante dans le Fenêtre du module.
VBA: extraire les adresses e-mail de la chaîne de texte
Sub ExtractEmail()
'Update 20130829
Dim WorkRng As Range
Dim arr As Variant
Dim CharList As String
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
arr = WorkRng.Value
CheckStr = "[A-Za-z0-9._-]"
For i = 1 To UBound(arr, 1)
For j = 1 To UBound(arr, 2)
extractStr = arr(i, j)
outStr = ""
Index = 1
Do While True
Index1 = VBA.InStr(Index, extractStr, "@")
getStr = ""
If Index1 > 0 Then
For p = Index1 - 1 To 1 Step -1
If Mid(extractStr, p, 1) Like CheckStr Then
getStr = Mid(extractStr, p, 1) & getStr
Else
Exit For
End If
Next
getStr = getStr & "@"
For p = Index1 + 1 To Len(extractStr)
If Mid(extractStr, p, 1) Like CheckStr Then
getStr = getStr & Mid(extractStr, p, 1)
Else
Exit For
End If
Next
Index = Index1 + 1
If outStr = "" Then
outStr = getStr
Else
outStr = outStr & Chr(10) & getStr
End If
Else
Exit Do
End If
Loop
arr(i, j) = outStr
Next
Next
WorkRng.Value = arr
End Sub
3. Puis appuyez F5 clé pour exécuter ce code, et vous devez sélectionner une plage que vous souhaitez utiliser le VBA dans la boîte de dialogue pop-out, voir capture d'écran:
4. Puis clique OKet les adresses e-mail ont été extraites des chaînes de texte sélectionnées. Voir les captures d'écran:
Notes:
1. Si les cellules n'ont pas les adresses e-mail, cela révélera des cellules vides.
2. Tous les e-mails seront extraits, s'il y a plus d'une adresse e-mail dans une cellule.
3. Les e-mails extraits couvriront les données d'origine, vous feriez donc mieux de sauvegarder les données en premier si vous en avez besoin.
Extraire l'adresse e-mail de la chaîne de texte avec Kutools for Excel en un seul clic
Les méthodes ci-dessus semblent un peu compliquées pour notre débutant Excel, ici, je peux vous recommander un outil rapide et facile- Kutools for Excel, Avec son Extraire l'adresse e-mail utilitaire, vous pouvez extraire les adresses e-mail des chaînes de texte sans trop d'effort.
Kutools for Excel : avec plus de 300 compléments Excel pratiques, essai gratuit sans limitation en 30 jours. |
Si vous avez installé Kutools for Excel, procédez comme suit:
1. Sélectionnez les cellules contenant les chaînes de texte.
2Cliquez sur Kutools > Texte > Extraire l'adresse e-mail, voir capture d'écran:
3. Et un Extraire l'adresse e-mail La boîte de dialogue apparaîtra, sélectionnez une cellule où vous souhaitez mettre le résultat, voir capture d'écran:
4. Puis clique OK bouton, toutes les adresses e-mail ont été extraites des chaînes de texte, voir capture d'écran:
Cliquez pour télécharger et essayer gratuitement Kutools for Excel maintenant !
Démo : extraire l'adresse e-mail d'une chaîne de texte avec Kutools for Excel
Article connexe:
Comment extraire des domaines de plusieurs adresses e-mail dans Excel?
Meilleurs outils de productivité bureautique
Améliorez vos compétences Excel avec Kutools for Excel et faites l'expérience d'une efficacité comme jamais auparavant. Kutools for Excel offre plus de 300 fonctionnalités avancées pour augmenter la productivité et gagner du temps. Cliquez ici pour obtenir la fonctionnalité dont vous avez le plus besoin...
Office Tab apporte une interface à onglets à Office et facilite grandement votre travail
- Activer l'édition et la lecture par onglets dans Word, Excel, PowerPoint, Publisher, Access, Visio et Project.
- Ouvrez et créez plusieurs documents dans de nouveaux onglets de la même fenêtre, plutôt que dans de nouvelles fenêtres.
- Augmente votre productivité de 50% et réduit des centaines de clics de souris chaque jour!