- ベストアンサー
EXCELでの計算の仕方を教えてください
EXCELでセルに=1*2*3*・・・30まで計算させると 265,252,859,812,191,000,000,000,000,000,000 という答えが出てしまいます。 どう考えてもゼロの桁数が多く答えも違うような気がします。正しい答えが出る計算式を教えてください。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。 Excelのワークシートの数値は、倍精度浮動小数点型(Double)という種類のものですから、15桁になるのだったと思います。 30桁とか、それ以上の計算の種類のことを、多倍長整数計算と言いますが、私は、そのコードを披露するだけの自信はありませんが、かなり長い計算式が必要ですね。本来は、Cやアセンブラの計算です。 計算結果: 265252859812191058636308480000000
その他の回答 (3)
- bys07405
- ベストアンサー率38% (37/97)
Excelの他の求め方ですが、階乗の計算になります。 Excelヘルプより: FACT(数値) 数値の階乗を返します。数値の階乗は、1 ~ 数値 の範囲にある整数の積です。 例) FACT(5) = 1*2*3*4*5 = 120
お礼
FACT(数値)は便利な計算方法ですね。これからは利用していきたいと思います。 有難うございました。
- mshr1962
- ベストアンサー率39% (7417/18945)
EXCELの有効桁数は仕様で15桁しかありません。 それ以上の数字になった場合は16桁以降が0になります。 正しく計算したい場合は、15桁になる前に上位桁と下位桁に数値を分けて計算することになります。 といっても手動だと大変でしょうね。 VBAで組めばできるとは思いますが、それでも結果は文字列か複数のセルに分けて表示になります。
お礼
有効桁数が15桁というのは初めて知りました。 有難うございます。
- asahina02
- ベストアンサー率47% (95/202)
その数値はほぼ正しいようですね。 ただ、エクセルで扱える数値の精度上の問題で後半部分が0になってしまっているだけですで、桁数自体はあってるかと思います。 でも・・全てきれいに表示できる方法は知らないです。
お礼
ご回答有難うございます。 エクセルも万全ではないんですね。
お礼
回答有難うございます。 計算結果まで出していただき恐縮です。