2017-02-20 46 views
4

想知道如果我能得到幫助獲得正確的公式,找出comm%根據它的銷售價格。Excel Commission Formula

基本上有兩個電子表格

第一個是我們的價格表格顯示佣金PCT是什麼:

Product - 20% - 15% - 10% 
Widget 1 - 3990 - 3490 - 3090 
Widget 2 - 4990 - 4490 - 4090 
Widget 3 - 5990 - 5490 - 5090 

第二個電子表格將列出所售產品和在什麼樣的價格是在銷售:

Widget 2 - $4690 
Widget 3 - $5100 
Widget 1 - $4000 

我在想INDEX/MATCH。我可以正確地執行MATCH以查找正確的行,但我不確定如何將該價格範圍查找合併到公式中。

在上面給出的例子中,佣金分別爲15%,10%,12%,20%。

需要創建一個與產品匹配的公式,然後將售出的價格與其相匹配,並將其與該產品所屬的列匹配,然後爲該列提供該%。

我已經花了數週的時間搜索網絡,我只能在那裏找到一半。 MATCH找出產品所在的行很簡單,這是價格匹配,讓我難住。

謝謝。

+0

如果銷售的商品*低於10%列中的價格,那麼沒有佣金,是正確的?如果它介於10%和15%之間,你會得到10%?你能否再澄清一下委員會將如何運作? – BruceWayne

+0

好的,使用**'VBA' **? – ManishChristian

+0

正確。低於10%的列將是0%。在10和15之間將是10%。 15至20歲之間的比例爲15%,20%或更高的比例爲20%。 – Nelson

回答

3

你可以通過使用很少使用的Hlookup函數來解決這個問題,使用它的range_lookup選項。唯一的要求是您將佣金數據從低%重新排列到高%。像這樣:

Product  10%  15%  20% 
Widget 1 3090 3490 3990 
Widget 2 4090 4490 4990 
Widget 3 5090 5490 5990 

如果你這樣做,你可以用這個公式來得到正確的佣金

=OFFSET(Sheet1!$A$1;0;MATCH(HLOOKUP(INT(SUBSTITUTE(B1; "$"; ""));INDIRECT("Sheet1!"&MATCH(A1;Sheet1!$A:$A) & ":" & MATCH(A1;Sheet1!$A:$A));1; TRUE);INDIRECT("Sheet1!"&MATCH(A1;Sheet1!$A:$A) & ":" & MATCH(A1;Sheet1!$A:$A)))-1) 

這是細分:

格式輸入作爲整數(佣金數據爲int,值爲$)

SUBSTITUTE(B1; "$"; "") 

我們e爲將Hlookup的參考行放在一起的輸入。我們使用間接來將sheetname和「:」添加到引用。

INDIRECT("Sheet1!"&MATCH(A1;Sheet1!$A:$A) & ":" & MATCH(A1;Sheet1!$A:$A)) 

使用HLOOKUP查找的匹配值:

HLOOKUP(INT(SUBSTITUTE(B1; "$"; ""));INDIRECT("Sheet1!"&MATCH(A1;Sheet1!$A:$A) & ":" & MATCH(A1;Sheet1!$A:$A));1; TRUE) 

使用發現值在水平匹配函數來查找用於列和。減去1:

MATCH(<hlookup>; INDIRECT("Sheet1!"&MATCH(A1;Sheet1!$A:$A) & ":" & MATCH(A1;Sheet1!$A:$A))) - 1 

使用偏移找到匹配的值

Offset(Sheet1!$A$1;0; <match>) 
+0

我試着運行你提供的那個公式,但它每次給出0的答案。你有MATCH(A1; Sheet1!$ A:$ A被列在與小部件匹配的4個點中。是否有一些事情想要匹配B1中的數量? – Nelson

+0

這將是替代品(B1;「$」; 「」)我們從 –

+0

開始忘了我已經把你的樣本數據分成了多列,所以表1(佣金%)將有A,B,C,D列(分別是產品,10%,15%和20%)和您的Sheet 2(產品銷售清單)將產品和價格。拆分這些行應該與您的產品名稱完全匹配,所以sheet1.Product「Widget 1」應匹配sheet2.Product「Widget 1」 –