簡體   English   中英

帶有SUM的Google表格上的RANK IF公式

[英]RANK IF formula on Google Sheets with SUM

我正在嘗試從數據庫中創建一個匯總數字的排名。 該數據庫列出了某些國家/地區中公司的各個辦事處(編號為1-10)。 在某些情況下,同一家公司在多個國家/地區。 國家在A欄中列出; 公司在B列中; 辦公室在C列中。

每個辦公室都有一個分數。 辦公室得分在數據庫的D列中。

我想根據公司在每個國家/地區的總得分來排名公司。 公司在每個國家/地區的總分是同一公司在同一國家/地區的所有辦事處的總分。

為了建立這樣的排名,必須:

1-獲取每個國家/地區的公司總得分。 我已經使用SUMIFS函數完成了此操作。 這是我用來計算分數的函數: =SUMIFS($D$2:$D, $A$2:$A, $A2, $B$2:$B, $B2) 這是在數據庫的E列中計算的。

2-僅針對同一國家/地區的公司,將其與其他國家/地區的公司總分進行比較。

我在定義RANK的范圍時遇到了麻煩,並且了解到使用這樣的函數無法做到這一點。 步驟1所計算的值的排名范圍也必須是有條件的總和-我們要排名的國家/地區中所有分數的總和。 如何才能做到這一點?

在進行了一些研究之后,我嘗試了涉及SUMPRODUCTCOUNTIFS解決方案,但未能獲得理想的結果。 我怎樣才能做到這一點?

我在這里創建了一個示例表 ,可能有助於理解這里的問題。

謝謝

如果要對它們進行排名,則必須首先找到當前國家/地區的所有值並將其排序。
像@ |'-'||一樣,我使用了一個查詢:

=QUERY($A$2:$E;"select E WHERE A="&A2&" ORDER BY E DESC")

由於相同的數字可以出現兩次,因此您要在此周圍添加一個UNIQUE 請注意,如果2個公司的得分相同,則它們的排名也會相同。

=UNIQUE(QUERY($A$2:$E;"select E WHERE A="&A2&" ORDER BY E DESC"))

這將返回范圍,從最大到最小排序。 現在,您只需使用match函數獲取當前分數的索引。

=MATCH(E2;UNIQUE(QUERY($A$2:$E;"select E WHERE A="&A2&" ORDER BY E DESC"));0)

這可能會有所幫助:

=query(A:D,"Select A,B,sum(D) group by A,B order by A,sum(D) desc")

這不是RANK,而是按降序對SUM排序。

根據過濾范圍對選擇進行排名。 例:

=等級(C2,過濾器(C $ 2:$ C $ 71,F $ 2:$ F $ 71 = F2),1)

僅當f2:f72中的值等於f2中的值時,才會對c2中的值進行排名(這將以最低的排名對最低的值進行排名

暫無
暫無

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

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