• ベストアンサー

エクセルの式について

1セルに半角カタカナに続けて、電話番号が入力されています。 それが、1列になって、2千ほどあります。 これを、名前と電話番号に区分したいです。 どうすればよいでしょうか? 考えたのは、電話番号は、長さが2種類くらいしかないので、 すべての文字を、前後逆にして、一定の長さで区分してから、 もう一度逆にするというのを考えました。 文字列を、前後すべて逆にして、表示する式や方法はありますか? 上記の方法以外でも、なにかいい方法があれば教えてください。

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

  • ベストアンサー
  • ham_kamo
  • ベストアンサー率55% (659/1197)
回答No.1

名前と電話番号の間には空白はないのでしょうか? 空白があれば、「データ」>「区切り位置」から「カンマやタブなどの区切り文字によってフィールドごとに区切られたデータ」を選択し、「スペース」にチェックを入れることによって分離できます。 もし空白がないのであれば、電話番号が必ず0で始まっていることが条件ですが、A1にデータが入っているとして、 B1 =LEFT(A1,FIND("0",A1)-1) C1 =MID(A1,FIND("0",A1),100) とすれば分離できるかと思います。

age1118
質問者

お礼

どうもありがとうございます

その他の回答 (5)

noname#153814
noname#153814
回答No.6

私はここで勉強させてもらっています。 http://www2.odn.ne.jp/excel/waza/function.html#SEC26

age1118
質問者

お礼

どうもありがとうございます

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.5

以下の方法は如何でしょうか。 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},)))) 下方向にコピーして下さい。

age1118
質問者

お礼

どうもありがとうございます

noname#70673
noname#70673
回答No.4

こんにちは。一つの例ですが、てっとり早い方法で、 文字列(名前+電話番号)がAn列で、名前はBn、電話番号をCn列に分割格納させる方法で、電話番号の頭の一桁が”0”である場合、 Bnに、=LEFT(An,FIND("0",An)-1) Cnに、=RIGHT(An,LEN(An)-LEN(Bn)) でいかがでしょうか? Bn,Cnがうまくいったら、全行にそのままコピーすれば、良いかと思います。 電話番号の文字数(固定の)で分割する場合も、ひっくりかえさなくてもRIGHT関数で出来ると思うのですが。 ご参考に。

age1118
質問者

お礼

どうもありがとうございます

  • maron--5
  • ベストアンサー率36% (321/877)
回答No.3

=REPLACE(LEFT(A1,LEN(A1)),1,MIN(FIND({0,1,2,3,4,5,6,7,8,9},A1&"0123456789")-1),)

age1118
質問者

お礼

どうもありがとうございます

  • Dxak
  • ベストアンサー率34% (510/1465)
回答No.2

電話番号、0から始まると言う前提で =RIGHT([対象セル],LEN([対象セル])-SEARCH("0",[対象セル],1)+1) で、電話番号を引き抜く事は可能だと思いますが・・・ 名前に0が含まれると、うまく行かないけどね;;

関連するQ&A