Excelセルに20桁以上を追加したい。
セルの現在の形式は一般的なもので、数値を指数形式に変換します。数値形式と会計を試してみましたが、15桁を超える数値を入力すると、0に変換されます。
Excelがデータを20桁の指数形式に変換するのを、一般的な形式で停止するために推奨される手順は何ですか?
例:12345678901234567890
Excelはそれを一般的な形式で1.23457E+19
に変換します。
値の前に'
を使用せずに、値を同じに保つ他の方法はありますか?
列が狭すぎる場合、一部の数値は指数形式で表示され、列の幅を増やすことでこれを修正できます。
ただし、Excelの非常に大きな数値は floating point 形式で保存され、Excelで正確に表すことができません。セルの書式設定を使用してそれらの表示を上書きできる場合がありますが、固有の制限により、真の値は浮動小数点演算を使用して保存および処理されます。
より高い精度で計算を実行する必要がある場合は、 任意精度演算 をサポートするアプリケーションが必要です。
これらの数値で計算する必要がない場合は、テキストとして扱うことができます。他の回答を参照してください。それらを使用して計算する必要がある場合、Excelの有効桁数は15桁しかないため、困難になります。私が知っている可能性は:
数値を2つ(またはそれ以上)のセルに分割します。数値の一部を1つのセルに入れ、残りを別のセルに入れます。その結果、計算用に独自の式を開発する必要があります。
別の解決策は、アドインを使用することです。無料の1つの研究について http://www.Excel-ticker.com/calculation-of-very-large-numbers-in-Excel-part-5-add-in/ で言及されている記事
その理由は、浮動小数点変数に格納できる精度が限られているためです。完全な説明については、1991年3月のComputing Surveys号に掲載されたDavid Goldbergの論文「 すべてのコンピューター科学者が浮動小数点演算について知っておくべきこと 」を参照してください。
よりアクセスしやすい別のサイトは Chip Pearsonのサイト です。
Excelでは、浮動小数点型はDouble
で、これは IEEE 64-bit (8バイト)浮動小数点数です。これらは15桁の精度で表示できます(まあ、MSDN記事Excelワークシートと式の評価を参照してください)。
Webサイトに固有の番号を作成するために、多数の番号が必要でした。
最後に、連結を使用してセルを一緒に追加することで、大きな数を作成しました。例:
OL 2890000000 0000004 OL28900000000000004
OL 2890000000 0000005 OL28900000000000005
OL 2890000000 0000006 OL28900000000000006
OL 2890000000 0000007 OL28900000000000007
OL 2890000000 0000008 OL28900000000000008
整数の上位15桁をExcelに正しく保存できます(私のバージョンはExcel 2010です)。
セルに999,999,999,999,999と入力し、その下のセルに1を追加すると、1,000,000,000,000,000が正しく表示されますが、さらに1を追加しようとすると、1,000,000,000,000,000が再び表示されます。
1,000,000,000,000,000〜1,000,000,000,000,005は1,000,000,000,000,000 1,000,000,000,000,006〜1,000,000,000,000,015は1,000,000,000,000,010 1,000,000,000,000,016〜1,000,000,000,000,025は1,000,000,000,000,020と表示
これは、中間値の切り捨てで予想されることです。
次の2つの手順で問題を解決できる場合があります。
1)必要な数の列に番号を区切ります。形式がテキストであることを確認してください。
2)FORMULA> TEXT> CONCATENATEを使用して列を1つの列に結合すると、目的の結果が得られます。
たとえば、シリアル番号などの数値を実行するためにそうする必要がある場合は、数値を分離し、最初にGENERAL形式で実行してから結合します。
データベースから取得したのと同じバーコードの問題がありました。私にとって最も効果的な解決策は、テキストを表示する数式としてExcelに数値を渡すことです。
たとえば、バーコードだけを渡す代わりに、= "barcode"を渡して、Excelが文字列として解釈し、 'ソリューションのように他の文字なしで整数が表示されるようにしました。この方法で、番号を簡単にコピーして貼り付けることができます。
ここに私のSQL関数があります:
ALTER function [dbo].[ConvertBarcode](@BARCODE varchar(40))
returns varchar(40)
as
begin
return '="'+@BARCODE+'"'
end
幸せなコーディング!