人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

質問の追加です

A列のデータの中に
@と参照ドメインの間または参照ドメインの後ろに別の文字または数字があれば削除して
削除したメールアドレスをB列に参照ドメインだけをC列に書き出すことができますか?
A列 B列 C列
aaaa@123.docomo.ne.jp aaaa@docomo.ne.jp docomo.ne.jp
bbbb@test.ezweb.ne.jp bbbb@ezweb.ne.jp ezweb.ne.jp
cccc@docomo.ne.jo.456 cccc@docomo.ne.jo docomo.ne.jp
dddd@ezweb.ne.jp.temp dddd@ezweb.ne.jp ezweb.ne.jp
別マクロでもかまいません以上よろしくお願いします。

●質問者: inosisi
●カテゴリ:コンピュータ インターネット
✍キーワード:DoCoMo EZweb Ne ne.jp test
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● きゃづみぃ
●34ポイント

残念ながら これは 無理です。

できません。

たとえば

cccc@docomo.ne.jo.456 cccc@docomo.ne.jo docomo.ne.jp

の場合

このメールアドレスが ドコモのものであるという認識が必要ですよね。

どのような条件で ドコモのメールアドレスであるのかという判断は したらいいのかが 不明です。

で docomo という文字列が 入っていたら ドコモにするのか

ezwebという文字が入ってたら auにするのか?などです。

cccc@docomo.ne.jo.456には @以降に docomo という文字が入ってるので

ドコモならば docomo.ne.jpを C列にセット。

B列は どうやったらいいのか不明。

cccc@docomo.ne.jo.456 → cccc@docomo.ne.jo

cccc@temp.docomo.ne.jo.456 → ?


また メールアドレスは ドコモとauだけのようですが、

ほかの場合は 対応しないのでしょうか?

◎質問者からの返答

ありがとうございます

参照にあるドメインの後ろにある文字を切り取りそのドメインをC列にかきだす

参照にある文字がセットで含まれる行を検索しそのドメインをC列にかきだす

参照A列

docomo.ne.jp

ezweb.ne.jp

softbank.ne.jp

答え

A列 B列 C列

cccc@docomo.ne.jo.456 cccc@docomo.ne.jo docomo.ne.jp

dddd@ezweb.ne.jp.temp dddd@ezweb.ne.jp ezweb.ne.jp

eeee@123.softbank.ne.jp softbank.ne.jp

ffff@123.softbank.ne.jp.temp softbank.ne.jp

以上2点であればマクロでできますか


2 ● きゃづみぃ
●33ポイント ベストアンサー

3回だけしか回答できないので 2番目の回答を修正しました。

sheet2のシートに A列にドメイン、B列に識別を入れてもらえれば

処理できるようにしました。

答えを入れるところ sheet1に入れてください。

sheet2に 以下の分を貼り付け

A列
t.vodafone.ne.jp
c.vodafone.ne.jp
d.vodafone.ne.jp
h.vodafone.ne.jp
r.vodafone.ne.jp
k.vodafone.ne.jp
n.vodafone.ne.jp
s.vodafone.ne.jp
q.vodafone.ne.jp
softbank.ne.jp
disney.ne.jp
docomo.ne.jp
ezweb.ne.jp

B列
t.vodafone
c.vodafone
d.vodafone
h.vodafone
r.vodafone
k.vodafone
n.vodafone
s.vodafone
q.vodafone
softbank
disney
docomo
ezweb

A列 B列

t.vodafone.ne.jp t.vodafone

こういう感じにしてください。



Sub main()

b = Range("A1").End(xlDown).Row
If Range("A2") = "" Then b = 1

b1 = Sheets("Sheet2").Range("A1").End(xlDown).Row
If Sheets("Sheet2").Range("A2") = "" Then b1 = 1


For a = 1 To b
 
 c = Cells(a, "A")
 d = InStr(c, "@")
 e = Right(c, Len(c) - d)
 
 g = ""
 For a1 = 1 To b1
 f = InStr(e, Sheets("Sheet2").Cells(a1, "B"))
 If f > 0 Then
 g = Sheets("Sheet2").Cells(a1, "A")
 Exit For
 End If
 Next a1
 
 Cells(a, "C") = g
 
 h = Right(c, Len(e) - f + 1)
 i = Left(h, Len(g))
 i = Left(c, d) & i

 Cells(a, "B") = i
Next a


End Sub


◎質問者からの返答

どうもありがとうございました

バッチリです

例えば

t.vodafone.ne.jp

c.vodafone.ne.jp

d.vodafone.ne.jp

h.vodafone.ne.jp

r.vodafone.ne.jp

k.vodafone.ne.jp

n.vodafone.ne.jp

s.vodafone.ne.jp

q.vodafone.ne.jp

softbank.ne.jp

disney.ne.jp

以上を追加する場合をおしえてください

よろしくお願いします


3 ● きゃづみぃ
●33ポイント

softbankを追加してみました。

参照A列は プログラム内に持っています。


Sub main()

b = Range("A1").End(xlDown).Row
If Range("A2") = "" Then b = 1

For a = 1 To b
 
 c = Cells(a, "A")
 d = InStr(c, "@")
 e = Right(c, Len(c) - d)
 
 f = InStr(e, "docomo")
 g = "docomo.ne.jp"
 If f = 0 Then
 f = InStr(e, "ezweb")
 g = "ezweb.ne.jp"
 
 If f = 0 Then
 f = InStr(e, "softbank")
 g = "softbank.ne.jp"
 End If
 End If
 
 Cells(a, "C") = g
 
 h = Right(c, Len(e) - f + 1)
 i = Left(h, Len(g))
 i = Left(c, d) & i

 Cells(a, "B") = i
Next a


End Sub

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