こんにちは。
過去質問を検索してもわからなかったので質問します。
エクセルで既に電話番号として0333333333と入力されています。
このデータを03-3333-3333のハイフンを入れた状態で
表示させたいのですが、どうしたらよいでしょうか?
ちなみに電話番号は東京だけでなく日本全国のデータです。
セルの書式設定→郵便番号ではうまくいきませんでした。
関数でも置換えでも構いませんが、プログラミングはできません。
環境はWin2000、Excel2000です。
よろしくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (7件)

市外局番の桁数には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
    • good
    • 0
この回答へのお礼

ご丁寧にありがとうございます。
関数もユーザー定義できるのですね。
勉強になりました。

お礼日時:2002/03/29 20:22

できると思います。


他の方の紹介されていた
番号一覧表を使ってもよければですが。
http://www.scoutnet.or.jp/~yatsu/tel-02.html

最新かどうかは不明です。
どこかに良い一覧があれば
教えて下さい。
それを基に作ります。

地域はある程度限定できませんか。
関東、関西
なるべく小さい方が良いです。

マクロですが簡単です。
良かったら連絡下さい。


電話番号のある列は、何列ですか。
    • good
    • 0
この回答へのお礼

どうもありがとうございます。
解決のメドがたちました。
また何かありましたらアドバイスお願いします。

お礼日時:2002/03/29 20:27

結論から言うと、プログラムが組めても、出来ません。

ルール(ロジック)を言って(表現)見てください。簡単には言えないはずです。市外局番は2,3,4桁有るのは日本のルールです。しかし左から2-4桁の数字を取り出して考えて、市外局番が2桁で有るか、3,4桁か言葉で表現できません。すなわちプログラムが組めません。ましてエクセルの関数式や表示形式では、解決しません。残るみちは、市外局番の表(テーブル)データを作るか探すかして利用する事です。その表を引くプログラム技量があれば、解決します。
相当膨大な数でしょう。3千600を越える市区町村の数より少ないかも知れません。そして4桁の市外局番から先に見ていくのがポイントです。市外局番+市内局番が一定桁数でないケースが有れば市外局番+市内局番のテーブル(-付き)が必要です。
-を一旦除いて比較し合致すれば、-入りと置きかえる。
ただ貴殿の電話番号データにはそんなに沢山の市外局番の種類がないのなら、売り物のソフトではないのだから、ちょっとしたプログラムで解決するかも。プログラムは(1)ルール・ロジックを探す(2)テーブルで考えるしかないと思います。テーブルルックアップ関数などひょっとして使って実現するかも。
     
    • good
    • 0
この回答へのお礼

アドバイスありがとうございます。
プログラミングできる人にも相談してみようと思います。
ちょっと自力では能力不足で無理そうです。

お礼日時:2002/03/29 20:24

市外局番の桁数がわからないのかもしれないと思い書きます。



電話番号に対してソートをし、それぞれ手入力をするのが早いと思います。
ソートの説明を書いた部分
http://oshiete1.goo.ne.jp/kotaeru.php3?q=242234

市外局番一覧表
http://www.scoutnet.or.jp/~yatsu/tel-index.html

ですかね…
電話番号部分をコピーしてテキストエディタへ貼り付けると作業が多少楽にはなります。
ならび順を元に戻したいのであれば列を一列追加して通し番号をつけておけば
同じ理屈でソートできます…
他にもっといい方法があるかもしれませんけどね…
    • good
    • 0
この回答へのお礼

手入力が早いのかも知れないです。
便利なURLも教えて下さってどうもありがとうございます。

お礼日時:2002/03/29 20:20

ああ、分かりました。


もう既に0333333333と入力されているものを、
一発で03-3333-3333に変換する方法を聞いたんですね。

失礼しました。
    • good
    • 0
この回答へのお礼

いえいえ、とんでもないです。
回答してくださってありがとうございました。

お礼日時:2002/03/27 19:55

