web-dev-qa-db-ja.com

ExcelがCSVデータを表示するときに先行ゼロを削除するのはなぜですか?

次の内容のCSVテキストファイルがあります。

"Col1","Col2"
"01",A
"2",B
"10", C

Excelで開くと、次のように表示されます。

セルA2は、先頭に「0」がない数字として「01」を表示しようとします。

2行目から4行目を「テキスト」としてフォーマットすると、表示が次のように変わります。

...しかし、まだ先頭の「0」はなくなっています。

ExcelでCSVファイルを開き、いくつかのオプションを反転させることでファイル内のすべての先行ゼロを確認できる方法はありますか?先頭に0が必要なすべてのセルに'01を再入力する必要はありません。さらに、CSVが必要な場合は、先頭のアポストロフィを使用すると、変更をXLS形式で保存する必要があります。私の目標は、Excelを使用してファイルの実際のコンテンツをテキストとして表示することです。Excelで書式設定を行わなくてもかまいません。

9
Chad

Csvを開くと、各列の区切り文字とデータ型を指定するオプションがあります。テキストインポートウィザードには3つのステップがあります。スクリーンショットはExcel 2010のものですが、これはExcel 2003でもまったく同じように機能します。

ステップ1:区切られた選択(固定幅ではなく)

ステップ2:区切り文字としてカンマを選択します

ステップ3:各列を選択し、データ形式を「テキスト」に変更します。 (下のスクリーンショットのように、各列の上にWord Textが表示されます。)

enter image description here

先頭のゼロは削除されなくなります。

enter image description here

[〜#〜] update [〜#〜]:Excelを連携させるプロセスをナビゲートしたくない場合は、 CSVEd 、区切られたテキストファイルを編集するために特別に設計されたエディター。 Notepad ++のような優れたテキストエディタも機能する可能性がありますが、列に配置されたデータを表示することはできません。

6
Jon Crowell

この問題が発生しました。 CSVファイルの作成を制御すると、データを次のようにすることができます。

"Col1","Col2"
="01",A
="2",B
="10", C

Excelとして開くと、01が保持されます。

13
ckincincy

希望する方法で表示されるように列をフォーマットします(例:2桁の場合は00)
これには、それらの数字と共に保存されるという利点があります(ただし、CSVを編集するたびにフォーマットを変更する必要があります)

1
SeanC

1)数値をExcelの列に貼り付けます(先行ゼロが削除されます)

2)次に、「セルのフォーマット」を右クリックして、4桁の番号には0000、5桁の番号には00000にカスタム設定します。など...(それらのゼロを戻す)

3)列をコピーしてpasteを.txtファイルに入れます。 (すべての先行ゼロが必要です)。

4).txtリストをコピーします。

5)Excelで任意の列を右クリックし、テキストにフォーマットします。

6).txtからコピーしたデータをExcel列に貼り付けます(先頭のゼロはすべて残ります)。

あなたの心の欲望に区切ります。

損傷が既にあり、データがExcelにある場合、カスタムの数値形式オプションを使用してファイル形式を変更できます。あなたが望む場所の数にゼロを入れるだけです(下の画像は6桁になります)

enter image description here

シート全体でこれを行うマクロは次のとおりです。桁数を指定するだけです。

Sub whyNot()
Dim WS As Worksheet, fMat As String, p As Long

    '''''Custom Options
    Const NumberOfPlaces As Long = 3 '' change this to number of places you want
    Set WS = ActiveSheet 'or specify the sheet name with Sheets("Sheet1")


        For p = 1 To NumberOfPlaces
        fMat = fMat & "0"
        Next p

        WS.UsedRange.Cells.NumberFormat = fMat

End Sub
0
PGSystemTester

最初に、実際のExcelシートのすべてのデータ/列と行を別のExcelシートにコピーして、実際のデータと比較できるようにします。ステップ、

  1. 列のすべての値をコピーして、メモ帳に貼り付けます。
  2. 次に、Excelシートで列タイプをテキストに変更します(これにより、前の/後のゼロが削除されます)。
  3. メモ帳に移動し、今貼り付けたすべての値をコピーします。
  4. Excelシートに移動し、同じ列に値を貼り付けます。

値が0の列が複数ある場合は、同じことを繰り返します。

幸せな日々。

0
Waqi