軟體:MS Excel
版本:2010
表格有一連串無依大小排序數值,想由最後出現0以後的陣列中找出最小值,
(即最後一項零值後,出現的最小非零值。)
用格式化規則將最小項目上色。
舉例來說:
表格的內容為
A
1 1
2 0
3 3
4 5
5 0 ﹎
6 4 ↑
7 7
8 1
9 3
10 1 ↓
﹊
我希望找出最後出現零值(A5)後,於A6~A10之間找出最小值,
則此例的結果:A8與A10為true (A1為false)
請問有無適合的函式可寫出判斷式可用於格式化規則?
不確定能否使用迴圈或者需要用巨集來撰寫? 謝謝解答!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 125.228.241.30
推
12/05 21:34, , 1F
12/05 21:34, 1F
→
12/05 21:35, , 2F
12/05 21:35, 2F
→
12/05 21:35, , 3F
12/05 21:35, 3F
→
12/05 21:45, , 4F
12/05 21:45, 4F
推
12/05 21:55, , 5F
12/05 21:55, 5F
→
12/05 21:56, , 6F
12/05 21:56, 6F
→
12/05 22:32, , 7F
12/05 22:32, 7F
→
12/05 22:34, , 8F
12/05 22:34, 8F
→
12/05 22:34, , 9F
12/05 22:34, 9F
=AND(MAX(ROW($A1:$A10)*(--($A1:$A10)=0))<=ROW(),MIN(INDIRECT("A"&MAX(ROW($A1:$A10)*(--($A1:$A10)=0))+1&":A10"))=A1)
改寫f大提供的公式似乎可行,但公式裡MAX()與MIN()兩者函式的結果不變,
在格式化規則應該會變成相同內容的重複計算,不曉得有無更佳的寫法?
有int或變數格式可以暫存值嗎?
例如
int lastzero_r = MAX(ROW($A1:$A10)*(--($A1:$A10)=0))
int n = MIN(INDIRECT("A"&MAX(ROW($A1:$A10)*(--($A1:$A10)=0))+1&":A10"))
簡化原公式為
= AND(lastzero_r<=ROW() , n=A1)
※ 編輯: xvid 來自: 125.228.241.30 (12/05 23:24)
推
12/05 23:40, , 10F
12/05 23:40, 10F
→
12/05 23:41, , 11F
12/05 23:41, 11F
推
12/06 08:09, , 12F
12/06 08:09, 12F
→
12/06 08:09, , 13F
12/06 08:09, 13F
→
12/06 14:20, , 14F
12/06 14:20, 14F