セル内に保管している電話番号が数値項目で、


かつ一律同じ形式に変更するのであれば、
セルの書式設定で「ユーザー定義」を設定すればできると思います。
すでに存在している、ユーザー定義(何でもいいです)を選択し、
種類を000-0000-0000(0は数字のゼロです)で作成し、
セルの書式でそれを選択すればいいはずです。

文字列としている場合は、lehuaさんが試されたとおり、
単純な書式設定では変更できないかもしれません。
まあ、詳しく調べたわけではないので、
どなたかのフォローでもあれば幸いですが・・・。

この回答への補足

taka_preさん、早速の回答ありがとうございます。
>一律同じ形式に変更するのであれば、
まさにひっかかっているのはココなんです。
市外局番が全国一律であればユーザー定義も可能ですが
長い市外局番地域も含まれているので
一律というわけにもいかず、悩んでいます。
いくら賢いエクセルでも同一セル内でどこが市外局番で。。なんてことは
無理なんでしょうか?

補足日時:2002/03/27 17:15
    • good
    • 0

「セルの書式設定→表示形式→文字列」としてやれば、


入力したそのものが表示されるようになりますよ。

この回答への補足

tomikou0000さん、早速の回答ありがとうございます。
説明が解りにくくて申し訳ないです。
入力したそのものが0333333333なので、教えてくださった操作ですと
変化ナシです。
他に方法がありましたらご指導お願いします。

補足日時:2002/03/27 16:28
    • good
    • 0

このQ&Aに関連する人気のQ&A

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

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qメールアドレスの名前と苗字の間に入れる記号は、ドット(.)、ハイフン(-)、アンダースコア(_)のうち、どれが主流でしょうか?

会社や組織で、メールアドレスの名前と苗字の間に入れる記号は、ドット(.)、ハイフン(-)、アンダースコア(_)のうち、どれが主流でしょうか?

山田太郎さんの場合、
taro.yamada@×××.co.jp
taro-yamada@×××.co.jp
taro_yamada@×××.co.jp

私は、ドット(.)が主流と思っていたのですが、ドット(.)やハイフン(-)が使用できないというルールを作っている会社や組織があります。それは何に依存して、そうなっているのですか?

Aベストアンサー

インターネットが始まった早々は「~(チルダ)」が主流でした。現在は主流と言うよりも、技術的に行ったら、「.」はやめましょう。サブドメインなどと間違えます。「-」は受付けない所もあります。例えばYahooIDでは「-」は使えませんよね。これはデータベースの所で、半角英数字以外を受付けないようにしているからです。「_」アンダースコアーが一番無難だと思います。YahooIDもこれならOKです。

Q郵便番号のハイフンを入れたい エクセル2000

エクセル2000で文字列のセルに
1234567
のように7桁郵便番号が入っています。
これを
123-4567
のように前から4桁めにハイフンを入れる方法を
教えていただけませんでしょうか。

*データ件数が3万件ほどあり、その変換のためです。

Aベストアンサー

A1に郵便番号データがあるとして、別セルに
=Left(A1,3) & "-" & Mid(A1,4,4)
を入力。
3万件分をコピーして、元セルに値のみを戻す方法ではいかがでしょうか?

Q英語のハイフンは、日本語OSファイル名禁止文字?

質問カテゴリーを、コンピュータにするべきか悩みましたが、
英語特有の問題と考える方がふさわしいかな?と思い、こちらに質問投稿してみました。
(事実、コンピュータカテゴリーでは日本で市販されている標準的な和英キーボードで
打てる文字に関する禁止文字の回答例しか存在していませんでした)

素人の日本人がパソコンを使う時、ハイフンは半角なら「数字のマイナス記号」、全角なら
「横棒」で打ち込んでしまうことが多いと思います。
(そんなおバカなことをするのは私しかいないようでしたら、どうか許して下さい)


先日、英語サイトの有益な記述があったので、ブラウザからPDF保存をしました。

