給定數字序列:
1
200
40
6000
117000
112000
34
90
180020
0
1320
24975
84
116
186
224
315070
10800
333333
266000
如何去除所有紅細胞:

唯一的規則是每個低于其上方范圍最大值的數字都需要從陣列中洗掉
到目前為止,我得到了這個:
=ARRAYFORMULA(UNIQUE(QUERY(SPLIT(FLATTEN(ROW(A:A)&"×"&
IF(ROW(A:A)>=TRANSPOSE(ROW(A:A)), TRANSPOSE(A:A), )), "×"),
"select max(Col2) group by Col1 label max(Col2)''")))

但我不喜歡它,因為它會隨著更多的數字而變慢
uj5u.com熱心網友回復:
假設您的原始值在 A2:A ...
=FILTER(A2:A,A2:A<>"",COUNTIFS(A2:A,">"&A2:A,ROW(A2:A),"<="&ROW(A2:A))=0)
用簡單的英語:“僅回傳目標范圍內的非空值,其中直到當前行的行中沒有更高的值。”
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/405965.html
標籤:
上一篇:java-我如何計算java中的奇數,但如果該數字超過一個奇數,則只計算第一個
下一篇:如何將此函式撰寫為宣告?
