返回列表 上一主題 發帖

天文數字相乘100000000*100000000如何處理?

回復 9# lucky12345

EXCEL的規格及限制
http://office.microsoft.com/zh-tw/excel-help/HP010073849.aspx

計算的規格與限制
特性        最大限制
數字精確度        15 位數
最小的可容許負數        -2.2251E-308
最小的可容許正數        2.2251E-308
最大的可容許正數        9.99999999999999E+307
最大的可容許負數        -9.99999999999999E+307
經由公式取得的最大可容許正數        1.7976931348623158e+308
經由公式取得的最大可容許負數        -1.7976931348623158e+308
公式內容的長度        8,192 個字元
公式的內部長度        16,384 個位元組

可以運算次方數很大(可以計算天文數字)但數字精確度只有前面15 位數
若是有特定格式的超長的加法,或許可以用其他技巧來完成。
{...} 表示需要用 CTRL+SHIFT+ENTER 三鍵輸入公式

TOP

本帖最後由 ML089 於 2014-10-15 09:17 編輯

回復 11# lucky12345

EXCEL基本規格(限制)是無法改變,只能看作業的資料是否能用公式的技巧來完成

例如精度15位數,就是可以輸入308位數,但數字只取前15位數後面為0,如下
在A1輸入         =1234567890123456789...
其結果等於      =1234567890123450000....

所以要輸入很長的數字只能用文字型態輸入,計算時再分段取出計算,在將幾段計算好的數字用文字合併方式存回,觀念是如此但實務是否能完成還是未知,要看作業的複雜度。

例如,簡單情況處理可以如下處理


求最大值
A5 =LOOKUP(1=1,0=COUNTIF(A$1:A$3,">="&A$1:A$3&"x"),A$1:A$3) 修改如下(詳17樓說明)
A5 =LOOKUP(,0/(0=COUNTIF(A$1:A$3,">="&A$1:A$3&"x")),A$1:A$3)

總計
A8 =TEXT(MOD(SUM(--LEFT(A1:A3,10)+INT(SUM(--RIGHT(A1:A3,10))/10^10)),10^10),REPT("0",10))&TEXT(MOD(SUM(--RIGHT(A1:A3,10)),10^10),REPT("0",10))
{...} 表示需要用 CTRL+SHIFT+ENTER 三鍵輸入公式

TOP

回復 14# lucky12345

你是說依照13樓的方法測試不行,還是你自己的檔案不行?
{...} 表示需要用 CTRL+SHIFT+ENTER 三鍵輸入公式

TOP

本帖最後由 ML089 於 2014-10-15 11:59 編輯

回復 16# lucky12345

取大值
原式
=LOOKUP(1=1,0=COUNTIF(A$1:A$3,">="&A$1:A$3&"x"),A$1:A$3)
改為
=LOOKUP(,0/(0=COUNTIF(A$1:A$3,">="&A$1:A$3&"x")),A$1:A$3)
   
此公式只能比較等長度本文數字,本文的比較是由第1字開始逐次往後比較。

例如 "9" > "12345678901234567890"
{...} 表示需要用 CTRL+SHIFT+ENTER 三鍵輸入公式

TOP

回復 18# lucky12345

把 "X" 改為 "-"
    =LOOKUP(,0/(0=COUNTIF(A$1:A$4,">="&A$1:A$4&"-")),A$1:A$4)
{...} 表示需要用 CTRL+SHIFT+ENTER 三鍵輸入公式

TOP

        靜思自在 : 看別人不順眼,是自己修養不夠。
返回列表 上一主題