エクセルに詳しい方にご質問です。


5000程ののメールアドレスが有り、エクセルで@の後のプロバイダーのアルファベット順に並べ替えて整理したいのですが、
エクセルではどのような方法で出来るのか教えて欲しいのです。

例えば
 ○○○@.zzz.ne.jp
 □□@.yyy.ne.jp
 ×××@.aaa.ne.jp
 ×××@.abc.com
   ・
   ・
   ・
   ・
 ○○○○@.aaa.ne.jp

と有るならば
 ×××@.aaa.ne.jp
 ○○○○@.aaa.ne.jp
 ×××@.abc.com
     ・
     ・
     ・
 □□@.yyy.ne.jp
 ○○○@.zzz.ne.jp

っと並び変えたいのです。

エクセルで無理ならば、
出来るテキストエディタとやり方をお教え頂ければ幸いです。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2006/12/03 17:39:45
  • 終了:2006/12/10 17:40:02

回答(7件)

id:garyo No.1

garyo回答回数1782ベストアンサー獲得回数962006/12/03 17:50:33

ポイント19pt

1.秀丸などの置換ができるエディタを用意します。

2.ExcelからCSV形式でエクスポートします。

例↓

http://www.wanichan.com/pc/xl2002/a04.htm

3.エクスポートしたファイルを開いて、"@"を","に置換します。

4.上記のファイルを開きます。

 @の前と後ろで別れているので、その2列を元のメールアドレスの

横に貼り付けます。

5.必要な範囲を選択して、@の後ろでソートします。

aaa@bbb.com

aaa,bbb.com

aaa,bbb.com,aaa@bbb.com

というデータを作って「bbb.com」の列でソートします。

id:luxon No.2

luxon回答回数69ベストアンサー獲得回数32006/12/03 17:56:22

ポイント19pt

ある程度、操作方法をご存知とは思いますが、一応詳しく書きます。

A列にメールアドレスが入っているとします。

1. B1に

=MID(A1,FIND("@",A1)+1,LEN(A1)-FIND("@",A1))

と書くと、A1のアドレスの@より後ろの部分が表示されます。

2. これを行数分コピーします

(1)A列上で ctrl+↓して最後のデータにジャンプ

(2)B列に移動

(3)Shift+Ctrl+↑で範囲選択

(4)Ctrl+Dでコピー

3. Ctrl+Aで全体を選択して、B列でソート([データ] - [並べ替え])すればOK

http://yuhki1216.hp.infoseek.co.jp/func8.html

id:yuutaokina

とても解りやすいお答え有難うございます。

2006/12/03 22:19:34
id:garyo No.3

garyo回答回数1782ベストアンサー獲得回数962006/12/03 17:59:06

ポイント18pt

@より後ろの文字を取り出す関数を作ってみました。

関数を追加して「=getDomain(メールアドレスのセル)」を入れたセルの列を追加してそこでソートするといいと思います。

Function getDomain(s As String)
    i = InStr(1, s, "@")
    getDomain = Mid(s, i + 1)
End Function

URLはダミーです。

http://q.hatena.ne.jp/1165135183

id:Mook No.4

Mook回答回数1313ベストアンサー獲得回数3922006/12/03 18:13:57

ポイント18pt

メールアドレスがA列にあるとしたら、

(1)A列をコピー
(2)B、C列を選択
(3)B列の上でマウスを右クリックし、「コピーしたセルの挿入」を実行
(4)B列を選択し、Ctl+Hを押して、検索する文字列に「@*」、置換後の文字列を空白のまますべてを置換
(5)C列を選択し、Ctl+Hを押して、検索する文字列に「*@」、置換後の文字列を空白のまますべてを置換
(6)A~C列を選択し、「データ」⇒「並べ替え」⇒「最優先されるキー」に「列B」、2番目に優先されるキー」に列Cを選択して、実行
(7)B、C列を削除

名前でソートする必要がなければ、赤い部分は不要です。


Excelでユーザー設定リストによる並べ替えを行う

も参考になるかもしれません。

id:urafum No.5

urafum回答回数414ベストアンサー獲得回数112006/12/03 18:37:43

ポイント18pt

A列にアドレスが入っているとして、B列に

=MID(A1,FIND("@",A1,1)+1,20)

という関数で@の後ろが取り出せるので、これで並べ替えれば良いです。

http://www.eurus.dti.ne.jp/~yoneyama/Excel/kansu/moji_1.htm

id:ichthyostega No.6

ichthyostega回答回数205ベストアンサー獲得回数222006/12/03 19:21:39

ポイント18pt

アドレスだけを整理するとしてみます。

まずはテキストファイルにアドレスを書き出します。

そこで、「テキストの置換」を利用して、「@」を「@,」に置換します。

こんな感じになります。「○○○@,aaa.ne.jp」

そうすると、このファイルはカンマ区切りテキストとして記載されていることになりますので、エクセルのファイル取り込みの際に「カンマ区切りテキスト」を選ぶと、@の後の部分と前の部分とが別のセルに書き込まれます。その時点で、@の後の部分に対してソートをかければ並び替えが可能です。

その際に、もとのアドレスもそのまま使いたいと言うことであれば、別の列にもう一度、@にカンマを付けていないアドレスを書き込んでおくといいのです。

具体的に書くと、以下の[ ]がセル内とすると、

[○○○@aaa.ne.jp][○○○@][aaa.ne.jp]と言う並び方になります。

[aaa.ne.jp]の列に対してソートをかけるのです。

他にもっと効率の良い方法がるならば、すいません。



http://q.hatena.ne.jp/

質問者が未読の回答一覧

 回答者回答受取ベストアンサー回答時間
1 Schuzak 7 6 2 2006-12-05 15:54:11

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

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

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

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

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