iT邦幫忙

2017 iT 邦幫忙鐵人賽
DAY 47
0
自我挑戰組

從科展學寫程式系列 第 38

38 柏拉圖問題 敵人與自己的策略不一對勝率的影響 IV

差點過12:00...

大家有沒有好奇我第36篇那很醜的函數是怎麼做出來的,我做這個函數是我目前為止做的最費力的,因為我是一位不會用Excel的人,函數頂多只知道找最大值和做平均(還是電腦老師教的)...所以為了做這個函數,找了網路發現需要用到LARGE( ), MATCH( ), ADDRESS( ),和 INDIRECT( )這四種東西,要不是沒有搜尋,我真的不知道啊~

先來看最一開始的圖吧~

  1. 我們都可以看得到各自那一家店的分數時的圖:
    http://ithelp.ithome.com.tw/upload/images/20170131/20103852peHjYvfRDv.png
  2. 我看得到對方,但是對方看不到我那一家的分數時的圖:
    http://ithelp.ithome.com.tw/upload/images/20170131/20103852lEFg9pxQJZ.png
  3. 別人看得到我,但是我看不到別人的圖:
    http://ithelp.ithome.com.tw/upload/images/20170131/20103852CXVT0KOc6F.png
  4. 我們兩個各自看不到對方的圖:
    http://ithelp.ithome.com.tw/upload/images/20170131/20103852Uxr5hlrCc5.png

看起來沒什麼規則,為了要找到他的策略對應到我的策略時,我的勝率才能是其他策略中最高的(也就是每一條線的最高點),於是我先吧最高的三個點做平均,需要用到LARGE( ):

LARGE( ):傳回資料集中第 N 大的項目,N 為使用者自行設定的變數。

這樣就可找到最大的機率是多少了,不過我們還不知道我的策略是多少才可以有這種勝率的,所以我必須要找對應最大值的「我的策略」。需要用到的有:MATCH( ), ADDRESS( ),和 INDIRECT( ),當然還有以前的LARGE( )。

MATCH( ):傳回與指定值相符的項目在範圍中的相對位置。
ADDRESS( ):傳回字串形式的儲存格參照。
INDIRECT( ):也是傳回以字串指定的儲存格參照,只不過功能不是完全一致。

最後再把得到的數據畫成圖就完成了~最難的是要找到可以解決我的問題的函數啊~~


桌遊的部份因為還沒想好,所以就先不寫啦~


上一篇
37 柏拉圖問題 設計桌遊 之一 「泊拉途」
下一篇
39 柏拉圖問題 設計桌遊 再版 「泊拉途」
系列文
從科展學寫程式43

尚未有邦友留言

立即登入留言