根据有效/中止date执行Excelfunction
我有一个问题,有点类似于这里问的。
使用vlookup创build公式(有效 – 停止)date
基本上,我有两个表:
- 每件商品的历史销售数据(含销售date)
- 有资格获得佣金的项目以及有效/终止date
我需要的是根据第二个表格中符合条件的佣金项目,将每个项目的佣金计算到我的第一个表格中。 我所提出的与我所提供的链接不同的部分是,我的任何销售项目可能有多个生效/终止date,也就是说12345项目可能会在2015年1月1日/ 3月31日生效,因此2015年4月1日出售该项目将不具有佣金的资格,但2015年3月1日和2015年5月1日的销售将符合条件。
有没有人对我可以使用的公式以及如何在表2中组织我的数据提供build议,以最大限度地促进我所要做的事情? 谢谢。
编辑:这里是一些表格与示例数据。
表1(销售数据)
InvoiceDate ItemCode QuantityShipped 1/1/2015 123456 100 2/1/2015 789456 100 3/1/2015 789456 300 4/1/2015 123456 200 5/1/2015 123456 300
表2(项目资格数据):
Item Code Effective Date Discontinued Date Commission Rate 123456 1/1/2015 3/1/2015 0.02 123456 4/15/2015 0.03 789456 3/1/2015 0.02
在E3中input数组公式(使用Ctrl + Shift + Enter)我不擅长这个部分,所以我确信有更好的方法。
试试这个索引/匹配:
=IFERROR(INDEX($I$2:$I$4,MATCH(1,IF(($G$2:$G$4<=A2)*(IF($H$2:$H$4<>"",$H$2:$H$4,TODAY())>=A2)*($F$2:$F$4=B2),1,0),0)),0)
这是一个数组,所以用Ctrl-Shift-Enter确认。
对于表格参考:
=IFERROR(INDEX(Table1[Commission Rate],MATCH(1,IF((Table1[Effective Date]<=[@InvoiceDate])*(IF(Table1[Discontinued Date]<>"",Table1[Discontinued Date],TODAY())>=[@InvoiceDate])*(Table1[Item Code]=[@ItemCode]),1,0),0)),0)
仍然是数组公式,所以在退出编辑模式时必须使用Ctrl-Shift-Enter来确认公式而不是Enter。 在公式栏中粘贴公式后,按Ctrl-Shift-Enter进行所需的更改。 如果做得好,Excel将在公式周围放置{}
。