Excelが値0503E000を5.03E + 02に自動的に変換しないようにするにはどうすればよいですか?


22

Excelの値0503E000をCSV内の任意のセルの値に自動的に5.03E + 02に変換する

これが起こらないようにするにはどうすればよいですか?


ちょうど列幅のサイズを変更し、それが正常に表示されなければならない
Scorpion99

テキスト入力するに、セルをテキストとしてフォーマットしようとしましたか?
チャーリーRB

テキストとして既にサイズ変更とフォーマットを試してみて
ください....-CrashOverride

値を16進数として使用する必要がある場合(つまり、テキスト文字列として使用することはできません)、元の番号のネストDEC2HEXHEX2DEC文字列を使用でき=DEC2HEX(HEX2DEC("0503E000"))ます(例として)。数式が含まれていないcsvファイルを操作する必要がある場合は役に立たないかもしれませんが、テキストとしての書式設定以外の別のオプションです。
マイルズ

回答:


16

ここで重要な問題は、セルタイプが埋め込まれていないCSVを使用していることだと思います。Excelは自動的にセルを科学的な数値として解釈しようとします。そのため、0503E000ではなく5.03E + 02表示されます。

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


ええ、Workbookでも機能しますが、残念ながらこの目的のためにCSVを使用する必要があります.....残念
-CrashOverride

ですから、値の前に0xをを使用した場合、私はそれを変換します信じていない内容を表示、またはセル上でマクロを実行、戻ってそれを変換するために、またはわずかに異なる構文を使用するようにExcelを使用していない
Ramhound

私はこれを解雇する必要があると思います...メモ帳やメモ帳++などの別のエディタで開くと、正しい値を持っているからです...だから、セルは科学表記で奇妙に表示するだけの正しい値を持っていると思います....
CrashOverride

26

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

Excelはこの形式の精度を不注意に破棄します。

Value,0503E000,1234123412341234

または、この形式でも:

Value,"0503E000","1234123412341234"

に変換する:

Value  |  5.03E+02  |  1234123412341230

ただし、等号を追加すると、Excelがデータをしぶしぶ保持するようになります。

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

…次のように開きます:

Value  |  0503E000  |  1234123412341234

1
SQLから貼り付ける場合の
優れた

1
また、Excelの[データ]メニューの[外部データの取得]を使用してデータをインポートする場合の優れたソリューション。
モーセンアバシ

1
素晴らしい解決策。唯一の(小さな)欠点は、値ではなく式になることです。したがって、すべてをコピーしてから貼り付けるだけで、Excelファイルが多少小さくなります。
スティーフ

9

CSVファイルをExcel で開くのではなく、ファイルのインポートを選択します(Excel 2007-2010では、データリボンに移動します/外部データの取得/テキストから)。2013についてはわかりませんが、同様のものがあるはずです。そうすると、テキストインポートウィザードが開き、その値を含む列をExcelで(あまり役に立たないが)数値に変更する前に書式設定する機会が与えられます。


1
この。CSVファイルを直接開くことはほとんどありません。
ペポルアン

@pepoluanあなたが書いたことを理解できません。
ロンローゼンフェルド

正確にあなたが理解していない部分は?
ペポルアン

4
@pepoluanありがとう。私が理解しthisていたなら、残りは明らかだっただろう。私は年をとっていると思います:-(
ロンローゼンフェルド

1
「これ」を完全な文として使用することで死に至ることを期待していましたが、4年後にはこれまで以上に強力になりました。
バリアント

2

セルをアポストロフィで開始して、テキストの解釈を強制します。

'0502E000

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

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

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


2
これは、Excelに直接入力するときに機能しますが、CSVファイルでは使用できません。
SBF

csvファイルを開くと、実際にはセルにアポストロフィが入力されます
Stef

0

MS ExcelのDATAオプションを使用してファイル(DBテーブルからフェッチされたデータ)をロードしてみてくださいまた、Excelをロードします。列の変換は不要です。


0

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


いくつかの例を追加する必要があるため、投稿を編集することをお勧めします!!
ラジェッシュS

-1

デフォルトのセル書式設定では、先頭にゼロが付いた数字と長い数字はExcelによって自動的に変更されます。たとえば、012と入力すると、12に変更されます。

セルをTextとしてフォーマットすると、セルに入力した数値はそのまま残り、Excelによって変更されません。

ただし、別のソースの数値をTextとしてフォーマットされたセルに貼り付け、ソースに何らかのフォーマットがある場合、セルのフォーマットはTextからGeneralに変更され、数値の操作が戻ります。

私が見つけた解決策は、特別な貼り付けを行い、テキストとして番号を貼り付けることでした。次に、セルはテキストの書式設定のままになり、数値はまったく変更されません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.