2012-04-16 20:39:25 +0000 2012-04-16 20:39:25 +0000
121
121

セルの書式をテキストに変更しても、長い数字の文字列が科学表記として扱われるのはなぜでしょうか

Excelであるデータを処理しようとしています。そのデータには、数字の口座番号やその他の長い数値文字列(携帯電話のMEIDのようなもの)が含まれています。私はこれらの文字列に数学的な操作をしていないので、Excelではプレーンテキストとして処理したいのですが、

ここで私がおかしくなっていることは何ですか(これはExcel 2010です):

  1. 1240800388917のような長い数字を取り、新しいワークシートのセルに貼り付けます。Excelのデフォルトのセルフォーマットは一般的なので、文字列は1.2408E+12 として科学的表記で表示されます。セルを右クリックし、[書式設定セル]を選択し、書式をテキストに設定します

書式がテキストに設定されているにもかかわらず、セルは、まだ科学的な表記で表示されます。

今、私は別の順序で手順を行う場合:

  1. 空のセルをテキストとしてフォーマットします。セルを右クリックし、[セルの書式設定]を選択し、書式をテキストに設定します。1240800388917のような長い数字を取り、テキストフォーマットされたセルに貼り付けます

今、セルは文字列として表示され、科学的な表記ではありません。私は提案された回避策を見たことがあります:CSVのインポートを使用してテキストにフォーマットを設定する、各数値文字列の先頭にスペース文字を追加する、など。

これらの文字列を簡単にテキストとしてフォーマットしたままにするための簡単で良い回避策はありますか?

一体なぜExcelはこのようなことをするのですか?

