繁体   English   中英

我想列出相邻单元格值具有的范围内的所有值:1)时间差小于24小时,其他单元格2)等于特定文本

[英]I want to list all values in a range where adjacent cell value have:1) time difference is less than 24hour, and other cells 2) equal specific text

表+期望的结果这是我得到的但不确定为什么它不起作用:

在Sheet2中输入公式!A2 =

index($A$2:$A$100, match(0,if(OR(AND(now()-Sheet1!O2<1,D2="closed"),D2="Pending",""),0))

显示Sheet1中的单元格列表! 条件1 :现在 - O2时间<1天&D2 =“关闭”

条件2 :D2 =“待定”

谢谢你的帮助

语法错误:

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)

好吧我想我得到了它,这是一个数组公式,所以你想将它复制到单元格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函数看起来像this = 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用于忽略不符合条件的行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM