プロが教えるわが家の防犯対策術!

こんばんはhideyukiですw

エクセルの中に多くの携帯番号が登録されています。
例えばAの1~50まで「09012345678」とハイフン(-)の入っていない番号が登録されているとします。

これら1~50に登録されている番号を「090-1234-5678」というふうに3文字4文字4文字と言う具合にわけてその間に-を入れたいのです・・・。面倒なのでまとめでやりたいです。。。

エクセルの知識のある方、何か良い手は無いでしょうか?助けてください。
【いまいち意味がわからない方は補足に書き入れて、たまに覗いてみてください。書き足しておきます。】

よろしくお願いします♪

A 回答 (4件)

Bのセルに


=left(a1,3)&"-"&mid(a1,4,4)&"-"&right(a1,4)
と数式を入力して、コピーすれば一番簡単ではないかな?
そのあと固定したければ、B列をコピーしてそのまま「値」で指定して貼り付ければ、数式ではなく文字列として保存できるし。

この回答への補足

=left(a1,3)&"-"&mid(a1,4,4)&"-"&right(a1,4)
↑はわかったのですが・・・。
そのあと固定したければ、B列をコピーしてそのまま「値」で指定して貼り付ければ、数式ではなく文字列として保存できるし。
↑がわかりません。恐れ入りますが僕みたいなアフォにでもわかるように書いていただけませんか?

補足日時:2005/12/15 00:10
    • good
    • 0
この回答へのお礼

書き忘れていました・・・。50件とも違う番号です・・・。

お礼日時:2005/12/15 00:13

セルの書式設定の表示形式タブにあるリストからユーザー定義を指定して、種類の下の入力ボックスに


000-0000-0000
と入力すると、ご要望どおりの表示形式になりますよ。
(あくまでも”表示”できるだけですが。。。)
    • good
    • 0

表示形式を使うなら#2の方の方法


数式で別セルなら
=TEXT(A1*1,"000-0000-0000")
"090","080"以外の番号で始まるものがある場合は"000-0000-0000"を変更になります。

対応が"03"だけなら
=TEXT(A1*1,IF(LEFT(A1,2)="03","00-0000-0000","000-0000-0000"))
なんて方法もあります。

上記は元のセルの値が変わると、内容が変わります。
文字列として固定する場合はコピーして形式を選択して貼り付けで値を選択してください。
    • good
    • 0

NO.1さんの補足です。



その前のLEFT、MID、RIGHT関数は習得できたと仮定します。
B列にNO.1さんに紹介して頂いた関数式を入れた場合、
1行目を確認すると

A1:09012345678、B1:090-1234-5678 となっていますょね。

>そのあと固定したければ、B列をコピーしてそのまま「値」で指定して貼り付ければ、数式ではなく文字列として保存できるし。

B列には、LEFT、MID、RIGHT関数の結果を表示している数式ですので、
手で入力したのと同じように文字列(或いは数値)として置いておきたい場合に、この操作をします。

1)B列の列番号を選択して、B列全体をコピー。
2)同じくB列の列番号を選択して、貼り付ける。
・・・のですが、この貼り付けの際、普通の「貼り付け」ではなく、
「形式を選択して貼り付け」を選択します。
その中の「値」のオプションにチェックをしてOKボタン。
※もし、元々 TEL番号が入っていたA列に置きたければ
A列に貼り付ければ良い。

するとB列は、計算式ではなく、手入力したのと同じ状態になります。
    • good
    • 0

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