Excel索引匹配,日期匹配时的查找值或该日期的周数匹配?

时间:2016-12-22 17:16:26

标签: excel excel-formula

我在主页上使用以下索引匹配数组公式:

=IFERROR(INDEX(Data!B:B,MATCH(1,(Home!H10=Data!C:C)*(Home!I10=Data!D:D)*(Home!J10=Data!E:E),0)),"")

这将在数据表的B列中查找我的采购订单编号,其中主页上的值匹配。

Data: 
Column B         Column C      Column D     Column E         COlumn F (Week number)
12345678910      123           5555         21/12/2016       51

Home: 
Column H      Column I     Column J         Column K         Column J
123           5555         21/12/2016                        12345678910      

这样就可以得到J列中的PO。这很好。

这是我的问题:

我希望用户能够输入特定日期,即E列中的21/12/2016并找到匹配项。但是,有时,用户将不知道具体日期,并且只有一周的数字。

因此,如果用户输入2016年12月21日的周数,那么我的索引匹配公式仍然应该找到匹配。

我遇到的第二个问题是,除非我将主页上的J列格式化为日期,然后我的日期格式不正确,我得到了' 42725'。

所以必须将其设置为日期才能使索引匹配找到结果。

但是如果用户想要在J列(带有日期格式)中输入周数,即51,则显示' 20/02/1900'。同样,我的索引匹配不会返回结果。

1 个答案:

答案 0 :(得分:1)

Instaed of ..*(Home!J10=Data!E:E)...

取而代之的是:

.....*(IF(Home!J10<55,Home!J10,WEEKNUM(Home!J10))=Data!F:F)...

将“格式化”列保留为“常规”,然后每个单元格将更改为输入日期的日期和输入周数的数字。

您可能需要仔细检查并重新输入一些条目,以便让他们第一次回到原来的状态,但任何新条目都会自行转移。

相关问题