TABLE + DESIRED RESULT 这就是我得到的,但不确定为什么它不起作用:
在Sheet2中输入的公式!A2 =
index($A$2:$A$100, match(0,if(OR(AND(now()-Sheet1!O2<1,D2="closed"),D2="Pending",""),0))
显示Sheet1中的单元格列表!当条件1 时:现在 - O2中的时间&lt; 1天&amp; D2 =“关闭”
或条件2 :D2 =“待定”
感谢帮助人员
答案 0 :(得分:0)
语法错误 你有:
AND(now()-Sheet1!O2<1, D2="closed")
这很好,问题在你的OR语句中:
OR(AND(now()-Sheet1!O2<1,D2="closed"),D2="Pending","")
最后一个括号应该在我相信的最后一个逗号之前。目前你有一个带有3个参数的OR语句,其中最后一个是“”,它不会给你你想要的东西。我认为你打算将“”作为IF语句的结果而不是OR语句的条件,试试这个:
if(OR(AND(now()-Sheet1!O2<1, D2="closed"), D2="Pending"),"",0)
答案 1 :(得分:0)
好吧我想我得到了它,这是一个数组公式,所以你想把它复制到单元格G2并按CTRL + SHIFT + ENTER,然后将公式拖得足够远以保存所有结果。我将条件从“打开,等待,等待或在过去24小时内关闭”更改为“未关闭超过24小时前”以便于阅读
G2的公式是:
=IFERROR(INDEX(A$2:A$11, SMALL(IF(NOT((C$2:C$11="Closed")*(NOW()-D$2:D$11>1)), ROW(A$2:A$11)-ROW(A$2)+1), ROWS(A$2:A2))), "")
SMALL函数看起来像这样= SMALL(array,n)并返回数组的第n个最小元素。在我们的例子中,n由ROWS(A $ 2:A2)给出,它将给出结果输出中当前行的行号。即你的结果的第一行将包含第一个最小的数字,第二行将包含第二个最小的数字等,诀窍是它没有给出id列表中的最小数字,但它给出了由这一行:
IF(NOT((C$2:C$11="Closed")*(NOW()-D$2:D$11>1)), ROW(A$2:A$11)-ROW(A$2)+1
这部分有点复杂,因为它的所有数组公式/逻辑。请注意,此上下文中的*表示逻辑AND。如果你想更好地理解它,你可以在Excel的公式栏中突出显示公式的这一部分,然后按F9,这将显示数组的值。单击单元格G2并突出显示上面的行,即可:
{1; FALSE; 3; 4; 5; FALSE; FALSE; 8; 9; 10}
您可以看到生成的数组包含符合条件的行的行号,对于不符合条件的行包含FALSE。然后INDEX和SMALL函数显示行的id,其中第一个值为第一个,然后是第二个,其中FALSE用于忽略不符合条件的行。