- ベストアンサー
エクセルのセル書式設定について
エクセルのセル書式設定について教えてください。 セルA1に 111222333 と数字を入力しました。 ちょっと見にくいので111-222-333とするために書式設定のユーザー定義で ###-###-### としました。うまくいきましたが、 A1122233B だと - がはいりません。 セルA列には英数字が入ります。見やすくするため表示のみ「-」を 表示させたいです。入力はそのまま「-」なしで入力します。 どうかお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
アルファベット付きの数字は文字列となるので セルの書式設定では設定できません。 AとBが固定で数値部分のみ入力なら "A"00-000-00"B" とできますが、検索時はAとBを抜かして行なう形です。 隣のセルに表示でいいなら =LEFT(A1,3)&"-"&MID(A1,4,3)&RIGHT(A1,3) で可能ですけど...
その他の回答 (2)
- imogasi
- ベストアンサー率27% (4737/17069)
下記の点認識すること。エクセルを少し経験して、わかって来ると、この質問そのものが,、しないはずのものだ。 (1)エクセルの書式設定と (2)元のセルの値(この質問の場合は文字列。Aが着く(入る)と文字列になる)を変えてしまう文字列の変形 とは違うものだ。 この質問の場合セルの値が文字列なので、(1)のエクセルの多彩な表示形式の設定が出来ない。 文字列に大しては、現状のエクセルでは、表示形式の設定のバリエーションはほとんど備わってない。ーの挿入も出来ない。 それで(2)にならざるをえないし、(VBAでも使わないと)その場合は、別のセルに文字列変形が実現せざるをえない。値(文字列)も変わってしまう。 ーー (2)は =MID(A1,1,3)&"-"& MID(A1,4,3) & "-"& MID(A1,7,9) で出来る 結果 A11-222-33B しかし各行の文字列の長さが不揃いだと式が複雑化する。VBAででもやらないと難しいかと思う。
- mu2011
- ベストアンサー率38% (1910/4994)
残念ながら文字列は書式設定できません。 別列に表示でも問題なければ、次の方法は如何でしょうか。 (例)A列がデータ入力(9文字)、B1に数式を設定、下方向にコピー =IF(A1<>"",REPLACE(REPLACE(A1,7,,"-"),4,,"-"),"")
お礼
辛口ですね。参考になりました。 有難うございました。