web-dev-qa-db-ja.com

Excelセルの先行ゼロの自動切り捨てを防ぐ方法

04562を貼り付けると、自動的に先行ゼロが切り捨てられ、4562として保存されます。

04562として保存します。

18
Rajasekar

MS Excelを使用して、先頭にゼロを付けて数値を保存する必要があるセルを編集する場合は、セルの内容をフォーマットしてTEXTとして定義します。プログラムで格納する場合は、同じ値を引用符 ''で囲むことができます。

更新

「セルのフォーマット」に移動してカスタムフォーマットを選択し、たとえばフォーマットに0000と入力すると、セルに入力した数値は4桁未満ですが、4桁の長さは維持されます。先頭の「0」(0001、0099、0120、9999など)

20
Kangkan

これはすべて、数値をテキストに変換して先行ゼロを維持するための正確な回避策ですが、質問に対する回答ではありません。

あなたの質問への答えは、Excelで先行ゼロを持つ数値が必要な場合、少なくともインポート中にはそれを取得できないということです。

マイクロソフトの開発者は、何らかの理由で03を数値として読み取り、先頭の0を切り捨て、結果として3になるようにExcelを構築しました。これを防ぐ方法はありません。

すべての回避策は、どの列に値が先行ゼロの可能性があるかを知っていると想定しているので、残念です。これにより、*事後に*データを修正してみることができます。

ちなみに、Google Sheetsも同じことをします。

つまり、簡単な答えは、CSVファイルを読み取ることができるスプレッドシートアプリケーション(少なくとも私が知っていること)はなく、たとえば00453を数値として、453ではなく00453としてインポートできるということです。

7
Randy Volters

セルをクリックし、[ホーム]タブの[数値]グループで、[数値]の横にあるダイアログボックスのランチャーボタンの画像をクリックします。

enter image description here

[カテゴリ]リストで[カスタム]をクリックし、[タイプ]ボックスに数値形式を入力します(社会保障番号コードの場合は000-00-0000、5桁の郵便番号の場合は00000)。

https://support.office.com/en-us/article/Keep-leading-zeros-in-number-codes-1bf7b935-36e1-4985-842f-5dfa51f85fe7

4
Shuvro

Csvテキストファイルをダブルクリックして開くと、Office 2010はそれを開いて、先頭のゼロを切り捨てます。これは、デフォルトですべての列を一般的にフォーマットしているためです。代わりに、ファイルをインポートできます。[データ]タブをクリックします-[外部データの取得]オプションには[テキストから]が含まれます-ウィザードが開き、インポートするファイルにタグを付けてプレビューし、フォーマットを定義できます「テキスト」として先行ゼロを含む列。この方法でインポートすると、先行ゼロは保持されます。

3
dave

次の形式で保存できます。

Excelでは、

1)適切なセルを選択して右クリックし、「セルのフォーマット」を選択して、フォーマットを「テキスト」に設定します。次に、「番号」タブで「テキスト」を選択します。数値を入力すると、テキストとして読み取られます

OR

2)任意の番号の前にアポストロフィ( ')を付けると、Excelはそれを「そのまま」受け入れます

VBAを使用している場合、次のことができます

1)書式設定する必要のあるセルを選択し、数値書式オプションを変更します

Range( "A1")。NumberFormat = "@"

(ExcelのセルまたはVBAから)データを読み取ると、入力された先行ゼロが含まれます。

1
Lonnie

問題は、実際の保存された値と表示された値の比較です...これらの表示「修正」はすべて、保存された値の先行ゼロの損失に対処していません。

したがって、セルに値を入力している場合、または最終結果のインポートが同じ場合は、セルの書式設定制約に関係なく、格納されている値の先頭のゼロを保持できません。

1
user7878395

