
No.5ベストアンサー
- 回答日時:
市外局番の桁数には2、3、4桁があり、携帯やフリーダイヤルも対応するのでしょうか。
市外局番、市内局番の長さを指定するユーザー定義関数を書いてみました。
貼り付けるだけなので大丈夫でしょう。
使い方は、=HyojiTEL(セル,市外局番の長さ,市内局番の長さ) とします。例えば、
市外局番2桁、市内局番4桁なら =HyojiTEL(A1,2,4)
市外局番3桁、市内局番3桁なら =HyojiTEL(A1,3,3)
市外局番4桁、市内局番2桁なら =HyojiTEL(A1,4,2)
とします。
ツール→マクロ→Visual Basic Editor でVBE画面に移り、挿入→標準モジュール で標準モジュールを挿入し、そこに下記コードを貼り付けます。(当方、Excel97です)
↓ここから
Public Function HyojiTEL(TEL As String, Shigai As Integer, Shinai As Integer)
If Len(TEL) - (Shigai + Shinai) <> 4 Then
'指定した市外、市内局番以外が4桁でなければエラー
HyojiTEL = "エラー"
Else
'市外、市内局番を指定した桁で分ける
HyojiTEL = Left(TEL, Shigai) & "-" _
& Mid(TEL, Shigai + 1, Shinai) & "-" _
& Right(TEL, Len(TEL) - (Shigai + Shinai))
End If
End Function
No.7
- 回答日時:
できると思います。
他の方の紹介されていた
番号一覧表を使ってもよければですが。
http://www.scoutnet.or.jp/~yatsu/tel-02.html
最新かどうかは不明です。
どこかに良い一覧があれば
教えて下さい。
それを基に作ります。
地域はある程度限定できませんか。
関東、関西
なるべく小さい方が良いです。
マクロですが簡単です。
良かったら連絡下さい。
電話番号のある列は、何列ですか。
No.6
- 回答日時:
結論から言うと、プログラムが組めても、出来ません。
ルール(ロジック)を言って(表現)見てください。簡単には言えないはずです。市外局番は2,3,4桁有るのは日本のルールです。しかし左から2-4桁の数字を取り出して考えて、市外局番が2桁で有るか、3,4桁か言葉で表現できません。すなわちプログラムが組めません。ましてエクセルの関数式や表示形式では、解決しません。残るみちは、市外局番の表(テーブル)データを作るか探すかして利用する事です。その表を引くプログラム技量があれば、解決します。相当膨大な数でしょう。3千600を越える市区町村の数より少ないかも知れません。そして4桁の市外局番から先に見ていくのがポイントです。市外局番+市内局番が一定桁数でないケースが有れば市外局番+市内局番のテーブル(-付き)が必要です。
-を一旦除いて比較し合致すれば、-入りと置きかえる。
ただ貴殿の電話番号データにはそんなに沢山の市外局番の種類がないのなら、売り物のソフトではないのだから、ちょっとしたプログラムで解決するかも。プログラムは(1)ルール・ロジックを探す(2)テーブルで考えるしかないと思います。テーブルルックアップ関数などひょっとして使って実現するかも。
アドバイスありがとうございます。
プログラミングできる人にも相談してみようと思います。
ちょっと自力では能力不足で無理そうです。

No.4
- 回答日時:
市外局番の桁数がわからないのかもしれないと思い書きます。
電話番号に対してソートをし、それぞれ手入力をするのが早いと思います。
ソートの説明を書いた部分
http://oshiete1.goo.ne.jp/kotaeru.php3?q=242234
市外局番一覧表
http://www.scoutnet.or.jp/~yatsu/tel-index.html
ですかね…
電話番号部分をコピーしてテキストエディタへ貼り付けると作業が多少楽にはなります。
ならび順を元に戻したいのであれば列を一列追加して通し番号をつけておけば
同じ理屈でソートできます…
他にもっといい方法があるかもしれませんけどね…
No.2
- 回答日時:
セル内に保管している電話番号が数値項目で、
かつ一律同じ形式に変更するのであれば、
セルの書式設定で「ユーザー定義」を設定すればできると思います。
すでに存在している、ユーザー定義(何でもいいです)を選択し、
種類を000-0000-0000(0は数字のゼロです)で作成し、
セルの書式でそれを選択すればいいはずです。
文字列としている場合は、lehuaさんが試されたとおり、
単純な書式設定では変更できないかもしれません。
まあ、詳しく調べたわけではないので、
どなたかのフォローでもあれば幸いですが・・・。
この回答への補足
taka_preさん、早速の回答ありがとうございます。
>一律同じ形式に変更するのであれば、
まさにひっかかっているのはココなんです。
市外局番が全国一律であればユーザー定義も可能ですが
長い市外局番地域も含まれているので
一律というわけにもいかず、悩んでいます。
いくら賢いエクセルでも同一セル内でどこが市外局番で。。なんてことは
無理なんでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) SUMIFのIF分岐について 4 2023/04/15 12:57
- Excel(エクセル) エクセルについて 6 2022/11/29 14:07
- Yahoo!メール Yahooメールにログインできません 2 2022/12/12 07:46
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- Excel(エクセル) 【Excel】住所に郵便番号を付記する方法 3 2022/05/07 17:15
- その他(Microsoft Office) EXCELの1行を1枚の用紙にそれぞれ印刷したい。 3 2022/10/10 11:35
- iCloud iPhone端末変更時のLINE引継ぎ 4 2023/07/09 15:07
- Visual Basic(VBA) VBA初心者です。電話番号の数字の前に0を表示させたいです。 2 2022/12/14 03:58
- Excel(エクセル) 関数EXACT(文字列,文字列)とexcelVBA 3 2022/04/14 15:07
- その他(SNS・コミュニケーションサービス) ヤフーのニュースにコメントしようとしたら下記のメッセージが出て来てコメントできません 1 2022/12/03 17:34
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
市外局番
-
03(市外局番)無しでもFAX...
-
携帯電話の11桁の番号、どこ...
-
0857-75で始まる電話番号から度々
-
市外局番の使い方がわからない
-
市外局番を言うのは失礼?
-
電話番号について
-
着信拒否をしても複数の別の番...
-
電話番号 3ではじまる 5で...
-
電話番号で住所、個人情報は特...
-
市内局番が0桁の電話番号
-
東京の電話番号の市内局番
-
電話番号のハイフンを追加したい
-
着信で+189から始まる電話番号...
-
818から始まる電話番号について...
-
1800で始まる電話番号
-
クレジット会社に電話した時に...
-
着信拒否の状態について
-
電話すぐ切る
-
フリーダイヤルに電話したので...
おすすめ情報