第一个大于等于0的数字对应的序号
要求:取一行中第一个大于等于0对应的序号(第一行是序号)
但是如果前面有负数,0就不算,如第二行的结果。
哎,图片不能贴。。。
求大神帮忙。 需求没有说清楚 A2 3键输入数组公式,
=MIN(MIN(IF((B2:L2>=0)*(B2:L2<>"")*($B$1:$L$1>MAX(IF((B2:L2<0)*(B2:L2<>""),$B$1:$L$1,0))),$B$1:$L$1,4^9)),MIN(IF((B2:L2>0)*(B2:L2<>""),$B$1:$L$1,4^9)))
下拉 =IF(IFNA(OFFSET(B2,,MATCH(1=1,B2:L2<0,))="",1),OFFSET($B$1,,MATCH(1=1,B2:L2>0,)-1),OFFSET($B$1,,MATCH(1=1,B2:L2<0,)))猜1个,第3个结果为什么是0呢,看不懂 那个写错了。。。。不好意思。附件更新了 你的是对的
自己写了个自定义函数,加上了3楼大佬的公式。3楼大佬的公式结果正确 =MIN(IF(((COUNTIF(OFFSET(A2,,COLUMN(A:K),,12-COLUMN(A:K)),"<0")=0)*(B2:L2<>"")*(B2:L2=0))+(B2:L2>0),B$1:L$1))
数组三键下拉。 数组公式:=OFFSET(A$1,,MATCH(1,(B2:L2>=0)*(B2:L2<>"")*(COLUMN(A:K)>=MATCH(1,FREQUENCY(1,(B2:L2<0)*1),)^OR(B2:L2<0)),),) 非数组公式:
=LOOKUP(1,0/FREQUENCY(1,(B2:L2>=0)*(B2:L2<>"")*(COLUMN(A:K)>=MATCH(1,FREQUENCY(1,(B2:L2<0)*1),)^OR(B2:L2<0))),B$1:L$1)
页:
[1]