2016-10-27 66 views
0

对于“Mold ID Num”下的值以及其他古怪的错误,例如不传播我的问题,我一直运行到循环引用问题(显示在屏幕左下角)公式在整个表中的列和更多。在IF语句中使用INDEX和MATCH函数的循环引用错误

下面的代码是为了返回来自他们的“模具ID”列的值,如果它们在15天内并且是独特的值(如此独特以及第一次迭代)并且在“模具ID”下创建列表Num“放在另一张纸上。但似乎大部分时间都工作正常。

{=IFERROR(IF('Raw Data'!B2>=TODAY()-15, INDEX(Table5[Mold ID], _ 
MATCH(0, COUNTIF(Table2[[#All],[Mold ID Num]], Table5[Mold ID]),0)), ""), "ERROR")} 

表5:

B    C   D 
1 Start Day  End Day  Mold ID 
2 10/16/2016 10/17/2016 T-65-001 
3 10/16/2016 10/17/2016 T-579-001 
4 10/14/2016 10/15/2016 T-1751-001 
5 10/14/2016 10/15/2016 T-1226-001 
6 10/14/2016 10/15/2016 T-E35-001 
7 10/14/2016 10/15/2016 T-9025-001 

感谢所有帮助

如果有人感觉就像解释如何使表自动膨胀和收缩(即添加和删除行)更新公式时在每行运行时返回不同数量的行的一列(上面的那一列),这将是不可思议的

EDIT1

表2:

B     C   D   E   F 
19 Mold ID Num  Max  Completed Progress Bar Remaining 
20 T-965-001   150,000 200   0%   149800 
21 T-9579-001  100,000 490   0%   99510 
22 T-1751-001  100,000 26967  27%   73033 
23 T-1826-001  200,000 13310  7%   186690 
24 T-AP35-001  90,000  500   1%   89500 

回答

0

我发现最后的工作。

=INDEX(IF(Table5[Start Day]>=TODAY()-30,Table5[Mold ID], ""), MATCH(0, INDEX(COUNTIF($B$19:B19, IF(Table5[Start Day]>=TODAY()-30, Table5[Mold ID],1)),0,0), 0))

使用Crtl加Shift + Enter键以确认该公式。 感谢您的帮助@ maxhob17

0

,我认为你是什么是一样的东西下面,我已经把这个公式单元格H2,所以你将需要更新后的“$ H $ 1:H1”比特在你的比赛功能:

{=INDEX(Table2[Mold ID],SMALL(IF((Table2[Start Day]>=TODAY()-15)*ISERROR(MATCH(Table2[Mold ID],$H$1:H1,0)),ROW(Table2[Mold ID])-ROW(Table2[[#Headers],[Mold ID]])),1))} 
+0

谢谢,但不能得到它的工作。似乎没有按日期进行过滤,并且还返回了多个(如40个)具有相同值的“Mold ID Num”列的实例不在Table5中,这是否可能导致公式不起作用? – JPT

+0

我忘了提及上面的公式应该作为数组公式输入,所以按Ctrl + Shift + Enter而不是只输入。 – maxhob17

+0

另外,您是否记得为您更新“$ H $ 1:H1”部分?在这种情况下,H1是将具有“模具ID”的标题行 – maxhob17