吸血鬼馬上死在 2020 年曾經舉辦過一次人氣投票,該次人氣投票採用「自我申告」制度,只要在明信片上註明角色名字與想要給的票數,你就可以給角色投明信片上記載的票數。
最後結果的總得票數是:
20 澗 2 溝 400 億 3187 萬 2259 無量大數 1158 不可思議 9994 那由他 7923 阿僧祇 5925 恆河沙 3394 極 17 載 227 正 5013 澗 7636 溝 3129 穰 701 秭 8436 垓 3237 京 5482 兆 1365 億 2080 萬 2682 票
如果以科學記號表示的話是 。
據漫畫所述,因為 Excel 儲存格只能儲存最多 15 位數的數字,超過的話 Excel 會將 15 位數後的數字都記為 0,這樣會造成計算誤差,所以票數統計都是徒手計算的。他們把明信片依照票數的數量級分類,同類的明信片票數先相加,再將每一類的票數相加,得到一個角色的總票數。
我們能不能用電腦輔助,讓整個計票流程更輕鬆呢?我們或許可以在 Excel 仿照手算的方法計算。因為儲存格放不下這麼大的數字,我們把這種很大的數字每 10 個位數放一個儲存格:
21-30 位 | 11-20 位 | 1-10 位 |
---|---|---|
9999999999 | 9999999999 |
這樣雖然放的下了,但是這樣子表示的數字要怎麽相加呢?如果直接將每一行分別直接加總會遇到一個問題,就是加起來可能會超過 10 位數,但是多出來的應該要進位到左邊那一格才正確:
21-30 位 | 11-20 位 | 1-10 位 | |
---|---|---|---|
數字 1: | 9999999999 | 9999999999 | |
數字 2: | 9999999999 | 9999999999 | |
行加總: | 19999999998 | 19999999998 | |
預期結果: | 1 | 9999999999 | 9999999998 |
要如何才能正確進位呢?我們要用到這兩個函數:QUOTIENT
與 MOD
。
QUOTIENT(a,b)
:回傳 a / b 的商,也就是除法結果的整數部分。MOD(a,b)
:回傳 a / b 的餘數。
我先列出表格,下面再來解釋:
A | B | C | |
---|---|---|---|
1 | 21-30 位 | 11-20 位 | 1-10 位 |
2 | 9999999999 | 9999999999 | |
3 | 9999999999 | 9999999999 | |
4 | 1=QUOTIENT(B5,D1) | 1=QUOTIENT(C5,D1) | 0 |
5 | 1=SUM(A2:A4) | 19999999999=SUM(B2:B4) | 19999999998=SUM(C2:C4) |
6 | 1=MOD(A5,D1) | 9999999999=MOD(B5,D1) | 9999999998=MOD(C5,D1) |
下面是上面表格每一列的意義:
- 標示這一行是哪一位數
- 數字 1
- 數字 2
- 進位
- 加總
- 最終結果
為了讓表格不要那麼寬,我在 D1 儲存格放了 10000000000,這樣我就不用在上面的表格打上這個數字。
第 2 與第 3 列是剛剛的兩個數字,第 5 列是行加總。第 4 列則是表示進位,右邊行的行加總超過 10 位數的部分會在這邊列出,表示該進位的數字。第 5 列的行加總是有加上進位數字的,不然結果會不正確。
你可能會問這樣進位的數字不就重複算兩次了嗎?其實不會,在第 6 列的結果我們會取餘數,結果最後只會剩下 10 位數,已經進位的超過 10 位的位數都會被去掉,所以不會重複算兩次。
另外一個可能的問題是第 5 列的加總有沒有可能超過 15 位數,導致無法正常計算?是有可能的,如果要加總的數字太多,多到大概十萬個左右,就會超過 15 位數。這時候可以讓一個儲存格不要放那麼多位數,讓加總不要超過 15 位數。
使用仿照加法直式計算的方法,我們成功在 Excel 做了大數的加法運算,統計票數再也不用用手算了。