我在excel工作簿中有2个工作表。
数据
Column A Column B (PO) Column C (Supplier No) Column D (Item No) Column E(date) Column F (week no)
123406121601 - 555 =LEFT(A1,12) =LEFT(A1,3) =RIGHT(A1,3) 06/12/2016 =WEEKNUM(A1,21)
我有大约1000行数据,如上所述。 在A栏中,每个单元格都包含由PO编号和项目编号组成的混乱信息。
采购订单编号是A栏单元格中的前12位数字,前4位数字包含供应商编号。
采购单也由一个日期组成,即123406121601 =日期061016,一旦形成= 2016年12月6日。
我的公式给出了以下结果:
Column A Column B Column C Column D Column E Column F
ABC123409121601 - 555 123409121601 123 555 06/12/2016 49
在第二张纸上,Home,我有以下内容:
Column A Column b Column C Column D Column E
123 555 06/12/2016 {INDEX MATCH FORMULA}
我想在工作表2上查找供应商编号,项目编号和日期匹配的编号 - 使用下面的公式:
=IF(C1<>"",INDEX(Data!B:B,MATCH(1,(Home!A1=Data!C:C)*(Home!B1=Data!D:D)*(Home!C1=Data!E:E),0)),INDEX(Data!B:B,MATCH(1,(Home!A1=Data!C:C)*(Home!B1=Data!D:D)*(D1=Data!F:F),0)))
在这个公式中,我在if语句中包含了2个索引匹配公式。这意味着用户可以根据供应商编号和项目编号以及日期所在的特定日期或周数来检查结果/采购订单编号。
出于某种原因,如果我使用静态值并保持我的数据行相对较短,则此索引匹配正常工作。但是,出于某种原因,通过在工作表'数据'上使用公式或者使用更多行数据 - 这会导致我得到以下结果
请有人告诉我我哪里出错了吗?