• ベストアンサー

エクセルで電話番号を - で分割する方法

エクセルで電話番号のデータが入っています。ハイフンごとで3つのセルに分けて取り出す関数があれば教えてください。 01-2345-6789 012-345-6789 0123-45-6789 01234-5-6789 050-1234-5678 とハイフンの位置も桁も種類があります。左右の部分はLEFTとRIGHTで取り出せるのですが真ん中がうまく取り出せません。 よろしくお願いします。

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

  • ベストアンサー
  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.5

 A列が 01-2345-6789 012-345-6789 0123-45-6789 01234-5-6789 050-1234-5678 として B列 =LEFT(A1,FIND("-",A1)-1) C列 =LEFT(RIGHT(A1,LEN(A1)-FIND("-",A1)),FIND("-",RIGHT(A1,LEN(A1)-FIND("-",A1)-1))) D列 =RIGHT(A1,LEN(A1)-LEN(B1)-LEN(C1)-2) で如何でしょうか。

civicer
質問者

お礼

できました!ありがとうございました!

その他の回答 (4)

  • jellya_a
  • ベストアンサー率35% (12/34)
回答No.4

関数で出すのであれば… A1にデータが入っているとして B1に=LEFT(A1,FIND("-",A1,1)-1) C1に=MID(A1,FIND("-",A1,1)+1,FIND("-",A1,FIND("-",A1,1))-1) D1に=MID(A1,FIND("-",A1,FIND("-",A1,1)+1)+1,LEN(A1)) という感じでどうでしょうか。

civicer
質問者

お礼

ご協力ありがとうございました。

  • marbin
  • ベストアンサー率27% (636/2290)
回答No.3

一般関数でも出来るとは思いますが、ユーザー定義関数の サンプルです。 標準モジュール Function wake(ByVal c As Range, moji As String, ban As Integer) wake = Split(c.Value, moji)(ban - 1) End Function シート =wake($A1,"-",COLUMN()-1)

civicer
質問者

お礼

難しそうでしたのでまだ試してはいないのですが、これからしてみようと思います。 ありがとうございました。

noname#111860
noname#111860
回答No.2

直接の回答ではありませんが、 [データ]-[区切り位置] で「カンマやタブなどの区切り文字で分けられたデータ」 を選択して、"-"を区切り文字に設定し、分けてしまったほうが簡単ですが、 電話番号を 「ハイフンごとで3つのセルに分けて取り出す」のが目的でしょうか? それとも「関数を使うこと」が目的でしょうか?

civicer
質問者

お礼

関数ではなく、こういう方法もあったんですね! 参考になりました。ありがとうございます。

  • fine_day
  • ベストアンサー率70% (6285/8867)
回答No.1

メニューの「データ>区切り位置」を開きます。 次へをクリックし、区切り文字の「その他」にチェックを入れて、後ろの欄に「-」を入力します。 完了をクリックすると、データがハイフンで分割されると思います。 エクセルのバージョンで少々手順が違うかもしれませんが、下記を参考にお試しを。 http://azby.fmworld.net/usage/windows_tips/20051012/index.html

civicer
質問者

お礼

関数ではなく、こういう方法もあったんですね! 参考になりました。ありがとうございます。

関連するQ&A