• ベストアンサー

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

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

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

  • ベストアンサー
noname#46899
noname#46899
回答No.1

ひとつのセルには、全部文字列又は全部数値しか入りません。属性を別にしたいのであればセルを別々にすべきだと思います。 ちなみに、ひとつのセルで処理するなら、普通は「000-0000」の書式を設定して、7桁の数値(1230123)を入力して「123-0123」と表示させるのが一般的な処理だと思います。

hirozo14
質問者

補足

回答ありがとうございました。私の質問の仕方が不十分だったので補足いたします。 あるシステムから吐き出された1つのセルにある2桁、または3桁の数値を「0」を手前につけて、4桁の文字列にする方法を探しております。例:234(数値)→0234(文字列) しかも0234をまた別のシステムにのせるので、そのセルをコピーして貼り付けるのですが、文字列でないと都合が悪く、ユーザー定義の「0000」で設定すると、0234にはなりますが、数値のままなのでだめなのです。4桁に足りない分の「0」を付け加えると同時に文字列に変換することは可能でしょうか?

その他の回答 (5)

noname#79209
noname#79209
回答No.6

#5です もし、あるシステムからはき出されたCSVファイルを、別のシステムの入力ファイとして整形するためだけにEXCELを使っていて、 なおかつ、目視で特定のデータを探し、一ヶ所ずつチマチマ整形する必要がないなら、 VBA等を使って、「読み込み→整形→書き出し」と自動化したほうが良いかも知れませんね。

hirozo14
質問者

お礼

沢山の回答をしていただき、恐縮です。VBAについては勉強不足でまだ使いこなせないかもしれません。今後の課題にいたします。

noname#79209
noname#79209
回答No.5

> 2桁、または3桁の数値を「0」を手前につけて、4桁の文字列にする方法 =TEXT(A1,"0000") で如何でしょう

hirozo14
質問者

お礼

どうもありがとうございました。TEXT(A1,"0000") は今のところ最有力候補の方法です。検討させていただきます。

  • Bubuca
  • ベストアンサー率59% (532/898)
回答No.4

こんばんは #2です。 >「0」を手前につけて、4桁の文字列にする方法を探しております。 うーん、そういうことでしたか。 書式設定ではできないと思います。 設定を「????」にすると空白が表示(左揃えにすると見えます)されますが、表示だけなのでその空白をゼロに置換したりはできないです。 ただ、テキストで書き出し(CSVなど)をすると空白も出力されるので、別なエディタで検索置換はできます。再度エクセルに読み込むと数値に変換されてしまうようです。 作業列を使ってもいいならば、  =REPT("0",4-LEN(A1))&A1 で4桁にしたテキストを作成する事ができます。 読み込んだシートとは別なシートにテキストデータを作成して、書き出しをするのがいいかもしれません。 あまりお力になれないようですみません。

hirozo14
質問者

お礼

どうも有り難うございました。大変参考になりました。作業列は使ったことがありませんが、勉強してみます。

noname#79209
noname#79209
回答No.3

ユーザー定義でなくても、その他の項目に郵便番号があります。 ただし「1230123」と入力する必要はありますが... バージョンは2002です。

hirozo14
質問者

補足

回答ありがとうございました。私の質問の仕方が不十分だったので補足いたします。 あるシステムから吐き出された1つのセルにある2桁、または3桁の数値を「0」を手前につけて、4桁の文字列にする方法を探しております。例:234(数値)→0234(文字列) しかも0234をまた別のシステムにのせるので、そのセルをコピーして貼り付けるのですが、文字列でないと都合が悪く、ユーザー定義の「0000」で設定すると、0234にはなりますが、数値のままなのでだめなのです。4桁に足りない分の「0」を付け加えると同時に文字列に変換することは可能でしょうか?

  • Bubuca
  • ベストアンサー率59% (532/898)
回答No.2

こんばんは 郵便番号ですから4桁固定ですよね。 それならばセルの書式設定の「ユーザー定義」で0000とすれば、 数値のままで0123と表示されます。

hirozo14
質問者

補足

回答ありがとうございました。私の質問の仕方が不十分だったので補足いたします。 あるシステムから吐き出された1つのセルにある2桁、または3桁の数値を「0」を手前につけて、4桁の文字列にする方法を探しております。例:234(数値)→0234(文字列) しかも0234をまた別のシステムにのせるので、そのセルをコピーして貼り付けるのですが、文字列でないと都合が悪く、ユーザー定義の「0000」で設定すると、0234にはなりますが、数値のままなのでだめなのです。4桁に足りない分の「0」を付け加えると同時に文字列に変換することは可能でしょうか?

関連するQ&A

専門家に質問してみよう