プロが教えるわが家の防犯対策術!

EXCELでセルに=1*2*3*・・・30まで計算させると
265,252,859,812,191,000,000,000,000,000,000
という答えが出てしまいます。
どう考えてもゼロの桁数が多く答えも違うような気がします。正しい答えが出る計算式を教えてください。

A 回答 (4件)

その数値はほぼ正しいようですね。



ただ、エクセルで扱える数値の精度上の問題で後半部分が0になってしまっているだけですで、桁数自体はあってるかと思います。


でも・・全てきれいに表示できる方法は知らないです。
    • good
    • 0
この回答へのお礼

ご回答有難うございます。
エクセルも万全ではないんですね。

お礼日時:2005/09/29 18:29

EXCELの有効桁数は仕様で15桁しかありません。


それ以上の数字になった場合は16桁以降が0になります。

正しく計算したい場合は、15桁になる前に上位桁と下位桁に数値を分けて計算することになります。
といっても手動だと大変でしょうね。
VBAで組めばできるとは思いますが、それでも結果は文字列か複数のセルに分けて表示になります。
    • good
    • 0
この回答へのお礼

有効桁数が15桁というのは初めて知りました。
有難うございます。

お礼日時:2005/09/29 18:31

Excelの他の求め方ですが、階乗の計算になります。


Excelヘルプより:

FACT(数値)

数値の階乗を返します。数値の階乗は、1 ~ 数値 の範囲にある整数の積です。
例) FACT(5) = 1*2*3*4*5 = 120
    • good
    • 0
この回答へのお礼

FACT(数値)は便利な計算方法ですね。これからは利用していきたいと思います。
有難うございました。

お礼日時:2005/09/29 18:33

こんにちは。



Excelのワークシートの数値は、倍精度浮動小数点型(Double)という種類のものですから、15桁になるのだったと思います。

30桁とか、それ以上の計算の種類のことを、多倍長整数計算と言いますが、私は、そのコードを披露するだけの自信はありませんが、かなり長い計算式が必要ですね。本来は、Cやアセンブラの計算です。

計算結果:

265252859812191058636308480000000
    • good
    • 0
この回答へのお礼

回答有難うございます。
計算結果まで出していただき恐縮です。

お礼日時:2005/09/29 18:36

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!