我有一排亂數,想按順序排列(最小的在前):

在此示例中,亂數位于第 2 行,它們的順序位于第 1 行。請注意,A 列和 C 列都具有相同的值,因此具有相同的排名。
我不反對將其作為一個函式來執行,但我正在尋找一個優雅的解決方案。
uj5u.com熱心網友回復:
原來有一個排名功能!
=rank(A2,$A2:$F2,TRUE)
uj5u.com熱心網友回復:
4使用 RANK 函式,我相信您最終會在示例場景中沒有 rank ,因為 rank 有兩個關系3。
如果您不關心這一點,您可以使用一個陣列公式來一次提供所有結果。清除所有第 1 行,然后將此公式放入單元格 A1:
=ArrayFormula(RANK(FILTER(2:2,2:2<>""),FILTER(2:2,2:2<>""),1))
此公式將提供所有結果,如果將更多數字添加到第 2 行,它將繼續排名。
如果您確實在意出現平局時會丟失排名,您仍然可以使用陣列公式;它只是有點復雜。再次,清除所有第 1 行并將以下公式放入 A1:
=ArrayFormula(VLOOKUP(FILTER(2:2,2:2<>""),{SORT(UNIQUE(TRANSPOSE(FILTER(2:2,2:2<>"")))),SEQUENCE(COUNTA(UNIQUE(TRANSPOSE(FILTER(2:2,2:2<>"")))))},2,FALSE))
這是許多方法之一。
大括號之間的部分{ }將形成一個數字序列左側的升序排序唯一串列,該數字序列從 1 開始,與旁邊排序唯一串列中的元素數一樣高。
FILTER僅考慮第 2 行中不為空的單元格(即2:2),這些單元格將隨著新單元格的添加而繼續擴展。
VLOOKUP 將在大括號之間的虛擬陣列的第一列中查找每個值,并回傳第 2 列中的數字(即排名)。
此公式假定第 2 行中的任何單元格都是連續的并且是實數。如果由于某種原因不是這種情況,則以下錯誤控制元件將允許第 2 行中的間隙或非數字條目,同時仍回傳所有數字的排名:
=ArrayFormula(IFERROR(VLOOKUP(2:2,{SORT(UNIQUE(TRANSPOSE(FILTER(2:2,ISNUMBER(2:2))))),SEQUENCE(COUNTA(UNIQUE(TRANSPOSE(FILTER(2:2,ISNUMBER(2:2))))))},2,FALSE)))
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/416290.html
標籤:
上一篇:使用谷歌表格進行網頁抓取
下一篇:獲取單元格的所有內容作為文本
