- 締切済み
エクセルの関数(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)に入力 すれば値は出るのですが、メール数が 多いため手入力は厳しいです。 一括でできる方法を教えてください。 宜しくお願いいたします。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- kagakusuki
- ベストアンサー率51% (2610/5101)
@以降の文字数が何文字あったとしても対応する数式です。 =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)
こんばんは! ご質問内容は「@」マーク以降をB列に表示したいということだと思いますが・・・ 質問内の数式では「@」より前部分の文字を抽出する数式になっていますよね? そうであればNo.1さんの数式で大丈夫だと思います。 余計なお世話かもしれませんが、当方の質問の読み違いでなければ「@」以降の文字をB列に表示したいと解釈しましたので、 その方法の一例です。 尚、**@○○.ne.jp 以降には文字が入っていないとします。 B1セルはに =MID(A1,FIND("@",A1),20) としてオートフィルでどうでしょうか? 数式内の「20」の部分はいくつでも良いのですが、「@」マーク以降はこれ以上文字はないということで20位にしておきました。m(__)m
B1: =LEFT(A1,FIND("@",A1)-1)