ExcelでCSV内の任意のセルに自動的に値0503E000を5.03E + 02に変換しました
どうすればこれを防ぐことができますか?
ここでの重要な問題はあなたがCSVを使っていることだと思います、それはそれに埋め込まれた細胞型を持っていません。 Excelは自動的にセルを科学的な番号を持つものとして解釈しようとします。これが0503E000ではなく5.03E + 02が表示される理由です。
Excelワークブックを作成し、すべてのセルをテキストとして書式設定してから、データを貼り付けます。 Excel 2013で試してみましたが、うまくいきました。
CSV形式を変換または制御できる場合は、列を二重引用符で囲み、等号を付けることで、列を強制的にテキストとして解析できます。
Excelはこのフォーマットで不用意に精度を捨てます:
Value,0503E000,1234123412341234
あるいはこのフォーマットでさえ:
Value,"0503E000","1234123412341234"
それをに変換する:
Value | 5.03E+02 | 1234123412341230
ただし、のように等号を追加すると、Excelはデータを慎重に保存します。
Value,="0503E000",="1234123412341234"
次のように開きます。
Value | 0503E000 | 1234123412341234
ExcelでCSVファイルを開く "の代わりに、ファイルをインポートするを選択します(Excel 2007-2010ではデータリボンに移動します)。外部データを取得/テキストから取得)2013年についてはわかりませんが、似たようなものがあるはずです。そうすると、テキストインポートウィザードが開き、Excelの前にその値を含む列をテキストとしてフォーマットできます便利に)それを数値に変更します。
テキストの解釈を強制するには、アポストロフィでセルを開始してください。
'0502E000
基本的に、これはExcelにフィールドを数値として解析しないように伝えます。フィールドに 'E'があるので、Excelでは数字のように見えます。アポストロフィは実際にはセルに入力されません。
[a1] '0502E000
[b1] =hex2dec(a1)
セル 'b1'には84074496が表示されます。
MS ExcelのDATAオプションを使用してファイル(DBテーブルから取得したデータ)をロードし、ロード中に[データタイプ検出]の下の[データタイプを検出しない]を選択してロードします。 Excelをロードします。列変換は不要です。
Googleスプレッドシートにデータを貼り付けます。列を選択==>形式==>番号=>カスタム形式=>形式を発生させる桁数を入力します(例:10桁= 0000000000)