• ベストアンサー

エクセルの書式設定?

16桁の数字は文字列としてしか入力できない事は確認できましたが、それを4桁毎にハイフンで区切る事は可能でしょうか? 書式設定で設定できますか? 例) 1111222233334444 と入力 ⇒ 1111-2222-3333-4444 と表示 どなたかおわかりでしたら教えて下さい。 よろしくお願いします。

  • deguo
  • お礼率71% (5/7)

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.6

エクセルは書式を文字列にしないと、16桁の数字の最後の桁が0になりますね。 それで、入力する前に書式を文字列に設定し Sheet1のシートモジュールのChangeイベントに Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column = 1 Then If Len(Target) <> 16 Then GoTo er1 On Error GoTo er1 Application.EnableEvents = False s = "" For i = 1 To 13 Step 4 s = s & Mid(Target, i, 4) & "-" Next i Target = Left(s, 19) Application.EnableEvents = True Exit Sub '--- er1: MsgBox "err" Application.EnableEvents = True End If End Sub と入れて、入力すると 1111222233334444がENTERを押すと 1111-2222-3333-4444と入ります。 大げさになるので入力に4桁ごとに、ーを入れる方が良いのでは。 または関数で4桁ごとにB列にーを入れて、A列に値で戻すなどがお勧め。

deguo
質問者

お礼

詳しい説明ありがとうございます。 難しいですね。。。 やはりあきらめて4桁毎にーを入力する方が早そうですね。 ありがとうございました。

その他の回答 (6)

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.7

入力と表示を分けるのが良いかも知れませんね。 A1に該当文字列を入力するとき B1 =REPLACE(REPLACE(REPLACE(A1,5,0,"-"),10,0,"-"),15,0,"-")

deguo
質問者

お礼

回答ありがとうございます。 やはり入力と表示を別セルに分けるかあきらめて 4桁毎に「-」を入力していった方が良さそうですね。 参考になりましたありがとうございます。

  • dejiji-
  • ベストアンサー率38% (327/858)
回答No.5

No2,3の方の言われる書式で表示は出来ますが、16桁目は0になります。 例えば、数値を分割して =1111222233330000+4445とすると、計算結果は1111222233334450となり、16桁目が四捨五入されてしまいます。(これは仕様なのでどうしょうもないのではないでしょうか。) もし、数値として使用する場合でも文字として入力してしまえばいいのではないでしょうか。 これを計算に使うのであれば、文字の入ったセルをA1とすると、=A1*1とすれば数値として使えます。この場合でも16桁目は0として表示されます。

deguo
質問者

お礼

ありがとうございます。 やはり16桁目はしょうがないんですね。。。

  • keirika
  • ベストアンサー率42% (279/658)
回答No.4

数字を文字として入力してしまっているのであれば、 書式設定でハイフン付きの書式にするのは無理だと思います 一度、別のセルを使用してvalue関数で数値に変換する必要があります。

deguo
質問者

補足

今から新たに入力する場合は書式でハイフン付きにすることはできますか? 自分でいろいろ設定してみたのですが、どうしても最後の16桁目の数字が0になってしまいます。 少し調べたらエクセルでは数値は15桁までしか正しく認識しないとあったんですが・・・。 詳しくご存知でしたら教えて下さい。

  • shu2320
  • ベストアンサー率0% (0/2)
回答No.3

セルの書式設定の表示形式にユーザー定義とあります。ユーザー定義 を選択反転させ、右の種類のポックスに「0000-0000-0000-0000」と 入れてOKをクリック。 設定したセルに16桁入れるとハイフン区切りで表示されますよ。

deguo
質問者

補足

私もユーザー定義でいろいろやってみて・・・ 0000-0000-0000-0000 や ####-####-####-####で 設定してみたのですが、どうやっても 1111-2222-3333-4440のように最後の数字が0になってしまいます。 どうすれば入力した数字がそのまま表示されますか?

  • haccyan
  • ベストアンサー率43% (27/62)
回答No.2

こんにちは [セルの書式設定]→[ユーザー定義]で、 以下のように入力して、OKです。 ####-####-####-####

deguo
質問者

お礼

回答ありがとうございます。

回答No.1

セルの書式設定で ###-###-###-### とすればOKです。 16桁の数字は数値として入力できますよ。セルの書式設定で「数値」を選択してみてください。

