プロが教える店舗&オフィスのセキュリティ対策術

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

A 回答 (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)
で如何でしょうか。
    • good
    • 15
この回答へのお礼

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

お礼日時:2009/02/10 00:11

関数で出すのであれば…


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))
という感じでどうでしょうか。
    • good
    • 4
この回答へのお礼

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

お礼日時:2009/03/01 13:42

一般関数でも出来るとは思いますが、ユーザー定義関数の


サンプルです。

標準モジュール

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)
    • good
    • 0
この回答へのお礼

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

お礼日時:2009/03/01 13:45

直接の回答ではありませんが、


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

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

お礼日時:2009/02/10 00:12

メニューの「データ>区切り位置」を開きます。


次へをクリックし、区切り文字の「その他」にチェックを入れて、後ろの欄に「-」を入力します。
完了をクリックすると、データがハイフンで分割されると思います。

エクセルのバージョンで少々手順が違うかもしれませんが、下記を参考にお試しを。
http://azby.fmworld.net/usage/windows_tips/20051 …
    • good
    • 0
この回答へのお礼

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

お礼日時:2009/02/10 00:13

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!