web-dev-qa-db-ja.com

特定の長さまで既存のExcel値に先行ゼロ/ 0を追加

SOには、ExcelへのインポートまたはExcelからのエクスポート時に先行ゼロが削除されないようにする方法について、多数の質問と質の高い回答があります。しかし、実際には文字列として扱われるべきだったときに、数値として切り捨てられた値を含むスプレッドシートをすでに持っています。データを整理し、先頭にゼロを追加する必要があります。

4文字にする必要があるフィールドがあり、先頭にゼロを付けて文字列を4文字にパディングします。しかしながら:

"23" should be "0023", 
"245" should be "0245", and
"3829" should remain "3829"

質問:4つすべての文字になるように、これらの値にこれらの0を埋め込むExcelの数式はありますか。

注:これは、ニューイングランドエリアの郵便番号の先頭のゼロが削除されて、元に戻す必要がある、古くなった郵便番号の問題と似ています。

289
Mark A
=TEXT(A1,"0000")

ただし、 TEXT関数 は、日付の書式設定など、他の凝った機能も実行できます。

493
GSerg

これを行うためのより効率的な(目立たない)方法は、カスタム書式設定によるものです。

  1. スタイルを設定したい列/配列をハイライトします。
  2. クリック ctrl + 1 またはフォーマット - >セルのフォーマット。
  3. 番号タブで、カスタムを選択します。
  4. カスタム書式を000#に設定します。 (ゼロゼロゼロ#)

これは実際にはセルの値を変更しないことに注意してください。ワークシートの先頭の0のみが表示されます。

76
Moses

DEC2HEX()が非常に優れた機能for freeを提供することに気づいたとき、私はこのページにアクセスして16進値を埋めようとしました。

2番目のパラメータを追加するだけです。例えば、120Cに変換することを結び付ける
DEC2HEX(12,2) => 0C
DEC2HEX(12,4) => 000C
... 等々

16
MonoThreaded

これがExcel 2013の新機能であるかどうかはわかりませんが、列を右クリックして「特別」と言うと、郵便番号と郵便番号+ 4用の定義済みのオプションがあります。

enter image description here

9
ProVega

私はこれがしばらく前に答えられたことを知っています、しかし、ここで私が驚いたという単純な解決策でchimingすることは言及されませんでした。

=RIGHT("0000" & A1, 4)

パッドを入れる必要があるときはいつでも、私は上記のようなものを使います。個人的には私はそれが最も簡単な解決策で読みやすいと思います。

4
zgirod

これでもうまくいくでしょう

REPT(0,2-LEN(F2)&F2

2は合計桁数です。0〜9の場合は、00〜09が表示されます。残りは何も追加されません。

1
user2902302

カスタムフォーマットを使用していて、それらの値を別の場所に連結する必要がある場合は、それらをコピーしてシートの別の場所(または別のシート)に[貼り付け] - > [値]を選択します。

1
JeffK627