deguo
質問者

お礼

回答ありがとうございます。

関連するQ&A

  • エクセル 書式設定・入力規則・関数等教えて下さい。

    先日は、わたくしの質問に回答を下さった皆さま、誠にありがとうございました。 日本人の優しさに感謝しております。 また、 エクセルで書式や関数等をご教授いただきたくお願いいたします。 全くの初心者でありますため、お恥ずかしい質問になりますが、どうかお助け下さい<(_ _)> 質問内容は、下記の2つです。 【質問内容です】 (1) B列にドロップダウンリストで「050」を強制的に選ばせるようにしました。   (選択肢は1つなので、わざわざと思われそうですが、05の後にハイフンを入れる   ような方もいらっしゃいますので・・・・)   セルの書式設定で050の後にハイフンが表示するようにしています。      ここから先がどうしたら良いのか分かりません。   C列に7桁の数字だけを入力してもらい、「5〇〇〇ー〇〇〇〇」としたいのです。   セルの書式設定のユーザ定義「5000"-"0000」とし、データの入力規則で「文字列(長さ   指定)」長さを「7」としてみたのですが、   初めに「0」(ゼロ)を入力するとエラーになってしまいます。   C列をセルの書式設定で「文字列」に設定してないからなのかな?と思いますが、強制的に   先頭に5を表示させたいのです。   関数は、さっぱり分かりません。   先日、回答をいただきながらも、私の知識が乏しいため、出来ないものもありましたため、   可能な限り簡素な方法をご教示いただきたく、お願いいたします。    (2) B列にIPアドレスを入力してもらうため、数字と.(ドット)以外入力出来ないように   入力規制をかけたいのです。   (IPアドレスの先頭に0「ゼロ」がある場合もあるのでしょうか?その辺のところも   加味していただけますと幸いです)   以上、2つの質問になりますが、何卒よろしくお願いいたします。   

  • 【エクセルの質問】日付の書式を設定したい

    日付が20070124というように連続した8桁の数字で入力されています。 セルの書式設定から表示形式を確認すると文字列で設定されています。 文字列で設定されていても2007/01/24というように年月日を区切るのに/が使われていれば日付として認識されますが連続して数字が羅列されている場合、どのように日付として変換したらいいのでしょうか?データ量が多いのでできれば関数などで一度に設定できれば助かるんですが。 ご存知の方がいたらご教授をお願いいたします。

  • Excel、セルの書式設定について

    バージョンは2003を使っています。 セルの書式設定→表示形式→ユーザー定義で 「○○@」と入れると 何も入力しなければそのままですが 何かを入力すると、必ずその入力した文字列の前に○○が表示されますが 数字はできないのでしょうか? 漢字はできたのですが 半角数字を同じようにやったら 「入力した表示形式が正しくありません。 あらかじめ組み込まれている表示形式のいずれかを使用してみてください…」 というエラーになりました。 1000セル以上に数字を入力予定なのですが 1セルに20桁で、前半15桁は同じ羅列です。 15桁のみ入力してコピペしてというやり方でもいいのですが そうすると、1セル1セル入力の際にクリックしないといけないので…。

  • エクセルのセルの書式設定について教えてください。

    エクセルで作った表で住所録を作っているのですが、セルの書式設定で分からない点がありますので教えてください。 1・セルに対して住所を打ち込みたいのですが、数字の部分だけ自動的に半角にすることは可能ですか?  例・15丁目→15丁目 2・セルに対して電話番号を打ち込みたいのですが、9桁の番号に対して自動的にハイフンを付けることはできますか?  例・0123456789→012-345-6789 (この際、頭文字が0の場合でも省略されないで表示されるようにしたいのです) どなたかご存じの方がいらっしゃいましたら教えてください。

  • Excelで、ハイフンを消したいけど000は残したい

    A列に、 00033-11-55 00432-12-01 00022-11-56 ・・・・・・ と、5桁-2桁-2桁 の数字がずーっと並んでいます。 これを、B列の、各となりのセルに、 000331155 004321201 000221156 ・・・・・・ というふうに、 ハイフンは消すが、000や00は残した数字を表示させたいです。 単に置換で、「-」を「」に置き換えると、00や000が消えてしまいます。。。。。 A列の、セルの書式設定を文字列にしても駄目でした。 どうすればいいでしょうか? 何かうまい関数などは、ありませんでしょうか?

  • エクセルの条件つき書式を別のセルに適用させる

    お世話になっております。m(_ _)m エクセルに「条件つき書式」という機能があります。 これは、「設定をしたセルの書式」を制御するものですが、条件の指定に使うセルと書式を設定したいセルが別の場合は、どのようにすればよいのでしょうか?可能なのでしょうか? やりたいことは、A1のセルに入っているデータが8桁なら書式を「00000000(ゼロ8個)」とし、9桁なら「000000000(ゼロ9個)」というようにしたいのです。 このような設定をしなければならない理由は、このセルに入るデータは桁数が8桁か9桁で、数字か文字か決まっていないデータが入ります。 例)00123445   E0123456   012345678   Z12345678 等 「E0123456」や「Z12345678」が入る場合は文字列としてデータが扱われてもかまわないのですが、「00123445」や「012345678」は「数値」として扱いたいのです。 「00123445」の場合、数値としてこの数字を表示したければ書式を「00000000(ゼロ8個)」とすればよいと思います。 しかし、このセルには9桁の「012345678」というデータが入る可能性があります。このデータも数字として扱いたいので「000000000(ゼロ9個)」とすればよいとなります。 しかし、ゼロ9個の書式設定をしてしまうと、8桁の数字が「000123445」と表示されてしまいます。それでは困ります。 8桁は8ケタ、9桁は9ケタで、0から始まる数字を表示したい場合、どのようにすれば表示できるでしょうか? 長くなりましたが回答をお願いします。

  • エクセルの条件付き書式

    条件付き書式について、指定したセルに入力(数字や文字を問わず)すると、セルの色が変わるよう設定したいのです。 ただ、数字の表示を3桁表示する必要があり、どうしても1~99までの番号には頭に「0」をつける必要があるため、条件付き書式を設定する前に、あらかじめ対象のセルには、セルの書式設定で表示形式を文字列に設定しています。 その設定をすることにより、条件付き書式が実行されません。 ですので、 (1)セルに001~099と表示されるよう入力するとセルの色が変わるやり方 と、 (2)数字ではなく文字を入力したときもセルの色が変わる設定方法 を、ご存知であれば教えてください。 エクセルの知識は「初心者~普通」程度です。 表計算などは出来ますが、関数やマクロはかじってる程度です。 簡単な回答をしていただけるとありがたいです。 よろしくお願いします。

  • Excelの「’」とセルの書式設定(文字列)の違い

    こんばんわ。 Excelの文字列表示について、教えてください。 数字を入力する際に、先頭に「'」を入力すると 文字列として入力することが出来ますが、 数字が入っているセルのセルの書式設定から 「文字列」に表示形式を変更することとの 違いはなんなんでしょうか? やり方は違うけれど、結果は同じということでしょうか? 「'」を入力すると、データが文字そのものに変わり、 表示形式を変更すると、見た目だけ(左揃えになるなど) 文字列のように見えるだけで、データは 数字のままということなんでしょうか?? また、文字列として入力された数字を Value関数で数値に変換してしまうのと セルの書式設定で「数値」に変更するというものも 同じように、違いが良く分かりません。。。 もう、頭の中が「??」だらけです。 違いを教えていただけたら・・・と思います。 どうぞよろしくお願いいたします<m(__)m>

  • エクセル 書式設定 ユーザー定義

    エクセル書式設定ユーザー定義について  郵便番号の後ろ4桁で、0から始まる数値を0を付け加えた文字列にしたいのですが(例:123を0123と表示、最初の123は数値、0123は文字列で)TEXT関数を使って他のセルには作れるのですが、ユーザー定義での設定は可能でしょうか?

  • Excel 2003 セルの書式設定「\」と「,」同時使用の方法

    どなたか教えて下さいお願い致します。 Excel 2003のセルの書式設定で、数字を入力すると「\」マークが自動でついて、 かつ「,」で3桁区切りの表示をさせるようにしたいと考えております。 どちらか一方を設定すると、もう一方の書式設定の効果がなくなってしまいます。 同時に設定する方法はあるのでしょうか? 例) 「2000000」とセルに入力→「\2,000,000」と表示される

専門家に質問してみよう