- ベストアンサー
エクセルの式について
1セルに半角カタカナに続けて、電話番号が入力されています。 それが、1列になって、2千ほどあります。 これを、名前と電話番号に区分したいです。 どうすればよいでしょうか? 考えたのは、電話番号は、長さが2種類くらいしかないので、 すべての文字を、前後逆にして、一定の長さで区分してから、 もう一度逆にするというのを考えました。 文字列を、前後すべて逆にして、表示する式や方法はありますか? 上記の方法以外でも、なにかいい方法があれば教えてください。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
名前と電話番号の間には空白はないのでしょうか? 空白があれば、「データ」>「区切り位置」から「カンマやタブなどの区切り文字によってフィールドごとに区切られたデータ」を選択し、「スペース」にチェックを入れることによって分離できます。 もし空白がないのであれば、電話番号が必ず0で始まっていることが条件ですが、A1にデータが入っているとして、 B1 =LEFT(A1,FIND("0",A1)-1) C1 =MID(A1,FIND("0",A1),100) とすれば分離できるかと思います。
その他の回答 (5)
私はここで勉強させてもらっています。 http://www2.odn.ne.jp/excel/waza/function.html#SEC26
お礼
どうもありがとうございます
- mu2011
- ベストアンサー率38% (1910/4994)
以下の方法は如何でしょうか。 A列のデータをB,C列に分離する B1に=SUBSTITUTE($A1,$C1,"") C1に=RIGHT($A1,LEN($A1)*10-SUM(LEN(SUBSTITUTE($A1,{0,1,2,3,4,5,6,7,8,9},)))) 下方向にコピーして下さい。
お礼
どうもありがとうございます
こんにちは。一つの例ですが、てっとり早い方法で、 文字列(名前+電話番号)がAn列で、名前はBn、電話番号をCn列に分割格納させる方法で、電話番号の頭の一桁が”0”である場合、 Bnに、=LEFT(An,FIND("0",An)-1) Cnに、=RIGHT(An,LEN(An)-LEN(Bn)) でいかがでしょうか? Bn,Cnがうまくいったら、全行にそのままコピーすれば、良いかと思います。 電話番号の文字数(固定の)で分割する場合も、ひっくりかえさなくてもRIGHT関数で出来ると思うのですが。 ご参考に。
お礼
どうもありがとうございます
- maron--5
- ベストアンサー率36% (321/877)
=REPLACE(LEFT(A1,LEN(A1)),1,MIN(FIND({0,1,2,3,4,5,6,7,8,9},A1&"0123456789")-1),)
お礼
どうもありがとうございます
- Dxak
- ベストアンサー率34% (510/1465)
電話番号、0から始まると言う前提で =RIGHT([対象セル],LEN([対象セル])-SEARCH("0",[対象セル],1)+1) で、電話番号を引き抜く事は可能だと思いますが・・・ 名前に0が含まれると、うまく行かないけどね;;
お礼
どうもありがとうございます