Board logo

標題: [發問] 查找最大值 [打印本頁]

作者: shootingstar    時間: 2018-7-17 11:57     標題: 查找最大值

因為檔案資料涉及公司成本與售價,不方便提供,僅用描述。
存貨sheet:公司的存貨明細,B欄是料號,E欄是存貨單位成本
一年內銷貨明細sheet:公司一年內的銷售資料,第10欄是單位售價
需求是:如果在一年內有銷售紀錄,就抓取該料號的單位售價,如果沒有就抓單位成本,但我下的公式VLOOKUP(存貨!$B:$B,一年內銷貨明細!Y:AH,10,)只會抓取第一筆資料,請問要如何更正?
在一年內銷貨明細sheet會有退貨或折讓的問題,所以單位售價有可能出現"0"或"#DIV/0!"的值,是否需要先排除?

IF(COUNT(0/(VLOOKUP(存貨!B:B,一年內銷貨明細!Y:AH,10,)>1)),VLOOKUP(存貨!$B:$B,一年內銷貨明細!Y:AH,10,),E7)
作者: ML089    時間: 2018-7-17 17:37

本帖最後由 ML089 於 2018-7-17 17:39 編輯

可以用iferror函數比較簡單

=IFERROR(VLOOKUP(查詢值, 一年內銷貨明細!Y:AH,10,), E7)
作者: ML089    時間: 2018-7-17 17:51

回復 1# shootingstar

若有多筆要取最大值

=MAX( IF(查詢值=一年內銷貨明細!Y1:Y9999, 一年內銷貨明細!AH1:AH9999, E7) )
陣列輸入 (先同時按 CTRL、SHIFT不放,再按 ENTER)
作者: shootingstar    時間: 2018-7-18 12:05

謝謝#ML089的回覆

經測試有達到工作上的需求,不過有一問題需克服,就是在一年內銷貨明細sheet會有退貨或折讓的問題,所以單位售價有可能出現"0"或"#DIV/0!"的值,而造成公式結果出現#DIV/0!

請問這該如何克服,謝謝。
作者: faye59    時間: 2018-7-18 21:14

回復 3# ML089


    請問ML089版主
用VBA寫的話要如何Vlookup判斷最大值呢?




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