Excelで値0503E000を5.03E+02に自動変換しないようにするには?
ExcelがCSVで任意のセルの値0503E000を5.03E+02に自動的に変換する 私はそれをテキスト番号と一般に変換しようとしましたが、保存して再度開くと5.03E+02
に戻ってしまいます。
ExcelがCSVで任意のセルの値0503E000を5.03E+02に自動的に変換する 私はそれをテキスト番号と一般に変換しようとしましたが、保存して再度開くと5.03E+02
に戻ってしまいます。
CSV形式を変換または制御できる場合は、二重引用符で括り、等号を前置することで、Excelで列を強制的にテキストとしてパースさせることができます。
Value,0503E000,1234123412341234
あるいは、この形式であっても。
Value,"0503E000","1234123412341234"
に変換します。
Value | 5.03E+02 | 1234123412341230
_ただし、等号を追加すると、エクセルはやむなくデータを保存せざるを得なくなります。
Value,="0503E000",="1234123412341234"
…として開きます。
Value | 0503E000 | 1234123412341234
…と開きます。
ここでの重要な問題は、セルタイプが埋め込まれていないCSVを使用していることだと思います。Excelは自動的にセルを科学的な数値として解釈しようとするので、0503E000ではなく5.03E+02と表示されます。
Excelワークブックを作成して、すべてのセルをテキストとしてフォーマットし、データを貼り付けてみてください。エクセル2013で試してみたところ、うまくいきました。
ExcelでCSVファイルを「開く ing」する代わりに、インポートを選択してください(Excel 2007-2010の場合は、データリボン/外部データの取得/テキストからの取得に移動します)。2013年についてはわかりませんが、似たようなものがあるはずです。これを実行すると、テキストのインポートウィザードが開き、Excelが(あまり親切ではありませんが)数値に変更する前に、その値を含む列をテキストとしてフォーマットすることができます。
ファイル(DBテーブルから取得したデータ)をロードしてみてくださいMS excelのDATAオプションを介して、単にロード中にちょうど選択した “データ型の検出 "の下にある "データ型を検出しない "をロードし、これはデータの形式としてそれを維持し、任意の列の変換のための必要はありません、Excelをロードします。
デフォルトのセルの書式設定では、前にゼロが付いている数字や長い数字は、Excelによって自動的に修正されてしまいます。例えば、012と入力すると12に変更されます。
セルをTextとしてフォーマットした場合、セルに入力した数字はそのままの状態で、Excelによって変更されません。
ただし、別のソースからの数値を Text でフォーマットされているセルに貼り付けた場合、ソースに何らかのフォーマットがあると、セルのフォーマットが Text から General に変更され、数値操作が戻ってきます。
私が見つけた解決策は、特殊な貼り付けを行い、数値をTextとして貼り付けることでした。そうすると、セルは Text のフォーマットのままで、数値は全く変更されません。