• ベストアンサー

123@hotmil.comや12345の様なエクセルソート

エクセルのソート教えてください。 123@hotmil.com(アドレスの数字部分だけ)と12345の様な数字のみのデータが、100件ほど混在しています。 この数字部分だけをソートしたいと思っています。しかし、@の入ったやつはうまく並びません。(手作業で@以下を消すしかないのでしょうか?) どのようにすれば、数字の部分だけを見比べてソート掛けれるのでしょうか? どなたか教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • hirumin
  • ベストアンサー率29% (705/2376)
回答No.3

No.2で解決してると思うのですが、まだ問題があるのかな? もし、A2の数字が「'123」という形で記入されているなら… =IF(ISERROR(SEARCH("@",A2,1)),A2,LEFT(A2,SEARCH("@",A2,1)-1)) *1 で数値として抜き出せます。 No.2の式からVALUE関数を除いて、「*1」を追加しただけ。 それか、VALUEで囲むとか =VALUE( IF(ISERROR(SEARCH("@",A2,1)),A2,LEFT(A2,SEARCH("@",A2,1)-1)) )

stharuna
質問者

お礼

やはり、ネストは使うしか方法ないのですね。 これらのアドバイスを参考に色々と試してみます。 お手間を取らせ、すいませんでした。 回答、ありがとうございました。

その他の回答 (2)

  • papayuka
  • ベストアンサー率45% (1388/3066)
回答No.2

先頭から @ 前までを抜けば良いなら、A2にアドレスがあるとして =IF(ISERROR(SEARCH("@",A2,1)),A2,VALUE(LEFT(A2,SEARCH("@",A2,1)-1))) で良いです。

stharuna
質問者

お礼

この様な関数のネスト、全く思いつきませんでしので、大変参考になりました。 ありがとうございました。

回答No.1

A列にアドレスが入っているものとして説明します。 1.B1に次の式を入れます。   =FIND("@",A1,1) 2.C1には次の式を入れます。   =IF(ISERROR(B1),A1,LEFT(A1,B1-1)) 3.B1・C1をデータ個数分だけ下にコピーしてください。 4.B列C列を含め範囲選択し、ソートします。   最優先されるキーにはC列を選んでください。

stharuna
質問者

お礼

この様な、関数のネスト全く思いつきませんでした。最初は、関数を使わずに、何とか出来ないのかと試していましたが、なかなかうまく出来ませんでしたので、大変参考になりました。 ありがとうございました。

関連するQ&A

専門家に質問してみよう