(2.05更新之Type分析系統)
22.Type(E6)
IFERROR(↓,””)
IF(D4=””,””,↓) //輸入不空白,D4會檢查
IF(OR(D4=20, D4=12, D4=16, D4=36, D4=76/3),”Type A”,↓)
IF(OR(D4=8, D4=20/3, D4=52/7, D4=28/3, D4=60/7),”Type B”,↓)
IF(D4=4,”Type C”,↓)
IF(OR(D4=2, D4=12/5, D4=28/13, D4=12/7, D4=28/15),”Type D”,↓)
IF(OR(D4=4/5, D4=4/3, D4=1, D4=4/9, D4=12/19),”Type E”,”我不知道這是什麼Type,主人”)
//分別判斷是否為各類型
為了保持畫面整潔
這裡將程式碼分行
如果程式碼的參數是另一段程式碼時
就會用箭頭佔據並分行
這是我在寫Excel時為了保持整潔與可讀性
刻意做的改變
接下來的程式碼也會用這種方式表示
程式碼後面的雙斜線是對該程式碼的解釋
備註:未特別註明程式碼皆以ver2.02版本為準
0.[標題]([儲存格舉例])([範圍)
[程式碼]
其中若儲存格舉例與範圍相同,後者不填
1.總指數計算(AA7)
=AA5+(150+2.5*AA6)*((AA6+1)*10)
//基礎指數
+ 每十級計算每升一級平均增加指數 * 可升總級數
//計算在該星等下滿等會有的總指數
2. 至少增加-10LV一星(AO13)
=10*(AB13+AD13+AF13+AH13+AJ13+AL13)
//先計算至少會增加的血量與攻擊
3. 額外加量(AB20,AD20)(AB~AM欄,20~24列)
=10*AB13
=(AD13-AB13)*AD$10*10+AB20
//分別計算不同等級下還會再增加的量
4.方便計算格(AS8)(AS~BD欄)
=IF($E8="A",$AO$13+AB$20,↓)
IF($E8="B",$AO$14+AB$21,↓)
IF($E8="C",$AO$15+AB$22,↓)
IF($E8="D",$AO$16+AB$23,↓)
IF($E8="E",$AO$17+AB$24,"")
//判定各卡牌Type(E欄),取上面2、3資料計算
//AS到BD欄會分別列出1-6星等下該Type增加的血量與攻擊
5.星等錯誤警告(A17)
=IFERROR(↓,"主人,星等請輸入1, 2, 3, 4, 5, 6") //因為有使用者輸入,須判斷是否錯誤
IF(↓,"","主人,星等請輸入1, 2, 3, 4,
5, 6") //不符合不輸出
OR(B2=1,B2=2,B2=3,B2=4,B2=5,B2=6) //星等要是1-6的整數
6.血量錯誤警告(A18)
=IFERROR(↓,"血量必須是四的正倍數喵~~") //因為有使用者輸入,須判斷是否錯誤
IF(↓,"","血量必須是四的正倍數喵~~") //不符合不輸出
OR(↓,B3="")
AND(B3>=0,↓)
//輸入值要正
MOD(B3,4)=0 //輸入值要是四的倍數
7.攻擊錯誤警告(A19)
同6,除了”警示語不同”、”輸入值要是整數”以外
其他皆相同
8.滿等血量攻擊(H5)(H、I欄)
=IF(E5="","",↓)
IF($B$2=1,F5+AS5,↓)
IF($B$2=2,F5+AU5,↓)
IF($B$2=3,F5+AW5,↓)
IF($B$2=4,F5+AY5,↓)
IF($B$2=5,F5+BA5,↓)
IF($B$2=6,F5+BC5,"")
//判定星等,再到方便計算格取值
//將取值加上該卡牌的基礎數值
9. 滿等時潛力剩餘(J5)(J欄)
=IFERROR($AA$7-(H8/4+I8),"")
//利用定理4來計算潛力
10.血、攻、反潛力排名(K5)(K~M欄 )
=IFERROR(↓,"") //輸入欄在星等尚未確定時是不會顯現的,此時無法排名
RANK(H5,H$5:H$100) //排名
11.升滿總耗的力量、生命之源(N5)(N欄)
=IFERROR($B$2*($AA$7-(H5/4+I5)),"")
//計算潛力,根據定理6加成原始星等
12.最高量值血量、攻擊(O5)(O~P欄)
=IFERROR(H5+$J5*4,"")
//將所有潛力灌注在攻擊或血量後的數值
13.最高量值血量、攻擊之排名(Q5)(Q~R欄)
=IFERROR(↓,"") //輸入欄在星等尚未確定時是不會顯現的,此時無法排名
IF(O5="","",↓)
RANK(O5,O$5:O$100) //排名
14.符合條件的喵喵(S5)(S欄)
=IFERROR(↓,"") //因為有使用者輸入,須判斷是否錯誤
IF(↓,"選我,喵~~","") //符合要求的牌就顯示
AND($A$7="有呦喵~~",$B$3<=O5,$B$4<=P5,O5<>"",P5<>"")
//要求是:卡片存在且數值符合規範
15.分別最多消耗之生命、力量之源(T5)(T~U欄)
=IFERROR(↓,"") //因為有使用者輸入,須判斷是否錯誤
IF(↓,↓,"")
AND(($B$3/4+$B$4)=$AA$7,$A$7="有呦喵~~") //卡牌需存在且將血量攻擊填滿才會顯示
IF(↓," ==",$B$2*($B$3-H5)/4)
OR($B$2*($B$3-H5)/4<0,$B$2*($B$4-I5)<0) //定理6
16.最多消耗的喵餅乾數(V5)(V欄)
=IFERROR(J5*$B$2*100,"") //因為有使用者輸入,須判斷是否錯誤
17.最多消耗天數(W5)(W欄)
=IFERROR(↓,"")
IF(↓,V5/($B$5*24),(V5-↓)/($B$5*24)+1)
MOD(V5,$B$5*24)=0
MOD(V5,$B$5*24) //消耗天數要是整數,無條件進位
//15、16、17之所以標示”最多”
//乃因為潛力系統有「大成功」設定
//活動在最近的更新也有新的管道取得生命、力量之源
18.卡牌中血量與攻擊分別的極大值與極小值(H2)(H2,I2,O2,P2)
=MIN(H5:H100)
//這四格是隱藏儲存格
//為了擴充方便,不能放在表格末
//因此偷偷地放在表格最上方
19.有沒有這種牌?(A7)
=IFERROR(↓,"") //因為有使用者輸入,須判斷是否錯誤
IF(A17="",↓,"") //星等沒問題再繼續
IF(↓,"",↓) //期望攻擊或血量至少填一格再繼續
AND(B3="",B4="")
IF(↓,"有呦喵~~","很抱歉,沒有喵~~") //顯示有無該卡牌
AND((B3/4+B4)<=AA7,B3<=O2,B4<=P2)
20.還能增加血量與攻擊(A9)(A9,A11)
=IFERROR(↓,"") //因為有使用者輸入,須判斷是否錯誤
IF($A$7="有呦喵~~",↓ ,"") //檢查有無該卡牌
IF(($O$2-$B$3)/4>$AA$7-($B$3/4+$B$4),($AA$7-($B$3/4+$B$4))*4,$O$2-$B$3)
//只要還沒到上限
//就分別將所有指數灌注在血量或攻擊上
//如果全部灌注會超過上限
//就顯示到上限即可
21.可能必須減少血量與攻擊(A13)(A13,A15)
IFERROR(↓,””)
IF(↓,””,↓)
OR(A7="有呦喵~~",B3<=H2)
IF(B4>=P2,B3-H2,↓)
IF(B4<=I2,B3-O2,((B3/4+B4)-X5)*4)
//已顯示血量為例
//若攻擊超出攻擊能有最大值
//血量只要顯示最小
//此時血量若低於最小則不用減少
//若攻擊低於最小
//血量就可以到達上限
//若過多就撿到最大即可