Excel佣金公式

时间:2017-02-20 19:49:52

标签: excel excel-formula

想知道我是否可以获得帮助以获得正确的公式,以基于其售出的价格找出comm%

基本上,有两个电子表格

第一个是我们的价格网格,以显示委员会将会是什么:

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%&分别为20%。

需要创建一个与产品匹配的公式,然后获取售出的价格并将其与其匹配的列匹配,并为该列提供%。

我花了几周的时间搜索网络,我只能在那里找到一半。找出产品所在行的MATCH很简单,价格匹配让我感到难过。

感谢。

1 个答案:

答案 0 :(得分: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; "$"; "")

使用输入将Hlookup的参考行放在一起。我们使用indirect来添加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>)