這裏真正的技巧是根據一個組排名每一行。
您的排名取決於您的Count列(列D)。
您的團隊由您的年份和代碼(我認爲)列(分別爲列A和B)確定。
您可以使用此粗糙的sumproduct()
公式獲得基於每個組的計數的排名(從1開始)。
所以從1獲得每年和Code排名來什麼,在新的一列旁邊的這個數據:
=SUMPRODUCT(($A$2:$A$50=A2)*(B2=$B$2:$B$50)*(D2<$D$2:$D$50))+1
並複製下來。現在,您可以使用AutoFilter來顯示排名小於4的所有行。您可以在Customer上對此進行排序,然後選擇Year,並且您應該在每年/代碼中列出前3名。
產品的說明。
Sumproduct逐行排列並應用爲每行定義的數學運算。完成後,將結果相加。
作爲一個例子,採取以下工作:
+---+---+---+
| | A | B |
+---+---+---+
| 1 | 1 | 1 |
| 2 | 1 | 4 |
| 3 | 2 | 2 |
| 4 | 4 | 1 |
| 5 | 1 | 2 |
+---+---+---+
`=SUMPRODUCT((A1:A5)*(B1:B5))`
這sumproduct
將採取A1*B1
,A2*B2
,A3*B3
,A4*B4
,A5*B5
然後添加這五個結果中,給你一個數字。那就是1 + 4 + 4 + 4 + 1 = 15
對於每行/條件a 1或0(對於True和False,它是一個「布爾」值),它也可以對條件/布爾語句返回。
作爲一個例子,可採取下列工作表保存出版物的庫中的類型和計數:
+---+----------+---+
| | A | B |
+---+----------+---+
| 1 | Book | 1 |
| 2 | Magazine | 4 |
| 3 | Book | 2 |
| 4 | Comic | 1 |
| 5 | Pamphlet | 2 |
+---+----------+---+
=SUMPRODUCT((A1:A5="Book")*(B1:B5))
這將測試以查看是否A1
是「書」,並返回一個1或0,那麼無論是B1,結果都是多個。然後繼續在第5行範圍內的每一行。結果將爲1 + 0 + 2 + 0 + 0 = 3.圖書館有3本書(它不是一個很大的圖書館)。
對於這個答案的SUMPRODUCT:
所以($A$2:$A$50=A2)
說要返回1,如果A2 = A2或0,如果A2 <> A2。它對於A2通過A50比較它A2
,返回一個1或0
(B2=$B$2:$B$50)
將測試每個單元B2至B50,看它是否等於B2
並且對於每個測試返回一個1或0。
這同樣適用於(D2<$D$2:$D$50)
真實的,但它的測試,看看如果計數小於當前細胞計數。
所以......實際上這是說:「對於所有的行1到50,測試,找出所有在列A和B的值相同,並有低於此行數的計數的其他行。計算所有那些滿足該標準的行,並將其加1,這是該行內該行的排名。「
複製這個公式有它重新確定該級別的每一行,讓您的排名和過濾。
我沒有看到產品或客戶在你的數據,只是代碼和類。你能解釋得更好嗎? – JNevill
Class和Count之間是否存在列? – Phil
該代碼是客戶,類是產品。 –