web-dev-qa-db-ja.com

Excelが値0503E000を5.03E + 02に自動的に変換しないようにする方法を教えてください。

ExcelでCSV内の任意のセルに自動的に値0503E000を5.03E + 02に変換しました

どうすればこれを防ぐことができますか?

20
CrashOverride

ここでの重要な問題はあなたがCSVを使っていることだと思います、それはそれに埋め込まれた細胞型を持っていません。 Excelは自動的にセルを科学的な番号を持つものとして解釈しようとします。これが0503E000ではなく5.03E + 02が表示される理由です。

Excelワークブックを作成し、すべてのセルをテキストとして書式設定してから、データを貼り付けます。 Excel 2013で試してみましたが、うまくいきました。

13

CSV形式を変換または制御できる場合は、列を二重引用符で囲み、等号を付けることで、列を強制的にテキストとして解析できます。

Excelはこのフォーマットで不用意に精度を捨てます:

Value,0503E000,1234123412341234

あるいはこのフォーマットでさえ:

Value,"0503E000","1234123412341234"

それをに変換する:

Value  |  5.03E+02  |  1234123412341230

ただし、のように等号を追加すると、Excelはデータを慎重に保存します。

Value,="0503E000",="1234123412341234"

次のように開きます。

Value  |  0503E000  |  1234123412341234
22
brianary

ExcelでCSVファイルを開く "の代わりに、ファイルをインポートするを選択します(Excel 2007-2010ではデータリボンに移動します)。外部データを取得/テキストから取得)2013年についてはわかりませんが、似たようなものがあるはずです。そうすると、テキストインポートウィザードが開き、Excelの前にその値を含む列をテキストとしてフォーマットできます便利に)それを数値に変更します。

8
Ron Rosenfeld

テキストの解釈を強制するには、アポストロフィでセルを開始してください。

'0502E000

基本的に、これはExcelにフィールドを数値として解析しないように伝えます。フィールドに 'E'があるので、Excelでは数字のように見えます。アポストロフィは実際にはセルに入力されません。

[a1] '0502E000
[b1] =hex2dec(a1)

セル 'b1'には84074496が表示されます。

2
HardScale

MS ExcelのDATAオプションを使用してファイル(DBテーブルから取得したデータ)をロードし、ロード中に[データタイプ検出]の下の[データタイプを検出しない]を選択してロードします。 Excelをロードします。列変換は不要です。

0
Swapna nune

Googleスプレッドシートにデータを貼り付けます。列を選択==>形式==>番号=>カスタム形式=>形式を発生させる桁数を入力します(例:10桁= 0000000000)

0
Kiran