簡體   English   中英

對於像Excel中的PERCENTRANK.INC()那樣工作的數據子集,更好的百分位排名?

[英]Better percentile rank for subsets of data that works like PERCENTRANK.INC() in Excel?

我們在Excel中使用PERCENTILERANK.INC()沒有問題。 下面標記為“ Pctl Inc”的列使用此公式:

=PERCENTRANK.INC($B$2:$B$6,B2,3)

我還建立了一個公式,該公式根據另一列文本值對子集數據中的值子集進行排名。 我的公式就像此鏈接中的公式一樣工作: http : //www.exceltactics.com/calculate-percentile-conditional-ranking-using-sumproduct/

這是我在該鏈接中所指的具體公式:

=(SUMPRODUCT(($A$2:$A$6=A2)*(B2>=$B$2:$B$6)))/COUNTIF($A$2:$A$6,A2)

(請注意,站點鏈接的公式中有錯別字,而我的是您要用來測試的錯字。)

我在下面提供的數據中,上面的公式標記為“ Pctl W / in”。

“子集標簽”列指示它們應位於的子集。稍后將進一步介紹。 “ Rk值”是在所有情況下都排名的項目。

我的目標是僅更改“ Pctl W / in”公式,以便在不涉及子設置的情況下返回與“ Pctl Inc”列相同的值。 也就是說,我們喜歡“ Pctl Inc”列的行為,但是我們需要一個公式來模擬同一數據的子集的排名樣式。

這是您可以用來創建“匹配”的數據。 請注意,我故意將所有“子集標簽”都設置為相同,以便您可以輕松匹配排名。 這里的Pctl Inc和Pctl W / in值應該相同,因為它們都具有相同的子集標簽:

沒有子集:

  • 子集標簽,Rk,Pctl Inc,Pctl W / in的值
  • a,100、1、1
  • a,0、0.25、0.4
  • a,6、0.5、0.6
  • a,-1、0、0.2
  • a,7、0.75、0.8

“ Pctl W / in”數據是錯誤的,因此本文發布。上面的值是我當前正在獲取的值,當您取出子集組件時,我希望它們像“ Pctl Inc”值:

帶子集:

對於a:

  • 子集將值標記為Rk Pctl Inc
  • a,100、1
  • a,0、0.5
  • a,-1,0

對於b:

  • 子集標簽,Rk,Pctl Inc的值
  • b,6、0
  • b,7、1

換句話說,如果工作正常,所有人員的排名應如下所示:

  • 子集標簽,Rk,Pctl Inc,Pctl W / in的值
  • a,100、1、1
  • a,0、0.25、0.5
  • b,6、0.5、0
  • a,-1、0、0
  • b,7,0.75,1

PS-有人可以告訴我如何在stackoverflow帖子中創建良好的網格嗎?

答案是:

=IFERROR(1-(COUNTIFS(A$2:A$6,A2,B$2:B$6,">="&B2)-1)/(COUNTIF(A$2:A$6,A2)-1),1)

筆記:

  1. 數組公式可以更簡單地解決此問題,但是我不能使用數組公式。
  2. 當只有一個特定的子集標簽(例如許多a和一個b)時,IFERROR(...,1)換行可解決#DIV / 0錯誤。
  3. 當排序值中有平局時,這可以正確地模仿PERCENTRANK.INC()。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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