天文數字相乘100000000*100000000如何處理?
- 帖子
- 2025
- 主題
- 13
- 精華
- 0
- 積分
- 2053
- 點名
- 0
- 作業系統
- WIN7
- 軟體版本
- Office2007
- 閱讀權限
- 100
- 性別
- 男
- 來自
- 台北市
- 註冊時間
- 2011-3-2
- 最後登錄
- 2024-3-14
     
|
回復 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 三鍵輸入公式
|
|
|
|
|
- 帖子
- 2025
- 主題
- 13
- 精華
- 0
- 積分
- 2053
- 點名
- 0
- 作業系統
- WIN7
- 軟體版本
- Office2007
- 閱讀權限
- 100
- 性別
- 男
- 來自
- 台北市
- 註冊時間
- 2011-3-2
- 最後登錄
- 2024-3-14
     
|
本帖最後由 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 三鍵輸入公式
|
|
|
|
|
- 帖子
- 2025
- 主題
- 13
- 精華
- 0
- 積分
- 2053
- 點名
- 0
- 作業系統
- WIN7
- 軟體版本
- Office2007
- 閱讀權限
- 100
- 性別
- 男
- 來自
- 台北市
- 註冊時間
- 2011-3-2
- 最後登錄
- 2024-3-14
     
|
回復 14# lucky12345
你是說依照13樓的方法測試不行,還是你自己的檔案不行? |
|
{...} 表示需要用 CTRL+SHIFT+ENTER 三鍵輸入公式
|
|
|
|
|
- 帖子
- 2025
- 主題
- 13
- 精華
- 0
- 積分
- 2053
- 點名
- 0
- 作業系統
- WIN7
- 軟體版本
- Office2007
- 閱讀權限
- 100
- 性別
- 男
- 來自
- 台北市
- 註冊時間
- 2011-3-2
- 最後登錄
- 2024-3-14
     
|
本帖最後由 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 三鍵輸入公式
|
|
|
|
|
- 帖子
- 2025
- 主題
- 13
- 精華
- 0
- 積分
- 2053
- 點名
- 0
- 作業系統
- WIN7
- 軟體版本
- Office2007
- 閱讀權限
- 100
- 性別
- 男
- 來自
- 台北市
- 註冊時間
- 2011-3-2
- 最後登錄
- 2024-3-14
     
|
回復 18# lucky12345
把 "X" 改為 "-"
=LOOKUP(,0/(0=COUNTIF(A$1:A$4,">="&A$1:A$4&"-")),A$1:A$4) |
|
{...} 表示需要用 CTRL+SHIFT+ENTER 三鍵輸入公式
|
|
|
|
|