2016-10-27 68 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