我有2个工作表,Home和Data。
数据:
Column A Column B Col C Col D Col E Col F
ABC2 121 - ABC2 121 ABC2 3456 12/12/2016 =WeekNum(E1) - SPAM
123420121601 - 2678 123420121601 1234 2678 18/12/2016 =WeekNum(E2)
628428121601 - 9862 628428121601 6284 9862 21/12/2016 =WeekNum(E3)
A栏包含随机文本和采购订单编号以及项目编号,例如ABC123456781011的PO为123456781011,项目编号为2678.
我将PO编号提取到B列。
在C栏中,我得到了PO的前四位数字,这是供应商编号。
在D栏中,我有我的项目编号。这也是从A列的单元格中提取的。
列E中的日期也从PO中提取,例如
123420121601 = a date of 201216
但已转换为日期。
注意单元格A1不包含PO,并且被视为SPAM行。我不想/需要以任何方式使用它,因此必须予以忽视。
下一步
主页:
Column H Column I Col J Col L
1234 2678 18/12/2016 123420121601
6284 9862 51 628428121601
我正在尝试使用col D中的索引匹配,它将从我的数据表中提供供应商编号,项目编号和日期匹配的采购订单编号。
但是,在J列的主页上,在最后一行 - 用户输入了一个周数而不是实际日期。如果日期完全匹配或者该日期的周数匹配,我仍然希望能够返回PO值。
这是我到目前为止所做的,但索引匹配并没有正确检查我的标准,而且我的结果不正确。它从工作表数据的第一行的PO中得到了一个结果。
=INDEX(Data!B:B,SUMPRODUCT(IF(YEAR(Home!$J10)<2016,(Data!F:F=Home!J10),(Data!E:E=Home!J10))*(Data!C:C=Home!H10)*(Data!D:D=Home!I10)*ROW(Data!B:B)))
请有人告诉我我哪里出错了吗?