Note: The other languages of the website are Google-translated. Back to English

텍스트 문자열에서 이메일 주소를 빠르게 추출하는 방법은 무엇입니까?

Website에서 Excel 워크 시트로 일부 이메일 주소를 가져 오면 항상 관련없는 텍스트가 포함되지만 이제는 텍스트 문자열에서 순수한 이메일 주소 만 추출하려고합니다 (다음 스크린 샷 참조). 어떻게 셀 텍스트에서만 이메일 주소를 빠르게 가져올 수 있습니까?

문서 추출 이메일1 -2 문서 추출 이메일2

수식을 사용하여 텍스트 문자열에서 이메일 주소 추출

사용자 정의 함수로 텍스트 문자열에서 이메일 주소 추출

VBA 코드로 텍스트 문자열에서 이메일 주소 추출

Excel 용 Kutools를 사용하여 텍스트 문자열에서 이메일 주소 추출


화살표 블루 오른쪽 거품 수식을 사용하여 텍스트 문자열에서 이메일 주소 추출

여기에서는 Excel의 텍스트에서 이메일 주소 만 추출하는 긴 공식을 소개합니다. 다음과 같이하십시오 :

1. 인접한 셀 B1에 다음 수식을 입력하십시오. = TRIM (RIGHT (SUBSTITUTE (LEFT (A1, FIND ( "", A1 & "", FIND ( "@", A1))-1), "", REPT ( "", LEN (A1)))), LEN ( A1))).

문서 추출 이메일3

2. 그런 다음 엔터 버튼 키를 누른 다음 B1 셀을 선택하고 채우기 핸들을이 수식을 포함 할 범위로 끕니다. 그리고 범위의 이메일 주소는 텍스트 문자열에서 추출되었습니다. 스크린 샷보기 :

문서 추출 이메일4

배송 시 요청 사항:

1. 이메일 주소 뒤의 구두점도 추출됩니다.

2. 셀에 전자 메일 주소가 없으면 수식에 오류 값이 표시됩니다.

3. 셀에 둘 이상의 이메일 주소가있는 경우 수식은 첫 번째 주소 만 추출합니다.


텍스트 문자열에서 여러 이메일 주소 추출

Excel 용 Kutools 이메일 주소 추출 빠르고 편리하게 텍스트 문자열에서 이메일 주소를 추출 할 수 있습니다. Excel 용 Kutools를 다운로드하려면 클릭하십시오!

문서 추출 이메일 -1

Excel 용 Kutools: 300 개 이상의 편리한 Excel 추가 기능으로 30 일 동안 제한없이 무료로 사용해 볼 수 있습니다. 지금 다운로드 및 무료 평가판!


화살표 블루 오른쪽 거품 사용자 정의 함수로 텍스트 문자열에서 이메일 주소 추출

위의 공식을 제외하고 사용자 정의 함수는 텍스트 문자열에서 이메일 주소를 가져 오는데도 도움이 될 수 있습니다.

1. 누르고 ALT + F11 키가 열립니다. 응용 프로그램 용 Microsoft Visual Basic 창.

2. 딸깍 하는 소리 끼워 넣다 > 모듈을 클릭하고 모듈 창에 다음 매크로를 붙여 넣습니다.

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. 그런 다음 코드를 저장하고 공식을 입력하십시오. = ExtractEmailFun (A1) 인접한 빈 셀에서 스크린 샷 참조 :

문서 추출 이메일5

4. 그런 다음 엔터 버튼 키를 누르고 B1 셀을 선택한 다음 채우기 핸들을 수식이 필요한 범위로 끕니다. 그리고 모든 이메일 주소는 셀 텍스트에서 추출되었습니다. 스크린 샷보기 :

문서 추출 이메일6

배송 시 요청 사항:

1. 셀에 이메일 주소가없는 경우 빈 셀이 표시됩니다.

2. 셀에 둘 이상의 이메일 주소가있는 경우 모든 이메일이 추출됩니다.


화살표 블루 오른쪽 거품 VBA 코드로 텍스트 문자열에서 이메일 주소 추출

위의 수식이 귀찮다고 생각되면 다음 VBA 코드를 사용하여 이메일 주소를 한 번에 추출 할 수 있습니다.

1. 누르고 ALT + F11 키를 열고 응용 프로그램 용 Microsoft Visual Basic 창.

