2017-02-23 95 views
0

我很難搞清楚這個Excel數據庫的解決方案,我需要從價格列表中填充給定周內的正確促銷費用。滿足其他條件時排除求和數據的解決方案Excel

我有一個包含100多種產品的清單(我將以可樂零爲例),每週數據詳細說明我公司是否在給定的一週內向零售商支付促銷費用。該數據庫詳細說明了我的公司是否支付了有3種選擇的廣告:1)沒有任何費用的廣告,2)基本廣告(50美元成本)或3)高級廣告(1000美元成本)。幾乎所有的促銷活動都至少需要50美元的基本廣告費,我們通常會支付4周的時間。但是,有時我們會決定將這四周中的一個升級爲高級廣告 - 這種情況是,我們只收取該特定一週的保費(1000美元,而不是Premium +基本廣告或1000美元+ 50美元)。我無法修改我的數據格式,有時會在兩個單獨的行上重複相同的產品代碼和星期。

問題:我需要一個公式來在D列中填充正確的促銷費用,如果在同一周支付了高級廣告費用,肯定不會花費$ 50基本廣告費用。數據的

實施例: 電子表格範例:

enter image description here

這些促銷成本是固定的,我在另一片的表中我可以查找促銷費用和填充數據。看起來像附:

成本表範例:預先

enter image description here

感謝。請讓我知道是否需要澄清任何事情。

+0

什麼id row2有premium,row3有Basic,row4有沒有。這可能嗎?如果是,那麼預期的結果是什麼? – nightcrawler23

回答

0

嘗試此

=IF(SUMPRODUCT((A$2:A22=A2)*(WEEKDAY(B$2:B22)=WEEKDAY(B2))*(C$2:C22=$G$4))>=1,IF(MATCH(C2,$G$2:$G$4,0)=3,$H$4,0),VLOOKUP(C2,$G$2:$H$4,2,FALSE)) 

screenshot

A$2:A22=A2得到同樣的產品的陣列A2 WEEKDAY(B$2:B22)=WEEKDAY(B2)得到數組,其中平日是與當前行(B2)平日 C$2:C22=$G$4獲取的陣列型號匹配高級版(G4

這些數組的產品提供了一個數組,用於告知表中是否存在具有相同產品的行,與當前行相同WEEKDAY,並且廣告類型爲Premium。 SUMPRODUCT給出了這種細胞的數量。如果此計數大於等於1,則意味着本週有高級廣告。

IF(MATCH(C2,$G$2:$G$4,0)=3,$H$4,0) 

如果當前行是一個有溢價,顯示保費成本,否則爲0(因爲這一週有一個高級廣告)

VLOOKUP(C2,$G$2:$H$4,2,FALSE) 

如果本週沒有付費廣告,只是VLOOKUP電流鍵入成本表並獲得成本

+0

感謝隊友,這是一個!聰明的解決方案,我仍然開始關注Sumproduct的靈活性。再次感謝! – Dammitjay