很抱歉我不能在這裏粘貼表作爲我的工作筆記本電腦的安全不讓我。 我有多個重複值的行,例如columnB到BI再次含有2S,3S,1S,爲3s。 最後一列的值是3.我想在最後一列中有多少列是值3,然後它變成了別的東西。Excel:計數。次一排最後一個值發生
例如:如果該行看起來像
2 2 3 3 3 1 1 2 2 3 3 2 2 2 2 2,那麼我想答案是5,因爲最後一個值是2,這是最後5列。
我希望這是有道理的。
謝謝 Parul。
很抱歉我不能在這裏粘貼表作爲我的工作筆記本電腦的安全不讓我。 我有多個重複值的行,例如columnB到BI再次含有2S,3S,1S,爲3s。 最後一列的值是3.我想在最後一列中有多少列是值3,然後它變成了別的東西。Excel:計數。次一排最後一個值發生
例如:如果該行看起來像
2 2 3 3 3 1 1 2 2 3 3 2 2 2 2 2,那麼我想答案是5,因爲最後一個值是2,這是最後5列。
我希望這是有道理的。
謝謝 Parul。
你可以通過這樣一個在VBA創建UDF(用戶定義函數)做到這一點:
Function CountLast(x As Range, y As Integer)
Dim lColumn, count
lColumn = x.Cells(x.count).Column 'Get last column in range x
count = 0
For i = lColumn To 0 Step -1 'Start with last column and work from right to left
If Cells(1, i).Value <> y Then 'Compare value of each cell with the value provided in y and leave the loop if not found
Exit For
End If
count = count + 1 'Counts how many times the value is found
Next i
CountLast = count 'Returns the counted value
End Function
然後你會使用這樣的:
=CountLast(B1:BI1,BI1)
對於示例數據你提供你的問題我用:
=CountLast(A1:P1,P1)
和由此產生的答案是5
正在發生的事情是,UDF是找到該範圍內的最後一個單元格,然後開始有比較它選擇的值,你也提供功能和從右至左(step -1
),那麼它只要計數它們匹配並最終返回計數值。
所以,你想算最後一個值重複了多少遍從右到左? – Mike
是的,這正是我想要做的。 – Parul