Extraire rapidement l'adresse e-mail d'une chaîne de texte dans Excel - Un guide complet
Lorsque vous traitez des données importées ou des chaînes de texte mixtes dans Excel, vous devrez peut-être extraire des adresses e-mail rapidement et avec précision. Que vous travailliez avec une liste d'adresses e-mail mélangée à d'autres textes ou que vous ayez besoin d'extraire des e-mails d'un grand ensemble de données, il existe plusieurs méthodes efficaces pour faire le travail. Ce guide vous expliquera diverses techniques pour extraire des adresses e-mail à partir de chaînes de texte, notamment en utilisant Flash Fill, Kutools for Excel, des formules, des fonctions définies par l'utilisateur et du code VBA. Chaque méthode offre des avantages différents selon vos besoins et la complexité des données.
Extraire l'adresse e-mail de la chaîne de texte avec Flash Fill
Excel Remplissage Flash La fonctionnalité fournit un moyen rapide et efficace de formater ou d'extraire automatiquement des données en fonction des modèles que vous définissez. Dans cette section, nous verrons comment utiliser Flash Fill pour extraire des adresses e-mail à partir d'une colonne de données mixtes. Cette méthode est particulièrement utile lorsqu'il s'agit de listes contenant différents types de texte et il suffit d'extraire les adresses e-mail.
- Cliquez sur la première cellule de la colonne adjacente (par exemple, B2) où vous souhaitez que les adresses e-mail apparaissent.
- Saisissez manuellement l'adresse e-mail dans la ligne correspondante de la colonne A, puis appuyez sur Entrer. Par exemple, si A2 contient "Ana Varela@gmail.com," taper " Ana Varela@gmail.com " en B2.
- Restez dans la cellule B3, appuyez sur Ctrl + Eto activer Remplissage Flash. Excel remplira automatiquement le reste de la colonne B avec les adresses e-mail extraites.
- Remplissage Flash est disponible dans Excel 2013 et versions ultérieures. Si vous utilisez Excel 2010 ou une version antérieure, cette fonctionnalité peut ne pas être disponible.
- Assurez-vous que les cellules dans lesquelles vous appliquez Flash Fill sont formatées en « Texte » pour éviter les problèmes de formatage indésirables.
Un clic pour extraire par lots l'adresse e-mail de la chaîne de texte avec Kutools
Lorsqu'il s'agit d'extraire des adresses e-mail d'un ensemble de données, Kutools for Excel's Extraire l'adresse e-mail La fonctionnalité offre une alternative puissante au Flash Fill d'Excel. Alors que Flash Fill propose une approche manuelle de la reconnaissance de formes, Kutools for Excel automatise le processus en un seul clic, ce qui le rend idéal pour gérer efficacement de gros volumes de données. Cet outil simplifie non seulement le processus d'extraction, mais garantit également précision et rapidité, en particulier lorsqu'il s'agit d'ensembles de données complexes ou incohérents.
Après avoir téléchargé et installé Kutools pour Excel, procédez comme suit:
- Sélectionnez la plage de cellules à partir de laquelle vous souhaitez extraire les adresses e-mail. Allez ensuite sélectionner Kutools > Texte > Extraire l'adresse e-mail
- Dans le popping Extraire l'adresse e-mail boîte de dialogue, sélectionnez une cellule pour afficher l'adresse e-mail et cliquez sur OK
Résultat
Ensuite, toutes les adresses e-mail de chaque cellule de la plage sélectionnée sont immédiatement extraites.
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 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.
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!