• ベストアンサー

エクセルのセル書式設定について

エクセルのセル書式設定について教えてください。 セルA1に 111222333 と数字を入力しました。 ちょっと見にくいので111-222-333とするために書式設定のユーザー定義で ###-###-### としました。うまくいきましたが、  A1122233B だと - がはいりません。 セルA列には英数字が入ります。見やすくするため表示のみ「-」を 表示させたいです。入力はそのまま「-」なしで入力します。 どうかお願いします。

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

  • ベストアンサー
  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.1

アルファベット付きの数字は文字列となるので セルの書式設定では設定できません。 AとBが固定で数値部分のみ入力なら "A"00-000-00"B" とできますが、検索時はAとBを抜かして行なう形です。 隣のセルに表示でいいなら =LEFT(A1,3)&"-"&MID(A1,4,3)&RIGHT(A1,3) で可能ですけど...

その他の回答 (2)

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

下記の点認識すること。エクセルを少し経験して、わかって来ると、この質問そのものが,、しないはずのものだ。 (1)エクセルの書式設定と (2)元のセルの値(この質問の場合は文字列。Aが着く(入る)と文字列になる)を変えてしまう文字列の変形 とは違うものだ。 この質問の場合セルの値が文字列なので、(1)のエクセルの多彩な表示形式の設定が出来ない。 文字列に大しては、現状のエクセルでは、表示形式の設定のバリエーションはほとんど備わってない。ーの挿入も出来ない。 それで(2)にならざるをえないし、(VBAでも使わないと)その場合は、別のセルに文字列変形が実現せざるをえない。値(文字列)も変わってしまう。 ーー (2)は =MID(A1,1,3)&"-"& MID(A1,4,3) & "-"& MID(A1,7,9) で出来る 結果 A11-222-33B しかし各行の文字列の長さが不揃いだと式が複雑化する。VBAででもやらないと難しいかと思う。

K-19New
質問者

お礼

辛口ですね。参考になりました。 有難うございました。

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.2

残念ながら文字列は書式設定できません。 別列に表示でも問題なければ、次の方法は如何でしょうか。 (例)A列がデータ入力(9文字)、B1に数式を設定、下方向にコピー   =IF(A1<>"",REPLACE(REPLACE(A1,7,,"-"),4,,"-"),"")