IF语句中带有INDEX和MATCH函数的循环引用错误

时间:2016-10-27 07:57:38

标签: excel excel-formula excel-2010

我继续遇到循环引用问题(显示在屏幕的左下角),显示“模具ID号”下的值以及其他奇怪的错误,例如不在表格中的整个列中传播我的公式等等。

下面的代码是为了在“模具ID”列中返回值,如果它们在15天内并且是一个不同的值(如此唯一以及重复的第一次迭代)并在“模具ID号”下创建一个列表“在另一张纸上。然而,似乎在很多时候也可以正常工作。

{=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

2 个答案:

答案 0 :(得分:0)

我认为你所追求的是类似下面的内容,我已将此公式放在单元格H2中,因此您需要更新MATCH函数中的“$ 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))}

答案 1 :(得分: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的帮助