心安处即是家 发表于 2021-9-29 09:39:00

第一个大于等于0的数字对应的序号


要求:取一行中第一个大于等于0对应的序号(第一行是序号)
但是如果前面有负数,0就不算,如第二行的结果。
哎,图片不能贴。。。
求大神帮忙。

森普 发表于 2021-10-3 03:13:18

需求没有说清楚

今今 发表于 2021-10-12 07:20:04

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)))
下拉

甲壳虫少爷 发表于 2021-10-19 03:03:20

=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呢,看不懂

欧阳芷沁 发表于 2021-10-27 15:29:51

那个写错了。。。。不好意思。附件更新了

高山无云 发表于 2021-11-16 12:57:37

你的是对的

吕柏进 发表于 2021-11-20 08:27:07


自己写了个自定义函数,加上了3楼大佬的公式。3楼大佬的公式结果正确

掐指算一算 发表于 2021-11-20 22:33:39

=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))
数组三键下拉。

寡言呱唧 发表于 2021-11-30 04:50:28

数组公式:=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)),),)

滇重楼 发表于 2021-12-29 08:27:33

非数组公式:
=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]
查看完整版本: 第一个大于等于0的数字对应的序号