作者melody99621 (胖虎海鮮)
看板Office
標題[問題] 在限定條件裡找出最小值
時間Wed Feb 28 20:05:35 2018
(若是和其他不同軟體互動之問題 請記得一併填寫)
軟體:excel
版本:2010
想要寫出一個方法,讓電腦幫我找出最小值(因為有太多筆資料要找),
表格簡化版如下
https://i.imgur.com/6OazKru.png
其中AType及B Type的AA、BB有公式在,會根據B欄位的尺寸、HP及MP變動
一開始將尺寸、HP及MP寫入B2、B3、B4,接著AType的AA及BB值都要介於110到380,
BType的AA及BB值要介於800到1700,
最後在A、B範圍內取出AA最小的那個規格,將選出的那組規格、AA及BB寫入
D21:O21,請版上大家幫幫忙小弟我寫不出來。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.37.60.121
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Office/M.1519819537.A.27E.html
1F:→ soyoso: 最小值以min取,再以取得的最小值,以index配個match回傳 02/28 20:28
2F:→ soyoso: 規格的部分,看是否符合 02/28 20:28
3F:→ soyoso: 如條件是介於110~380的最小值的話,可以min(if陣式公式 02/28 20:30
4F:→ soyoso: 範圍>=110 and(*) 範圍<=380來回傳範圍內符合的最小值 02/28 20:31
5F:→ melody99621: 謝謝s大我會試試看的,倘若寫成vba要怎麼寫呢 02/28 22:36
6F:→ soyoso: 範圍內最小值可用worksheetfunction.min 02/28 23:10
7F:→ soyoso: 有條件的陣列公式可用evaluate來運算 02/28 23:10
8F:→ soyoso: 或以迴圈,判斷range >=110 and range <=380 and 02/28 23:10
9F:→ soyoso: 變數 > range then 變數=range,變數初始值設個較大值 02/28 23:10
10F:→ soyoso: 或以篩選autofilter配合worksheetfunction.subtotal 02/28 23:10
11F:→ soyoso: 回傳規格可以最小值worksheetfunction.match取得相對位置( 02/28 23:10
12F:→ soyoso: 列號) 02/28 23:11
13F:→ soyoso: 以range(位置字串,連接符號&)、cells或range.offset 02/28 23:12
14F:→ soyoso: 另外range.find也可取得儲存格,列號可以用range.row 02/28 23:12