簡體   English   中英

在 Microsoft Excel 或 Google 表格中為其各自類別排名一個值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM