[英]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所計算的值的排名范圍也必須是有條件的總和-我們要排名的國家/地區中所有分數的總和。 如何才能做到這一點?
在進行了一些研究之后,我嘗試了涉及SUMPRODUCT
和COUNTIFS
解決方案,但未能獲得理想的結果。 我怎樣才能做到這一點?
謝謝
如果要對它們進行排名,則必須首先找到當前國家/地區的所有值並將其排序。
像@ |'-'||一樣,我使用了一個查詢:
=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.