有網友問到:在 Excel 中有一個資料清單,如下圖,如果想要在每種相同商品中找出最高/最低報價及其廠商,該如何處理?
在下圖中,有甲、乙、丙、丁、戊等不同廠商,分別有A、B、C、D、E等不同商品,現在要來找出各種商品的最高/最低報價和所屬廠商。
【公式設計與解析】
選取儲存格A1:C26,按 Ctrl+Shift+F3 鍵,勾選「頂端列」,定義名稱:廠商、商品、報價。
1. 最高報價的報價/儲存格H2:
{=MAX(IF(商品=E2,報價,FALSE))}
這是陣列公式,輸入完成要按 Ctrl+Shift+Enter 鍵,Excel 自動產生「{}」。
在陣列公式中,判斷商品陣列和儲存格E2相同者,傳回其報價。再透過 MAX 函數傳回最大值。例如:儲存格E2為『A』,則會傳回 A 中報價的最大值。
2. 最高報價的廠商/儲存格G2:
{=OFFSET($A$1,MAX(IF((商品=E2)*(報價=H2),ROW(廠商),FALSE))-1,)}
這是陣列公式,輸入完成要按 Ctrl+Shift+Enter 鍵,Excel 自動產生「{}」。
IF((商品=E2)*(報價=H2),ROW(廠商),FALSE):符合雙條件『商品=E2』和『報價=H2』者,傳回廠商所在列號。
再透過 OFFSET 函數取出列號對應的儲存格內容。
同理:
3. 最低報價的報價/儲存格H3:
{=MIN(IF(商品=E3,報價,FALSE))}
4. 最低報價的廠商/儲存格G3:
{=OFFSET($A$1,MIN(IF((商品=E3)*(報價=H3),ROW(廠商),FALSE))-1,)}
最後,複製儲存格H2:G3,貼至儲存格H2:H11。
文章標籤
全站熱搜

版大您好~ 超級感謝版大~ 不好意思~再請教若我要在A檔案中去抓B檔案(二個EXCEL檔案) 我剛剛這樣寫公式,請教哪段寫錯,請幫忙指正 =MIN(IF('各廠商單價-2015.xls'!品名=e2,'[各廠商單價-2015.xls]進貨單價總表'!報價,FALSE))
公式:'{=MIN(IF('[各廠商單價-2015.xls]AAA'!品名=E2,'[各廠商單價-2015.xls]BBB'!報價,FALSE))} 其中AAA和BBB為你的工作表名稱
*****
*****
*****
*****
*****
Hi 版大, 請教如何在函數公式數值結果能自動加上幣別 我設試公式原:=if(a1="USD","US$"&b1*c1,if(a1="EUR","EUR"&b1*c1),"") 這樣設出現一個問題,結果數值好像變成文字,沒辦法數值或金額,後面要再加總也不行 求救!
不知道這篇文章是否有幫助:http://isvincent.pixnet.net/blog/post/46261480
版大您好, 依照這個範例,如果某商品有2家以上廠商同為最低價,請問G欄應該如何撰寫才能列出所有最低價廠商呢? (例如: 商品A最低價 - 甲、乙)