入力する金額の桁数が固定されている場合(たとえば、5桁の郵便番号)、マスクを使用してこのセルにカスタマイズされたフォーマットを適用できます:00000。これにより、 5桁を超えない量を入力すると、先行ゼロが保持されます。

  1. 書式設定するセルを右クリックします。
  2. セル形式のクリック。
  3. 番号タブを選択します。
  4. カスタマイズオプションをクリックします。
  5. 右側のリストボックスにリストされているオプションをクリックします。
  6. Type texboxをクリックして、その内容を "00000"で上書きします。
  7. OKをクリックします。

これらを選択する場所を見つけるためにもう少し助けが必要な一部の人のために、段階的に行うことが役立つと思いました。

  1. それらをクリック/ハイライトして、必要な正方形を選択します。

  2. 上部のHomeタブをそのままにします。右側の2番目のボックスの右側には、Formatと言うオプションがあります。それをクリックしてください。

  3. クリック Format Cells...一番下。最初のタブにはNumberと表示されているはずです。そのNumberタブには、Textと言うオプションがあります。クリックして。さて、下部にあるOKを押して完了です。

1
Odette

これが完璧な回避策かどうかはわかりませんが、初めて試しましたが、うまくいきました。

左側のセルには、先頭に_0_が表示されていません。先頭に_0_を追加したいと思います。修正は、式="0"&A3(Cell number)を使用することです

(必ず設定してください。完全に機能するはずです。以下の例を参照してください。

Excel screenshot

0
Fenil Shah

値の前に 'を付けることもできますが、テキストフィールドにするまではセルにフラグが立てられます。

0
Xorlev

これが私の最も簡単な解決策でした。データが既に入力されている場合、Excelは数値を変更します。afterと入力してフォーマットを変更した場合にのみ機能します。

  1. 新しい列を追加する
  2. 列を強調表示し、セルを右クリックして書式設定をテキストに変更し、セルを書式設定します
  3. 郵便番号または番号の列を取り、それをコピーします
  4. メモ帳に貼り付けます(書式設定を取り除くため)
  5. メモ帳のデータをコピーして、新しいExcel列に貼り付けます
0
JesseBeck.com

多くの人が、これは簡単な操作ではないと述べています。ここに提案があります。

誤った郵便番号(先頭に0がない)が列Aにあるとします。

  1. ダミー列を挿入し、Bを使用します。
  2. 列Bに式= A1 * 1を入力し、コピーしてすべてのzipをキャプチャします。これを実行すると、先行ゼロが表示されますが、完了していません。それらはまだ読まれません。
  3. 列Bをコピーしてから、列Bの内容を新しいブックに貼り付けます。
  4. 新しいワークブックを.csvファイルとして保存します(保存するときは、[タイプとして保存]ボックスをクリックして、CSVカンマ区切りを選択します)。
  5. 作成したばかりの新しいCSVファイルを開きます。
  6. 内容をコピーして、間違ってフォーマットされた郵便番号の上に直接貼り付けます。 (これは、貼り付け場所をフィルタリングすることができないことを意味します、それを覚えておいてください)。列の内容が一致していないと、データが一致しません。
  7. 貼り付けたすべての郵便番号をクリックして選択します。
  8. 書式セルを選択し、次を選択します:特殊、次に郵便番号
  9. うまくいけば、zipは5桁のフォーマットで保持され、数式などで読み取ることができるはずです。

それは長い修正であり、私のために働いてきました。それがあなたのために働くことを願っています!

0
Mark

ゼロで始まる数値の前にアポストロフィを追加すると、完全な数が保持されますが、アポストロフィはポストされません。たとえば、数値が08753の場合、「08753」と入力しない限り、Excelは数値を8753に切り捨てます。 Excelはセルに08753を入力します。簡単です!

0
Cayse

先頭がゼロの.csvファイルをインポートまたは開く場合は、Open OfficeまたはLibre Officeを使用します。ファイルを開くと、列区切り文字などを指定するダイアログが表示されます。列の1つを選択し、タイプを「テキスト」として指定して、先行ゼロを保持することもできます。

その後、それを.xlsxファイルとして保存すると、Excelで開くことができ、先頭の0が保持されます。

Excelへのインポート時にこれを指定する方法があるはずですが、それを見つけることができませんでした。

0
user2980139