[算表] 特定欄位+多重條件查詢

作者: Kayin (Kayin)   2016-07-10 00:15:21
軟體:Excel
版本:2016
參考檔案: https://db.tt/kacds7dC
小弟有一份紀錄每個月售價變化的表格(Price)
另外有一個紀錄每個月銷售數量的表格(SellOut)
Price表格價格變化的邏輯是
1. Active為Y代表價格有效
2. 該月份有數字紀錄且數字>0代表該價格有效 (1~n)僅為記錄價格變化之原因
3. 價格變化後,會新增一列記錄不同價格
理論上同一機種同一時間不會有兩個有效價格
例: A0001 2016/3~2016/8為100元, 2016/9~2016/10為120元
A0003 2015/7~2015/9為300元, 2015/10價格不存在
Sellout表格就單純
哪個機種哪個月分賣了多少台,但這個表格有近10萬筆資料
現在所遇到的問題是,我嘗試想要用 INDEX + MATCH
去查詢每一筆資料銷售期間的價格
1. 用INDEX去定位要查詢哪個月份的欄位
2. 用INDEX + MATCH 去做ACTIVE * MONTH * MODEL name的查詢
但這樣公式在短短的檔案跑起來沒有問題
可是一套用到10萬筆資料的檔案上,CPU就爆炸了
Core i7跑了一分鐘還沒1%...
不知道有沒有什麼比較好的方式改寫來滿足我的需求呢?
另外..雖然Price理論上不會同個月分多個價格,有什麼辦法可以檢查單月多價格的bug
作者: soyoso (我是耀宗)   2016-07-10 00:59:00
陣列內的將整欄改為範圍試試 https://imgur.com/xqIe7IC或是工作表price新增輔助欄,於工作表sellout內使用sumifs的方式 https://imgur.com/oUGrmNYsumifs會限制於如原文所述同一機種同一時間不會有兩個有效價格下另外再加上個條件 https://imgur.com/6FdMtdN抱歉因工作表price,c至n欄要>0才計入,上述sumifs就不合適另提供以輔助頁的方式 https://imgur.com/QJ1N7Sg

Links booklink

Contact Us: admin [ a t ] ucptt.com