• 締切済み

エクセルの関数(MID)について教えてください

エクセルのシートのA1のセルに**34@yahoo.co.jpと入力。 A2のセルに**12@goo.ne.jpと入力。 この状態でB1のセルに@yahoo.co.jpを表示 B2のセルには@goo.ne.jpを表示 B1に=MID(A1,1,4)、B2に=MID(A2,1,6)に入力 すれば値は出るのですが、メール数が 多いため手入力は厳しいです。 一括でできる方法を教えてください。 宜しくお願いいたします。

みんなの回答

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.3

 @以降の文字数が何文字あったとしても対応する数式です。 =MID(A1,FIND("@",A1),LEN(A1))  或いは次の様な数式でも同じ事が出来ます。 =RIGHT(A1,LEN(A1)-FIND("@",A1)+1)  尚、文字列中に@が含まれていない場合に、エラーを表示させない様にする数式は、次の様になります。 =IF(ISNUMBER(FIND("@",A1)),MID(A1,FIND("@",A1),LEN(A1)),"") 或いは =IF(ISNUMBER(FIND("@",A1)),RIGHT(A1,LEN(A1)-FIND("@",A1)+1),"")

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.2

こんばんは! ご質問内容は「@」マーク以降をB列に表示したいということだと思いますが・・・ 質問内の数式では「@」より前部分の文字を抽出する数式になっていますよね? そうであればNo.1さんの数式で大丈夫だと思います。 余計なお世話かもしれませんが、当方の質問の読み違いでなければ「@」以降の文字をB列に表示したいと解釈しましたので、 その方法の一例です。 尚、**@○○.ne.jp 以降には文字が入っていないとします。 B1セルはに =MID(A1,FIND("@",A1),20) としてオートフィルでどうでしょうか? 数式内の「20」の部分はいくつでも良いのですが、「@」マーク以降はこれ以上文字はないということで20位にしておきました。m(__)m

noname#204879
noname#204879
回答No.1

B1: =LEFT(A1,FIND("@",A1)-1)

関連するQ&A