エクセルのデータで25000件のメールアドレスに不適な文字が含まれているアドレスを検索して取り除きたいのですが?抽出する方法を教えてください。

回答の条件
  • 1人2回まで
  • 13歳以上
  • 登録:2011/03/07 19:25:48
  • 終了:2011/03/09 16:28:00

回答(5件)

id:toki-2131 No.1

toki-2131回答回数138ベストアンサー獲得回数12011/03/07 19:45:16

ひだりクリックしたらわかる

id:j4mika No.2

j4mika回答回数173ベストアンサー獲得回数252011/03/07 19:54:49

ポイント66pt

http://oshiete.goo.ne.jp/qa/1821256.html

エクセルのマクロの正規表現で出来ると思います。

メールアドレスが、A1:A25000にあるとすると、

No.2の

For i1 = 1 To 100をFor i1 = 1 To 25000にすることでそのまま使えないでしょうかね?

id:inosisi4141

ありがとうございます。

25000行に設定してそれ以下でしたら空白行もエラーカウントしますが自動的に行認識すると良いのですが。

2011/03/09 16:14:40
id:SALINGER No.3

SALINGER回答回数3454ベストアンサー獲得回数9692011/03/07 19:47:10

VBAで例えば、A列にメールデータがあれば正規表現で判別し、不適な場合にB列に×を付けるマクロです。

Sub Macro()
    Dim obj As Object
    Dim lastRow As Long
    Dim i As Long
    
    lastRow = Cells(Rows.count, "A").End(xlUp).Row
    
    Set obj = CreateObject("VBScript.RegExp")

    obj.Pattern = "^\S+@\S+\.\S+$"
    For i = 1 To lastRow
        If obj.test(Cells(i, "A").Value) Then
            Cells(i, "B").Value = ""
        Else
            Cells(i, "B").Value = "×"
        End If
    Next i
    
    Set obj = Nothing
End Sub
id:SALINGER No.4

SALINGER回答回数3454ベストアンサー獲得回数9692011/03/07 20:08:20

ポイント34pt

先の回答は正規表現が単純すぎました。これの方がまだ厳密です。

Sub Macro()
    Dim obj As Object
    Dim lastRow As Long
    Dim i As Long
    
    lastRow = Cells(Rows.count, "A").End(xlUp).Row
    
    Set obj = CreateObject("VBScript.RegExp")

    obj.Pattern = "[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$"
    For i = 1 To lastRow
        If obj.test(Cells(i, "A").Value) Then
            Cells(i, "B").Value = ""
        Else
            Cells(i, "B").Value = "×"
        End If
    Next i
    
    Set obj = Nothing
End Sub
id:inosisi4141

できました。ありがとうございました。参考にさせていただきます。

2011/03/09 16:22:43
id:infosupport No.5

infosupport回答回数136ベストアンサー獲得回数22011/03/08 00:32:29

ctrl+Fで不適切な内容を記載し、それで検索し除外とかはどうでしょうか?

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません