Board logo

標題: [發問] 找出指定條件範圍的最少值 [打印本頁]

作者: ricky8751    時間: 2014-1-24 05:34     標題: 找出指定條件範圍的最少值

type        no
A        8
A        2
A        3
B        4
B        5
D        6
C        7
A        1
E        9
A        10
D        11

找出指定最少值?       
A        1
B        4
C        7
D        6
E        9

其實爬文後發現樞紐分析表可簡單找出來, 但如果想用函數, 不知可不可以? 先謝謝了!
作者: p212    時間: 2014-1-24 08:43

本帖最後由 p212 於 2014-1-24 08:45 編輯

回復 1# ricky8751
定義名稱
x =Sheet1!$A$1:$A$12
y=Sheet1!$B$1:$B$12
儲存格E8輸入陣列公式=SMALL(IF(x=$D8,y,FALSE),1)
向下複製公式即可,請參考!
作者: samwang    時間: 2014-1-24 08:44

本帖最後由 samwang 於 2014-1-24 08:52 編輯

E8 陣列公式
= MIN(IF((A2:A12=D8)*(B2:B12),B2:B12,""))
作者: p212    時間: 2014-1-24 09:03

本帖最後由 p212 於 2014-1-24 09:08 編輯

回復 3# samwang
謝謝samwang大的另解
建議將公式修改為
= MIN(IF(($A$2:$A$12=D8)*($B$2:$B$12),$B$2:$B$12,""))
是否較為適切?(阻止向下複製公式造成參照範圍變更)
請參考!
作者: p212    時間: 2014-1-24 09:23

本帖最後由 p212 於 2014-1-24 09:25 編輯

回復 1# ricky8751
若主題的資料會隨時向下新增,則建議將2#的定義名稱修改成「動態名稱」:
x=OFFSET(Sheet1!$A$2,,,COUNTA(Sheet1!$A:$A)-1)
y=OFFSET(Sheet1!$B$2,,,COUNTA(Sheet1!$B:$B)-1)
請參考!
作者: samwang    時間: 2014-1-24 09:52

回復 4# p212


  謝謝您的指教,還是大大想的比較周到,公式是比較活用
作者: ricky8751    時間: 2014-1-24 22:13

感謝兩位的指教,原來這樣簡單,我竟然想得這麼複雜,謝謝
作者: ricky8751    時間: 2014-1-27 12:51

回復 4# p212


    發現這函數, 只能找到非 0 的最小值? 奇怪奇怪:dizzy:
作者: p212    時間: 2014-1-27 15:38

本帖最後由 p212 於 2014-1-27 15:42 編輯

回復 8# ricky8751
搭配5#的動態名稱定義
陣列公式 =SMALL(IF(x=$D8,y,FALSE),1),依然可以正確地找到最小值(若項目對應值有「0」或負數者,則回應最小值為「0」或負數)。
作者: ricky8751    時間: 2014-1-28 11:08

回復 9# p212


    學會這個了, 謝謝




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)