2. 딸깍 하는 소리 끼워 넣다 > 모듈을 클릭하고 다음 매크로를 모듈 창.

VBA : 텍스트 문자열에서 이메일 주소 추출

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. 그런 다음 F5 이 코드를 실행하려면 키를 누르고 팝업 대화 상자에서 VBA를 사용할 범위를 선택해야합니다. 스크린 샷을 참조하십시오.

문서 추출 이메일7

4. 그런 다음 OK, 이메일 주소가 선택한 텍스트 문자열에서 추출되었습니다. 스크린 샷보기 :

문서 추출 이메일8 -2 문서 추출 이메일9

배송 시 요청 사항:

1. 셀에 이메일 주소가 없으면 빈 셀이 표시됩니다.

2. 셀에 둘 이상의 이메일 주소가있는 경우 모든 이메일이 추출됩니다.

3. 추출 된 이메일은 원본 데이터를 포함하므로 필요한 경우 먼저 데이터를 백업하는 것이 좋습니다.


화살표 블루 오른쪽 거품 한 번의 클릭으로 Excel 용 Kutools로 텍스트 문자열에서 이메일 주소 추출

위의 방법은 Excel 초보자에게는 다소 복잡해 보입니다. 여기에서 빠르고 쉬운 도구를 추천 할 수 있습니다. Excel 용 Kutools그와 이메일 주소 추출 유틸리티를 사용하면 많은 노력없이 텍스트 문자열에서 이메일 주소를 추출 할 수 있습니다.

Excel 용 Kutools : 300 개 이상의 편리한 Excel 추가 기능으로 30 일 동안 제한없이 무료로 사용해 볼 수 있습니다..

설치 한 경우 Excel 용 Kutools, 다음과 같이하십시오.

1. 텍스트 문자열이 포함 된 셀을 선택합니다.

2. 딸깍 하는 소리 쿠툴 > 본문 > 이메일 주소 추출, 스크린 샷 참조 :

3. 그리고 이메일 주소 추출 대화 상자가 나타나면 결과를 넣을 셀을 선택하십시오. 스크린 샷을 참조하십시오.

문서 추출 이메일9

4. 그런 다음 OK 버튼을 클릭하면 모든 이메일 주소가 텍스트 문자열에서 추출되었습니다. 스크린 샷 참조 :

문서 추출 이메일9

Excel 용 Kutools를 지금 다운로드하고 무료로 평가하려면 클릭하십시오!


화살표 블루 오른쪽 거품 데모 : Excel 용 Kutools를 사용하여 텍스트 문자열에서 이메일 주소 추출

Excel 용 Kutools: 300 개 이상의 편리한 Excel 추가 기능으로 30 일 동안 제한없이 무료로 사용해 볼 수 있습니다. 지금 다운로드 및 무료 평가판!

관련 기사 :

Excel의 여러 이메일 주소에서 도메인을 추출하는 방법은 무엇입니까?


최고의 사무 생산성 도구

Excel용 Kutools는 대부분의 문제를 해결하고 생산성을 80% 증가시킵니다.

  • 재사용: 빠르게 삽입 복잡한 공식, 차트 그리고 이전에 사용한 모든 것; 셀 암호화 암호로; 메일 링리스트 생성 이메일 보내기 ...
  • 슈퍼 포뮬러 바 (여러 줄의 텍스트와 수식을 쉽게 편집 할 수 있습니다.) 레이아웃 읽기 (많은 수의 셀을 쉽게 읽고 편집합니다.) 필터링 된 범위에 붙여 넣기...
  • 셀 / 행 / 열 병합 데이터 손실없이; 셀 내용 분할; 중복 행 / 열 결합... 중복 셀 방지; 범위 비교...
  • 중복 또는 고유 선택 행; 빈 행 선택 (모든 셀이 비어 있음); 슈퍼 찾기 및 퍼지 찾기 많은 통합 문서에서; 무작위 선택 ...
  • 정확한 사본 수식 참조를 변경하지 않고 여러 셀; 참조 자동 생성 여러 시트에; 글 머리 기호 삽입, 확인란 등 ...
  • 텍스트 추출, 텍스트 추가, 위치 별 제거, 공간 제거; 페이징 부분합을 만들고 인쇄합니다. 셀 내용과 주석 간 변환...
  • 슈퍼 필터 (다른 시트에 필터 구성표 저장 및 적용) 고급 정렬 월 / 주 / 일, 빈도 등 특수 필터 굵은 기울임 꼴로 ...
  • 통합 문서와 워크 시트 결합; 키 열을 기반으로 테이블 병합; 데이터를 여러 시트로 분할; xls, xlsx 및 PDF 일괄 변환...
  • 300개 이상의 강력한 기능. Office / Excel 2007-2021 및 365를 지원합니다. 모든 언어를 지원합니다. 기업 또는 조직에서 쉽게 배포할 수 있습니다. 전체 기능은 30일 무료 평가판입니다. 60일 환불 보장.
