2017-04-11 47 views
1

我有以下的Excel表格:動態最大/基於比例列表中的分矩陣

  A   B    C 
1  Product  Discount  Proportion of Discount 
2 Product A  85%    
3 Product B  85%   33% --> 33% of the products have discount of 85% 
4 Product C  75%   17% --> 17% of the products have discount of 75% 
5 Product D  70%   17% --> 17% of the products have discount of 70% 
6 Product E  50%    
7 Product F  50%   33% --> 33% of the products have discount of 50% 
8 

列A你可以找到不同的產品,並在B欄他們的折扣,在列C列表中折扣的比例。

現在我想有一個公式,執行以下操作:

的公式應該通過C列總結比例比例 - 根據B列開始用最高優惠產品 - 直到它達到總比例至少60%。 在上述例子中,這將意味着:

Product A&B (33%) + Product C (17%) + Product D (17%) = 67% 

一旦式已達到60%的該最小比例它定義了矩陣,以獲得最大或最小值(折扣)出來。 在上面的例子中,這將意味着:

MATRIX = B2:B5 (Product A&B, Product C, Product D) 

這個矩陣到底是用於MAX或MIN公式:

=MAX/MIN(B2:B5) 

你有任何想法,我可以使用哪種公式來解決這個問題問題?

是這樣的:

= Once SUM(C2:C7) reaches at least 60% then use the matrix resulting from the values in the 60% sum (B2:B5) 
+0

請編寫以上示例的預期結果 – OES

+0

獲取應用於max/min公式的矩陣。在上面的示例中,它將是B2:B5,因爲它僅包含最高值(折扣),其合併比例至少爲60%。 – Michi

回答

0

再添加一個柱(開始從D2)與式:

=IF(AND(D1<0.6,D1>=0),SUM(C$2:C2),-1) 

然後用於計算使用該列作爲標準

=MAXIFS(B2:B10,D2:D10,">0")/MINIFS(B2:B10,D2:D10,">0") 

如果不能使用MAXIFS/MINIFS公式(對於早期版本的Excel),則在D2中輸入:

=IF(D1<0.6, SUM(C$2:C2), "") 

而結果是這樣(與CTR + SHIFT +確認輸入,而不僅僅是進入):

=MAX(IF(D2:D10<>"", B2:B10))/MIN(IF(D2:D10<>"", B2:B10)) 

一個大括號{}必須出現在你的公式(你不能手動輸入) 。

+0

它的效果很好。你還知道如果沒有附加的D列,有沒有辦法做到這一點? – Michi

+0

我試過,第一次失敗:)如果我找到解決方案,我會發布它。 – OES