Excel索引匹配:如果日期周数与日期匹配?

时间:2016-12-20 23:43:52

标签: excel indexing match

我有2张excel电子表格,第1张和第2张:

第2页

Col F (Date)   Col G (Item No)  Col H (Supplier code)   Col I (PO Number)
21/12/2016         12345                 123            PO1111
18/12/2016         5555                  2468           PO2222
                                         123            po982

第1页

Column F (Week No or date)    Column G (Item No)    Col H (Supplier   Col I (Formula) Code)   
51                            12345                 123
18/12/2016                    5555                  2468

在表1的第一栏中,我想添加我的索引匹配公式:

=INDEX(Sheet2!D1, MATCH(F4&G4&H4,Sheet2!A:A&Sheet2!B:B&Sheet2!C:C, 0))

这应返回表2中第I列的PO编号,其中F,G和H列匹配。

这很好用。从上面的例子中,这个公式将返回最后一行的结果:

18/12/2016                    5555               2468         PO2222

您可能已经注意到表1中列(F)中的第一行的周数为50 - 但是表2中的F列中的日期为21/12/2016。

根据权利,这不会给出匹配的结果。

但是,表2中的F列将包含周数或特定日期。如果是这种情况,我希望我的公式检查匹配日期或找不到匹配日期,检查日期是否在该周数内?因此,例如2016年12月21日将进入第51周(周一开始的一周)。

有没有办法可以相应地修改我的索引匹配公式来获得这个结果?

提前致谢

1 个答案:

答案 0 :(得分:0)

我在Sheet 2 col J添加了一个辅助列,以获取Col F中日期的周数。在sheet1中,我将此公式用于col I

=INDEX(Sheet2!I:I,SUMPRODUCT(IF(YEAR(F3)<2016,(Sheet2!J:J=F3),(Sheet2!F:F=F3))*(Sheet2!G:G=G3)*(Sheet2!H:H=H3)*ROW(Sheet2!I:I)))

公式的以下部分

IF(YEAR(F3)<2016,(Sheet2!J:J=F3),(Sheet2!F:F=F3))

检查日期年份是否小于2016年。如果输入了周数,Year()将返回值1900.如果为真,则将周数与表2中的col K进行比较,否则它将比较在两个表格的col F中的日期。

enter image description here