[英]Rank a value for its respective category in Microsoft Excel or Google Sheets
假設我有一個汽車銷售數據集。 我想對每個汽車產品的類別進行排名。 現在,我可以使用這個公式得到這個。
=rank(C2,filter(C$2:$C,B$2:$B=B6))
這個公式工作正常,除了我必須為每一行復制它。 我看到一個數組公式,但我不知道如何使用它。
嘗試
=arrayformula(iferror(VLOOKUP(row(B2:B),{sort({row(B2:B),B2:C},2,1,3,0),row(B2:B)},4,false)-MATCH((B2:B),QUERY({sort({B2:C},1,1,2,0)},"select Col1"),0)))
1-解決方案的關鍵是使用按類別和值排序的虛擬數據庫,我在排序后添加當前行
{row(B2:B),B2:C},2,1,3,0),row(B2:B)}
我將在這個虛擬數據庫中搜索“全球排名”
=arrayformula(VLOOKUP(row(B2:B),{sort({row(B2:B),B2:C},2,1,3,0),row(B2:B)},4,false))
2- 第二步是處理同一分類過程中的唯一類別
QUERY({sort({B2:C},1,1,2,0)},"select Col1")
並檢索類別出現的第一行
=arrayformula(iferror(MATCH((B2:B),QUERY({sort({B2:C},1,1,2,0)},"select Col1"),0)))
3- 最后你減去兩個值
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.