我有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周(周一开始的一周)。
有没有办法可以相应地修改我的索引匹配公式来获得这个结果?
提前致谢
答案 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中的日期。