編輯整理。讓我重寫它。過濾掉在符合條件的列中的值,然後將其在另一列
這是一個遊戲,在它結束時,您將收到一個得分的實驗。根據這個分數,你可能會贏或者輸。
我的目標是找出獲勝的相關性得分,所以首先我需要在列D
列B和C是手動輸入從損失勝排序。 D列是自動輸入,因此它將在下面引用的代碼將被執行。
問題出在這裏使用的公式,因爲它不會導致我想要的結果。
在下面我Excel中的佈局,可以看到列d是我想要的奪冠成績結果是。
但它沒有準確地從損失中挑選得分;在D列中得到的分數來自隨機的勝利和損失,例如,在下面的佈局中;單元格D3從單元格B9引用,實際上它是一個Loss。單元格D18從單元格B13引用。
Excel的佈局:
範圍B2:B22頭包)
B C D
2 Score W/L Sort Wins
3 100 Win 50
4 200 Win 100
5 500 Win 100
6 400 Win 105
7 300 Win 130
8 40 Lose 140
9 50 Lose 200
10 200 Win 200
11 250 Win 200
12 105 Lose 250
13 550 Win 300
14 600 Win 300
15 700 Win 400
16 400 Win 400
17 300 Win 500
18 200 Win 550
19 100 Lose 600
20 140 Lose 700
21 130 Lose
22 20 Lose
=IFERROR(INDEX(B$3:B$22,SMALL(IF(C$3:C$22="Win",ROW(B$3:B$22)-ROW(B$3)+1),ROW(B1))),"")
此外,下面的解釋是我做了什麼來解決我使用的代碼。
我試着剖析公式中的每個函數來測試。我能夠在每個函數的小規模測試中生成正確的結果,但只要在公式中嵌套函數,它就無法工作。
我知道它是一個數組公式,並使用了Ctrl Shift Enter。
尋找一些關於這個公式出了什麼問題的指針。
這是所期望的結果是什麼樣子:
B C D
2 Score W/L Sort Wins
3 100 Win 100
4 200 Win 200
5 500 Win 500
6 400 Win 400
7 300 Win 300
8 40 Lose 200
9 50 Lose 250
10 200 Win 550
11 250 Win 600
12 105 Lose 700
13 550 Win 400
14 600 Win 300
15 700 Win 200
16 400 Win
17 300 Win
18 200 Win
19 100 Lose
20 140 Lose
21 130 Lose
22 20 Lose
我用Excel在線所以使用VBA產生的結果是不是我的選擇。
希望這更清楚,並提前謝謝你。
RGDS,
深水
不清楚你想要什麼。您發佈的公式將返回沒有跳過的行的獲勝分數。你得到了什麼?你想要什麼? –
'我想根據遊戲得分來分析損失所帶來的勝利。「......你是什麼意思?你可以發佈一個數據看起來如何的例子嗎? ([編輯]你的問題) – ashleedawg
只是爲了確保你的公式是一個數組公式,並且在退出編輯模式時需要用Ctrl-Shift-Enter而不是Enter來確認。你正在使用Ctrl-Shift-輸入嗎? Excel是否在公式周圍添加了「{}」? –