我正在尝试找到最新1之前的最新非1值。
在这种情况下,它应该返回3而不是4。
1是我尝试使用MATCH(MIN(range),range,0)
的最小值,并添加1以获取我需要的值,但最小函数会在第一次出现的最小值时停滞。
答案 0 :(得分:1)
尝试
RDD
=INDEX(B1:P1,1,MATCH(1,(OFFSET(B1:P1,,-1)=1)*(B1:P1>1),0))
是您的数据范围。当然它是一个数组公式(SHIFT + ENTER)。
希望有所帮助。
答案 1 :(得分:0)
我无法看到一个简短而敏捷的答案,但这里有一个建议,假设数据从A列开始
=INDEX(2:2,AGGREGATE(15,6,COLUMN(INDEX(2:2,MATCH(1,2:2,0)):INDEX(2:2,MATCH(999,2:2)))/(INDEX(2:2,MATCH(1,2:2,0)):INDEX(2:2,MATCH(999,2:2))>1),1))
如果范围没有在A列中开始,则必须从AGGREGATE返回的列号中减去该范围的第一列之前的列数,以获得相对于该值的正确索引值数组的开始,例如对于B2:Z2
=INDEX(B2:Z2,AGGREGATE(15,6,COLUMN(INDEX(B2:Z2,MATCH(1,B2:Z2,0)):INDEX(B2:Z2,MATCH(999,B2:Z2)))/(INDEX(B2:Z2,MATCH(1,B2:Z2,0)):INDEX(B2:Z2,MATCH(999,B2:Z2))>1),1)-COLUMN(A:A))
老实说,除非范围内的单元格数量非常大,否则使用MATCH查找范围中的最后一个数字是不值得的,因此B2:Z2的公式只是
=INDEX(B2:Z2,AGGREGATE(15,6,COLUMN(INDEX(B2:Z2,MATCH(1,B2:Z2,0)):Z2)/(INDEX(B2:Z2,MATCH(1,B2:Z2,0)):Z2>1),1)-COLUMN(A:A))
公式起始栏A
从B栏开始的公式