- ベストアンサー
エクセル 書式設定 ユーザー定義
エクセル書式設定ユーザー定義について 郵便番号の後ろ4桁で、0から始まる数値を0を付け加えた文字列にしたいのですが(例:123を0123と表示、最初の123は数値、0123は文字列で)TEXT関数を使って他のセルには作れるのですが、ユーザー定義での設定は可能でしょうか?
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
ひとつのセルには、全部文字列又は全部数値しか入りません。属性を別にしたいのであればセルを別々にすべきだと思います。 ちなみに、ひとつのセルで処理するなら、普通は「000-0000」の書式を設定して、7桁の数値(1230123)を入力して「123-0123」と表示させるのが一般的な処理だと思います。
その他の回答 (5)
#5です もし、あるシステムからはき出されたCSVファイルを、別のシステムの入力ファイとして整形するためだけにEXCELを使っていて、 なおかつ、目視で特定のデータを探し、一ヶ所ずつチマチマ整形する必要がないなら、 VBA等を使って、「読み込み→整形→書き出し」と自動化したほうが良いかも知れませんね。
お礼
沢山の回答をしていただき、恐縮です。VBAについては勉強不足でまだ使いこなせないかもしれません。今後の課題にいたします。
> 2桁、または3桁の数値を「0」を手前につけて、4桁の文字列にする方法 =TEXT(A1,"0000") で如何でしょう
お礼
どうもありがとうございました。TEXT(A1,"0000") は今のところ最有力候補の方法です。検討させていただきます。
- Bubuca
- ベストアンサー率59% (532/898)
こんばんは #2です。 >「0」を手前につけて、4桁の文字列にする方法を探しております。 うーん、そういうことでしたか。 書式設定ではできないと思います。 設定を「????」にすると空白が表示(左揃えにすると見えます)されますが、表示だけなのでその空白をゼロに置換したりはできないです。 ただ、テキストで書き出し(CSVなど)をすると空白も出力されるので、別なエディタで検索置換はできます。再度エクセルに読み込むと数値に変換されてしまうようです。 作業列を使ってもいいならば、 =REPT("0",4-LEN(A1))&A1 で4桁にしたテキストを作成する事ができます。 読み込んだシートとは別なシートにテキストデータを作成して、書き出しをするのがいいかもしれません。 あまりお力になれないようですみません。
お礼
どうも有り難うございました。大変参考になりました。作業列は使ったことがありませんが、勉強してみます。
ユーザー定義でなくても、その他の項目に郵便番号があります。 ただし「1230123」と入力する必要はありますが... バージョンは2002です。
補足
回答ありがとうございました。私の質問の仕方が不十分だったので補足いたします。 あるシステムから吐き出された1つのセルにある2桁、または3桁の数値を「0」を手前につけて、4桁の文字列にする方法を探しております。例:234(数値)→0234(文字列) しかも0234をまた別のシステムにのせるので、そのセルをコピーして貼り付けるのですが、文字列でないと都合が悪く、ユーザー定義の「0000」で設定すると、0234にはなりますが、数値のままなのでだめなのです。4桁に足りない分の「0」を付け加えると同時に文字列に変換することは可能でしょうか?
- Bubuca
- ベストアンサー率59% (532/898)
こんばんは 郵便番号ですから4桁固定ですよね。 それならばセルの書式設定の「ユーザー定義」で0000とすれば、 数値のままで0123と表示されます。
補足
回答ありがとうございました。私の質問の仕方が不十分だったので補足いたします。 あるシステムから吐き出された1つのセルにある2桁、または3桁の数値を「0」を手前につけて、4桁の文字列にする方法を探しております。例:234(数値)→0234(文字列) しかも0234をまた別のシステムにのせるので、そのセルをコピーして貼り付けるのですが、文字列でないと都合が悪く、ユーザー定義の「0000」で設定すると、0234にはなりますが、数値のままなのでだめなのです。4桁に足りない分の「0」を付け加えると同時に文字列に変換することは可能でしょうか?
補足
回答ありがとうございました。私の質問の仕方が不十分だったので補足いたします。 あるシステムから吐き出された1つのセルにある2桁、または3桁の数値を「0」を手前につけて、4桁の文字列にする方法を探しております。例:234(数値)→0234(文字列) しかも0234をまた別のシステムにのせるので、そのセルをコピーして貼り付けるのですが、文字列でないと都合が悪く、ユーザー定義の「0000」で設定すると、0234にはなりますが、数値のままなのでだめなのです。4桁に足りない分の「0」を付け加えると同時に文字列に変換することは可能でしょうか?