Excel从包含0的单元格上方的单元格获取值-无需vba-

问题描述 投票:0回答:1

我有一个关于我拥有的机器的运行时间的专栏。 (这些都是手写填写的)。 机器故障后,机器将被修复,计时器将重置为0小时。

第一个单元格(屏幕截图中)的数字为 2538,使用以下公式计算: =IF(COUNTIF(K2:K31,"0"),INDEX(K2:K31,MATCH(0,K2:K31,0) -1,1),"false") K2:K31 是小时列。 此代码现在仅检查是否有 0,然后在列中查找匹配项,选择找到的第一个 0,然后选择上面的单元格并显示该单元格的值。

问题是我找不到跳过第一个 0 并显示第二个零以上的值的方法,在这种情况下结果应该是 476。在我知道如何做到这一点之后,更改代码可能很容易,而且检查第三个零以上的值,在本例中应为 105。

我不能使用VBA,所以它必须是一个公式。

excel indexing match cell skip
1个回答
1
投票

尝试使用以下公式:


• 单元格中使用的公式 D2

=LET(
     a,SCAN(1,A2:A31,LAMBDA(x,y,x+(y=0))),
     b,UNIQUE(a),
     DROP(LOOKUP(b,a,A2:A31),-1))

或者,不使用 DROP( ),而使用 TAKE( ) 函数。


=LET(
     a,SCAN(1,A2:A31,LAMBDA(x,y,x+(y=0))),
     b,UNIQUE(a),
     TAKE(LOOKUP(b,a,A2:A31),3))

© www.soinside.com 2019 - 2024. All rights reserved.