kte 탭 201905

Office Tab은 Office에 탭 인터페이스를 제공하여 작업을 훨씬 쉽게 만듭니다.

  • Word, Excel, PowerPoint에서 탭 편집 및 읽기 사용, Publisher, Access, Visio 및 Project.
  • 새 창이 아닌 동일한 창의 새 탭에서 여러 문서를 열고 만듭니다.
  • 생산성을 50% 높이고 매일 수백 번의 마우스 클릭을 줄입니다!
officetab 하단
코멘트 (40)
아직 평가가 없습니다. 가장 먼저 평가하세요!
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
LUL은 이 코드를 이메일 추출에 사용합니다. Sub lula() Dim d1 As Variant cntr = 0 rowstring = ActiveCell.Offset(0, 0).Value d1 = Split(rowstring, " ") Do 'MsgBox d1(cntr) cntr = cntr + 1 If d1(cntr) = "" then GoTo ttt If InStr(d1(cntr), "@") then MsgBox d1(cntr) GoTo ttt End If Loop While d1(cntr) "" ttt: End Sub
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
매우 도움이 됩니다, 감사합니다!
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
이 공식에 감사드립니다! 이메일 마케팅 목록을 작성하기 위해 잘못 작성된 Excel 시트에서 1500개의 이메일을 추출해야 하는 엄청난 작업을 절약했습니다. 마침내 내가 당신의 공식을 찾았을 때 그것은 순식간이었습니다.
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
좋은 코드! 정말 유용합니다. 불행히도 세미콜론과 같이 여러 이메일 주소를 유용하게 분리하지 않고 연결하고 있습니다. 구분 기호를 어떻게 추가하시겠습니까?
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
VBA 없음 셀에 붙여넣을 수식만 참조 참조(아래 예는 셀 A1을 참조) =TRIM(RIGHT(SUBSTITUTE(LEFT(A1,FIND("@",A1)-1))," ",REPT( " ",99)),99))&MID(A1,FIND("@",A1),FIND(" ",A1&" ",FIND("@",A1))-FIND("@",A1) )
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
[quote]... =TRIM(RIGHT(SUBSTITUTE(LEFT(A1,FIND("@",A1)-1)," ",REPT(" ",99)),99))&MID(A1,FIND("@",A1),FIND(" ",A1&" ",FIND("@",A1))-FIND("@",A1))나에게서부터로[/인용] "ME"에게 감사드립니다. Google 스프레드시트에서 그대로 작동합니다!
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
[인용] VBA는 셀에 붙여넣을 수식만 변경하면 됩니다. 참조만 변경하면 됩니다(아래 예는 셀 A1을 참조합니다). =TRIM(RIGHT(SUBSTITUTE(LEFT(A1,FIND("@",A1)-1))," " ,REPT(" ",99)),99))&MID(A1,FIND("@",A1),FIND(" ",A1&" ",FIND("@",A1))-FIND("@" ,A1))나에게서부터로감사합니다. 그것은 나를 위해 일했습니다.
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
놀라운! VBS 스크립트에 대한 큰 안부! 고마워!
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
정말 감사합니다, 이것은 매우 편리합니다!
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
이것은 훌륭하지만 이제 문제가 있습니다. 모든 이메일 주소(예: abcd@aol com) 사이에 마침표 대신 공백이 있으므로 공식은 모든 이메일 주소(.net, .com 등)의 끝을 새 열에 넣지 않습니다. 이 문제를 해결하려면 어떻게 해야 하나요?
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
안녕하세요 여러분, 저도 전자 메일 주소를 구분하는 방법을 찾고 있었는데 Outlook에 넣을 수 있었습니다. 이메일 주소 사이에 ";" 구분 기호를 추가하여 함께 실행되지 않도록 했습니다. 당신이 무슨 생각을하는지 제게 알려주세요. 함께 만들어주신 원작자님 감사합니다! 함수 ExtractEmailFun(extractStr As String) As String 'Update 20150723 Dim CharList As String On Error Resume Next CheckStr = "[A-Za-z0-9._-]" ExtractEmailFun = "" 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 getStr = getStr Exit If Next Index = Index1 + 1 getStr = getStr & "; " ExtractEmailFun = ""이면 ExtractEmailFun = getStr Else ExtractEmailFun = ExtractEmailFun & Chr(10) & getStr End If Else Exit Do End If 루프 종료 기능
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
원본 스크립트 작성자에게 감사드립니다. 여러 전자 메일 주소 사이에 ";" 구분 기호를 추가했습니다. 함수 ExtractEmailFun(extractStr As String) As String 'Update 20150723 Dim CharList As String On Error Resume Next CheckStr = "[A-Za-z0-9._-]" ExtractEmailFun = "" 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 getStr = getStr Exit If Next Index = Index1 + 1 getStr = getStr & "; " ExtractEmailFun = ""이면 ExtractEmailFun = getStr Else ExtractEmailFun = ExtractEmailFun & Chr(10) & getStr End If Else Exit Do End If 루프 종료 기능
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
이것은 좋다! 감사합니다.
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
형, 당신은 정말 천재입니다. 아래 공식은 저에게 효과적이었고 몇 시간이 걸리던 수동 개입을 저장했습니다. =TRIM(RIGHT(SUBSTITUTE(LEFT(H2,FIND (" ",H2&" ",FIND("@",H2))-1)," ", REPT(" ",LEN(H2))),LEN(H2))) 신의 축복이 있기를
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
이메일을 추출하는 방법에 대한 자세한 정보가 필요합니다
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
친애하는 각하, a.hamilton@tradsingapore.com.sg aarabest@emirates.com.net.ae admin@countrywide.com.my 아래의 내 이메일 목록에서 올바른 이메일 ID를 추출하려면 어떻게 해야 하나요?
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
공식이 저에게 큰 도움이 되었기 때문에 제 경험을 공유해야겠다고 생각했습니다. 때때로 너무 길어서 수식 오류가 발생하는 html 웹스크랩 목록에 대해 실행합니다. Wikipedia에 따르면 이메일 주소의 최대 길이는 254자이므로 len(A1) 부분을 256으로 바꾸면 함수의 안정성이 향상됩니다. =TRIM(RIGHT(SUBSTITUTE(LEFT(A1,FIND (" ",A1&" ")), 찾기("@",A1))-1)," ", REPT(" ",256)),256))
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
훌륭합니다. 각자 사용해야 합니다..
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
A1에서 하나의 이메일 주소만 추출하려는 경우 이 수식은 그렇게 하고 A1에 이메일 주소가 없는 경우 오류가 아닌 공백만 보고합니다. 이 모든 스크립트를 마스터하려고 하는 것보다 이것이 더 쉬운 솔루션이며 비용도 들지 않습니다. =IFERROR(TRIM(RIGHT(SUBSTITUTE(LEFT(A1,FIND(" ",A1&" ",FIND("@",A1))-1)," ",REPT(" ",LEN(A1))), 렌(A1))),"")
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
매우 도움이 됩니다. 정말 감사합니다!!
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
알찬 정보! 감사해요
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
HP에서 Excel 2007을 사용하고 있습니다. A1에 Melanie Brown이 있고 같은 셀에서 Melanie.Brown@gmail.com을 읽으려면 어떻게 해야 합니까? 나는 같은 방식으로 할 갈기의 끈이 있습니다. 누군가 나를 도와줄까요?
아직 코멘트가 없습니다
더보기
여러분의 의견을 남겨
게스트로 게시
×
이 게시물 평가 :
0   등장 인물
추천 위치

Follow Us

저작권 © 2009 - WWW.extendoffice.com. | 판권 소유. 에 의해 구동 ExtendOffice. | | 사이트 맵
Microsoft 및 Office 로고는 미국 및 / 또는 기타 국가에서 Microsoft Corporation의 상표 또는 등록 상표입니다.
Sectigo SSL로 보호