私が見つけた関連するSUの質問 [どのようにExcel 2007を科学的表記として大きな数字のフォーマットを停止させることができますか? と 大きな16進数でのExcelのこの動作は期待できるのか

回答 (13)

171
171
171
2014-07-23 10:53:47 +0000

これは、Excel 2010で私のために働いた。ちょうど列を選択し、右クリック、セルの書式設定、カスタムと0(一般的な下の2番目のオプション)と言うオプションを選択します。

23
23
23
2012-04-16 23:45:51 +0000

ああ、エクセルで大規模な数字のクロスチェックをしていた頃のデータを思い出します(二度としません)。エクセルに長い数字を入力して、例えば 12345678901234567890(20桁)を入力してみると、大抵の場合、エクセルはそれを変換してくれます。(12345678901234567890は1.2345678901234 6 E+19ですが、Excelでは1.2345678901234 5 E+19と表示されます)

これは入力時に発生するので、一度入力してしまうと詳細が失われてしまうので、Excelに数字ではなくテキストであることを伝えても、運が悪かったということになります。

13
13
13
2012-09-28 16:44:58 +0000

Office 2010では、最初に列をフォーマットしてからデータを貼り付けると、大きな数字が正しく表示されることがわかりました。

13
13
13
2012-04-16 21:01:00 +0000

数字の前に単一のアポストロフィ ‘を付けると、Excelは数字をテキストとして扱うように強制されます(デフォルトの左揃えを含む)。また、エラーフラグが設定されている場合は、セルにテキストエラーとして保存された数値として表示されます。

12
12
12
2013-07-05 07:44:11 +0000

これを試してみてください…これは私のために動作します。その後、列をコピーし、元の列に貼り付けます。

6
6
6
2016-11-03 17:38:40 +0000

質問の年齢を意識しているのですが、google検索して着地したもので、私の質問に答えてくれなかったものです(テキストとしてのフォーマットがうまくいかない理由と、テキストにフォーマットした後に数字が15桁に切り捨てられる理由)

簡単に言うと、数値を入力してEnterをタップした後に、好きなように数字を作業することができないからです。

これはバグではなく、機能です。

それ以降の操作はすべて切り捨てられた値を使用します。しかし、Text to columnsオプションを使って指数表記をテキストに変換してもらう(列のヘッダーをクリックして、Text to dataをクリックしてからDelimitedNextをクリックして、すべての区切り記号ボックスのチェックを外して、TextColumn data formatを選択してからFinishを選択)と、値をテキストに変換してもらって、すぐに15桁の数字として表示させることができます。

スプレッドシートに入力した通りの数値を表示させるには、テキストとして保存しなければなりません。そのため、値を入力/コピーする前にアポストロフィで前に置くか、セルをテキストとしてフォーマットしておく必要があります。もしそれが “時々うまくいかない "のであれば、申し訳ありませんが、何か間違ったことをしているか、オートコレクトをしているかのどちらかです(アポストロフィを使用して、大きな数字を使用している場合は、Excelはそれを間違った値として扱い、警告メッセージでセルにフラグを立てますので、この発言は個人的なものでも批評でもありません)。私はそれがほとんどの状況で唯一の方法であると敢えて言います。そして、Excelはcsv型をネイティブフォーマットのように扱い、大きな数値は当たり前のように15桁にトリミングしてしまうので、ファイルを開くだけでなく必ずインポートしてください。

さて、最後の問題です。テキストとしてフォーマットされたExcelのセルに大きな数値を入力しても、セルの幅が足りない限り、科学表記で表示されてしまいます。迷惑な話ですが、一部のExcel内部アルゴリズムの副作用です。セルの幅を広くするだけで、毎回完全な数値が表示されるようになります。

5
5
5
2014-07-02 15:02:30 +0000

セルの書式設定は、セルをカスタム形式にすることができます。私は気が狂いそうになります!なぜこれがオプションではないのでしょうか?なぜこれがオプションになっていないのか、私にはわかりません。

3
3
3
2013-08-14 22:15:18 +0000

エクセル2010です。これは一度に1列ずつに作用し、1行に対しては全く作用しません。列または列のサブセットを選択し、データタブから “列へのテキスト "を選択し、右にジャンプして "完了 "を選択します。科学的表記はもういらない

私は多くのExcelユーザーに同意します、それは科学的表記を防ぐためのオプションがないことは犯罪です!

1
1
1
2018-02-28 21:47:55 +0000

エクセルはこのようなCSV/バルクデータの作業にはイライラします。できれば LibreOffice で作業してください。これはできません。つまり、同じシート (.xlsx) を Libreoffice で開くと、実際には文字列である大きな「数字」が科学表記で表示されません(これは Excel の無茶苦茶な判断です)。LibreOfficeのファイルの忠実性は素晴らしいものです。同じ.xlsxをもう一度Excelで開くと、科学的記法は即座に通常と同じように「機能」します。

1
1
1
2015-10-21 19:48:37 +0000

Excel 2013では、同じことが私に起こったと私はちょうどに行きました セルの書式設定に -> 番号 その後、小数点以下の場所が “0 "に設定されていることを確認してください。

0
0
0
2013-09-27 18:39:24 +0000
  1. A列の問題フィールドをコピーして新しいシートに貼り付けます。テキスト ファイル

に列 A をコピー/貼り付けて下さい 3. 列 B をテキストにフォーマットし、列 B

にテキスト ファイルを貼り付けます。 列 C:

5.小数点なしで数のフォーマットに列 C を変換します

  1. C列をテキストファイルにコピー/貼り付け

7.D列をテキストにフォーマットし、テキストファイルをD列に貼り付け

8.E列の場合:

  1. E列をメモ帳にコピー/貼り付け

10.問題フィールドのデータを削除し、列をテキストにフォーマット

  1. テキストファイルからの問題フィールドへのコピー/貼り付けデータ
0
0
0
2014-01-28 22:58:15 +0000

これは、セルを他のプログラムにコピーペーストすることを含め、Excel 2013で私のために機能しました。データをフィルタリングすると、特に編集ステップのために助けられました。ご希望のセルを選択します。数値フォーマット “テキスト "を適用します。(Alt、H、N、そして "テキスト "を試してみてください。)

それから、あなたの希望のセルのそれぞれのために:

  1. 編集モードに入る。(F2 を試す。)
  2. Enter(列に良い)かTab(行に良い)で編集を確認します。内容を変更しないでください。

100 桁でも数字は正常に表示されます。)

0
0
0
2012-04-17 05:40:42 +0000

すべてのセルを選択するか、簡単にするには、スプレッドシート全体を選択して、Format CellsをクリックしてからTextをクリックします。セルごとに行う必要はありません。