web-dev-qa-db-ja.com

Excelの自動フォーマットを停止して、数値計算プログラムのように機能させる方法

特定の方法で数値をフォーマットしているcsvファイル内のExcelに本当の問題があり、どうしてもExcelにデータを正しく表示させることができないようです。

「製品リファレンス」という列があると想像してください。その列には、次のタイプのIDが多数あります。

  • 001145
  • 55666
  • 02133

Excelファイルを開くと、これらの数値は次のようにフォーマットされます。

  • 1145年
  • 55666
  • 2133

これは完全に間違っています。列を強調表示してテキストとして書式設定すると、数値の先頭にある以前の0が返されません。

これを解決するために、私はcsvファイルを最初にテキストファイルにしてからExcelにインポートし、インポート内でテキスト形式にすることで数値をフォーマットしないように特に指示しましたが、閉じるときに数値を誤ってフォーマットしますcsvはタイプを定義できないため、Excelはファイルを純粋なゴミとして自動保存します。

誰かがこれを回避する方法を見つけましたか?

おかげで、

20
Sammaye

テキストであることをcsvファイルで指定する必要があります。これを行うには、番号を引用符で囲み、前に等号を付けます。次に例を示します。

="001145",="55666",="02133"

これを行う最も簡単な方法は、,でfind-replaceを",="に置き換え、行末(これにはNotepad ++などの高度なエディターを使用する必要がある場合があります)を"\r\n="に置き換え、ファイルの開始と終了を手動で行うことです。

20
James
  1. 問題のあるファイルのファイル拡張子を「.csv」から「.txt」に変更します。
  2. Excelを単独で開きます。ファイルをクリックして開かないでください。
  3. 「開く」をクリックし、検索するファイルの種類を「すべてのExcelファイル」から「すべてのファイル」に変更します。
  4. ファイルを見つけて[開く]をクリックします。 Excelはtxtの自動フォーマットを行わないため、ウィザードが表示されます。
  5. [区切り]ラジオボタンが選択されていることを確認します。 「次へ」ボタンをクリックしてください。
  6. 「カンマ」区切りボックスをチェックし、「次へ」ボタンを押し続けるまでSEE(ただしクリックしないでください)終了ボタン。
  7. スプレッドシートの各列をスクロールして、手動でフォーマットする各列を強調表示し、フォーマットを「テキスト」に変更します。
  8. 完了ボタンをクリックします。
12
John

OracleからOpenOfficeをインストールし、OpenOfficeのCSV形式で同じように実行します。

Excel 2010を搭載したWindows 7 Proでこの問題が発生しました。以前は、Outlookの連絡先をExcelにコピーし、CSVとして保存し、Gmailにインポートして、Android(ゼロと+記号)。

2
gabbymonster

次に、先頭のゼロを維持するセルをクリックします。右クリック> [セルの書式設定]> [カスタム]> [0]>次のようなセルに必要な合計数を入力します。00001234が必要な場合は、0000000をゼロの数、それが行うように言っているすべてはセルに合計8を置くことです、私はすでに1234を持っているので、それは4つのより多くの先行ゼロとの違いを補います。

私はスプレッドシートをインポートするためにこれを毎日使用しています。

1
adam

データを含むセルを右クリックし、セルの書式設定...メニューエントリをクリックします。次に、最初のタブ(「番号」)で、カテゴリをGeneralからTextに変更します。これにより、Excelがこれらのセルを数値として自動的にフォーマットし、先行ゼロを削除しなくなります(数値分析のコンテキストでは意味がありませんが、製品IDを扱う場合は非常に意味があります)。

データをインポートして数値として解析する場合は、データインポートウィザードを使用して、各列タイプを「一般」ではなく「テキスト」に設定する必要があります。次に、セルで同じことを行い、Excelブックを保存します。

1
Breakthrough

この質問からの@Jonの回答に追加するために、インポートすると、先頭のゼロが失われるか、長い数字が科学表記法に変換されるか、またはその両方になる、先行ゼロとより長い数値を持ついくつかの列を含むCSVファイルがありました。

私が修正できる唯一の方法は、次の手順を使用して、最初に空のシートのすべてのセルをTextにフォーマットすることでした。

  1. シートのすべてのセルを選択します。

enter image description here

  1. すべてのセルの形式を変更します。

enter image description here

すべてのシートセルをTextにフォーマットした後、次の手順でCSVをインポートできます。

  1. [Data]タブで、[From Text]をクリックします。

enter image description here

  1. .txtまたは.csvファイルを選択してImportをクリックします

  2. Delimitedを選択し、[次へ]をクリックします。

enter image description here

  1. 適切な区切り文字(私はCommaを選択しました)を選択し、適用されない他の区切り文字を選択解除してから、[Next]をクリックします。

enter image description here

  1. 右にスクロールして、先頭のゼロを保持し、科学的表記を防ぐために、Textとしてフォーマットする必要がある列を見つけます。列をクリックして(暗くなるはずです)、オプションリストでTextを選択します。正しくフォーマットする必要があるすべての列を選択してください。

enter image description here

  1. 次にFinishをクリックします。書式設定した列にスクロールすると、すべての先行ゼロが保持されており、数値の長い文字列が科学表記ではないことがわかります。

お役に立てば幸いです。

0
Michael

データがSQLを使用して生成された場合。切り捨てられないようにする必要のある数値にタブ文字を追加すると機能するはずです。

-- Oracle PL/SQL
select "01234567890123456" || chr(9) from dual;
0
Leo