しかし、
「上記のファイル名は無効です」
と警告が出て保存できませんでした。

おっかしいなあ?と思い、いろいろ点検していくと、マイナス記号に見えているハイフン
を除去することで保存が出来ました。


Q1:純粋の英語環境パソコンでは、ハイフンとマイナス記号は厳密に区別されていますか?
Q2:マイナス記号ではない本物の英語のハイフン記号は、OSのファイル名禁止文字でしょうか?
Q3:それとも、ハイフンでもマイナス記号でもない、ファイル名で禁止されている
第三の「ハイフン・マイナスもどき記号」が英語キーボードには存在しているでしょうか?


一般常識として、PC関係でも語学関係でも、いまさら聞けない低レベルな愚問だと思うのですが
なぜか過去問題にも、これに該当しそうなQ&Aがなかなか簡単にはみつからないのです。

どうか迷えるおバカちゃんを助けて下さい。

質問カテゴリーを、コンピュータにするべきか悩みましたが、
英語特有の問題と考える方がふさわしいかな?と思い、こちらに質問投稿してみました。
(事実、コンピュータカテゴリーでは日本で市販されている標準的な和英キーボードで
打てる文字に関する禁止文字の回答例しか存在していませんでした)

素人の日本人がパソコンを使う時、ハイフンは半角なら「数字のマイナス記号」、全角なら
「横棒」で打ち込んでしまうことが多いと思います。
(そんなおバカなことをするのは私しかいないようでしたら、どうか許...続きを読む

Aベストアンサー

何度も何度も考えなおしていたら、昨日は、途中で眠くなってしまいました。
こういう話は、後々、検索に引っかかりますから、あまりバカなことは書けません。

こちら側では、

ファイル名に使用できない文字を判断する
http://frog.raindrop.jp/knowledge/archives/001079.html

ここにあるC言語を、VB系に書きなおしましたが、ここでは、ちょっと発表はまずいかもしれません。簡単にいうと、「PathGetCharType 」というWin32 API関数を使い、一文字ずつ、チェックするというコードです。

Q'1:
>ANSIキーボード圏の一般人がふつうにハイフンを打つ場合、「マイナス記号」で打ち込んでいる、と理解して間違いないですね?

私も、そう考えています。ただし、ネイティブの文章では、頻繁に以下のUnicode文字が現れます。これが逆に、英語を仕事とする日本人にとって、JISは、ANSIと互換性はあっても、Unicodeは互換性がありませんので、古いソフトなどでは、とても厄介な存在になることがあります。だから、英文を一括置換をしています。

「‑」2013 En dash
「 — 」2014 Em dash
(数字は、Unicodeのコード番号)

Q'2:
>Firefoxが気を利かせた仕様でHTML上のTITLEタグをPDF保存ファイル名に自動反映
させていることがわかりました。

>場合によって何か制御文字が入ってしまうバグがあるかもしれない。

ここが試せればよいのですが、AdobePDFがありませんので試せません。エンコードしただけの文字なら、目視にて分かるはずです。ただし、エンコードとデコードの両方が行われていることはあるかもしれません。ご存知だと思いますが、HTML上のタイトルは、プログラムの命令で取出します。そうすると、ソースを書いた製作者側そのものの文字だと思います。プログラムでは、Web ブラウザの LocationName(IEの場合)で名前を取るだけだと思います。

>ANSI圏でハイフン(マイナス記号)を含むタイトル文字列で要注意、の可能性がある。
>と疑ってみたほうがどうやらよさそうですね?

少なくとも、Windows (2000以上)の場合は、上記の En dash等のUnicode独自の文字でもファイル名としてはエラーになることはないですが、ソフトウェア側は別問題です。それは、Unicodeを許しているソフトウェア(例えば MS-Office)でさえ、困った問題が発生するし、2byte文字がエラーが発生することがあるというのは、人は、自分の目の前で起こらない限りは、信じない人が多いものです。

何度も何度も考えなおしていたら、昨日は、途中で眠くなってしまいました。
こういう話は、後々、検索に引っかかりますから、あまりバカなことは書けません。

こちら側では、

ファイル名に使用できない文字を判断する
http://frog.raindrop.jp/knowledge/archives/001079.html

ここにあるC言語を、VB系に書きなおしましたが、ここでは、ちょっと発表はまずいかもしれません。簡単にいうと、「PathGetCharType 」というWin32 API関数を使い、一文字ずつ、チェックするというコードです。

Q'1:
>ANSIキーボード...続きを読む

QExcel 郵便番号 表示形式での-(ハイフン) 0の番号の郵便番号に入らない

Excel2010
郵便番号を文字列にして-(ハイフン)なし7桁の数値で入力し、
表示形式のその他の郵便番号を設定しました。
しかし、北海道、青森等の0のつく郵便番号は、-(ハイフン)
が表示されません。
なぜ表示されないのですか?

表示させる方法はありませんか?

Aベストアンサー

もしかしたら元の書式設定が「文字列」になっていませんでしたか?
後から書式だけ変えても反映されません。
セルを選択して数値バーにカーソルを持っていき[Enter]キーを押すか
下図の「!」マークをクリックして「数値に変換する」を選択してください。

Q携帯電話で、数字と記号が同時に入力できますか?

携帯電話画面で、数字といっしょにハイフン「-」や時「:」などの記号を簡単に入れる方法はないでしょうか。

今、ドコモのN-05Aを利用しているのですが、
電話帳への住所登録、時間入力など、数字の間に記号を入れる時に特に困っています。
ハイフン「-」を入れたい時は、数字入力から漢字入力に切り替えて0キーを使って記号を入れています。
画面を切り替えずに記号を入れられる方法ってないでしょうか。あるいは、他の方法でも結構です。

携帯の知識があまりありませんので、お分かりになる方教えてください。
よろしくお願いします。

Aベストアンサー

Nー02Cを使っています。
メーカーが同じなのでもしかしたら操作も同じかも。
入力画面の下の方に[確定][閉][文字切替]のボタンが表示されていたら、[文字切替]の反対側に[絵記]というボタンがありませんか。
あったら、そのボタン(Nー02Cはiモードボタンが割り当てられています)を押してください。
ボタンを押すごとに、デコメー絵ー全記ー半記ー顔ーURLと候補が表示されます。ハイフォンなら全記、半記のなかにあります。
まるっきり使い方の違った時はごめんなさいね。

QExcel2000データで、既に空白が空いているところを半角2文字分に統一するには

Excelで何千件もある、マスターの修正をしています。

すでに空白の空いているデータの空白の長さがまちまちなので
半角2文字分に統一したいのですが、よい方法が見つからず
手作業で何時間もかけて修正している状態です。

マスターですので何桁目に空白を空けるのかというのは
データによってバラバラです。

何かよい解決策はありませんでしょうか?

Aベストアンサー

そのシートに空きがあればそこでもいいですし、別シートでもいいですが、
データの入っている範囲と同じサイズの空き領域の、A1に対応する部分に
=TRIM(A1) と入力し範囲全体にコピー&ペースト。
範囲全体を選択しコピー、値を貼り付け。
置換で「半角スペース」を「半角スペース2つ」に、
置換で「全角スペース」を「半角スペース2つ」に(順番が逆は不可)。
範囲をコピーし、元のデータ範囲に貼り付け。
作業領域を削除。

で、いかがでしょう。

Q健康保険証の記号・番号のうち、記号がとても長い数字とかありえますか?

健康保険証の記号・番号のうち、記号がとても長い数字とかありえますか?
前職時代の健康保険証の記号・番号を知る必要があり、管轄の年金事務所に問い合わせたところ、
記号がとても長い数字(ハイフンを含む10桁の数字)で、
番号はたったの2桁の数字でした。

みなさんの健康保険証も記号が10桁とかあるのですか?

Aベストアンサー

健康保険証の記号は加入している事業所を表し、番号はその事業所に属する被保険者を表します。

No.1の方が回答している協会けんぽは、健保組合の無い企業が入っているのですが、主に中小企業が多く、加入企業数が多く、企業の従業員数が少ないので記号が10桁、番号が2桁になっているのです。

逆に大企業の健保組合では、記号の桁数は少なく番号の桁数が多くなります。
協会けんぽで10桁になっているので10桁は有り得る桁数ということになります。

参考までに、私の場合は前職の時は記号が3桁、番号が6桁でしたが、今の会社は記号が4桁番号は2桁です。

Q(Excel)範囲中のデータのうち条件に該当するデータのセルの行番号・列番号を取得したいのですが

例えば、B2からF5の範囲にデータが入力されていて、このうち条件に該当するデータ(最大値)のセルの行番号・列番号を取得したいのですが何か良い方法はありますでしょうか。
最大値のセルをアクティブにする方法が分かれば問題は解決するのですが、調べてみても答えが見つかりませんでした。
また、他に良い方法があればぜひともよろしくお願いします。
回答はVBAでもワークシート関数でも、どちらでも結構です。

ExcelはExcel2000、OSはWindows2000を使用しています。

Aベストアンサー

最大値のセルをアクティブにするんですよね?
では関数では無理なのでVBAで。

Sub test()
Dim x, c
x = Application.Max(Range("B2:F5"))
Set c = Range("B2:F5").Find(What:=x, LookIn:=xlValues, LookAt:=xlWhole)
MsgBox c.Address(0, 0) & "セルが最大値です。セレクトします。"
c.Select
End Sub

Qアドレスに入れる絵文字(記号?)のようなもの 教えて下さい

携帯のアドレスを変えようと思っています。ハイフンやアンダーバーなど記号をつかった絵文字のようなものを入れたいのですが、なにか面白いやつがあったら教えて下さい

Aベストアンサー

>ハイフンやアンダーバーなど記号をつかった絵文字

これだけの記号を使って顔文字を作ることは難しいと思います。
探すのは難しいですね。
また、ドットの連続など、無理な文字列を作るとパソコンのメールサーバで受け付けない場合がありますから注意して下さい。

QExcel2000で置換えについての質問。

一つの列内の半角カタカナを、全角カタカナに置き換えたいのですが、可能でしょうか?
また、どの様にすれば良いのでしょうか?

宜しくお願いします。

Aベストアンサー

ごめんなさい。
ちょっと急ぎましたので、間違えました。
次のコードと入換えてください。(7行目が追加行です。)

Sub 半角カタカナだけを全角変換()
Dim Rng As Range
Dim StrW As String
Dim ConvStr As String
Dim N As Integer
For Each Rng In Selection
  ConvStr=""
  StrW = StrConv(Rng.Value, vbWide)
  For N = 1 To Len(StrW)
    If Asc(Mid(StrW, N, 1)) < -31849 And _
      Asc(Mid(StrW, N, 1)) > -31937 Then
      ConvStr = ConvStr & Mid(StrW, N, 1)
    Else
      ConvStr = ConvStr & StrConv(Mid(StrW, N, 1), vbNarrow)
    End If
  Next N
  Rng.Value = ConvStr
Next Rng
End Sub

ごめんなさい。
ちょっと急ぎましたので、間違えました。
次のコードと入換えてください。(7行目が追加行です。)

Sub 半角カタカナだけを全角変換()
Dim Rng As Range
Dim StrW As String
Dim ConvStr As String
Dim N As Integer
For Each Rng In Selection
  ConvStr=""
  StrW = StrConv(Rng.Value, vbWide)
  For N = 1 To Len(StrW)
    If Asc(Mid(StrW, N, 1)) < -31849 And _
      Asc(Mid(StrW, N, 1)) > -31937 Then
      ConvStr = ConvStr & Mid(S...続きを読む


人気Q&Aランキング