EXCEL中有正负数,怎么实现只返回正数,而跳过负数

学习 时间:2026-04-02 17:54:51 阅读:778
EXCEL中有正负数,怎么实现只返回正数,而跳过负数随便的一串数字,有正有负,放在E2:E12,下面的数组公式公式可以实现:只返回正数,{=IFERROR(INDEX(E2:E12,SMALL(IF(E2:E12>0,ROW(INDIRECT("1:"&ROWS(E2:E12)))),ROW(INDIRECT("1:"&ROWS(E2:E12))))),"")|.注:公式没有问题,为什么会得到想要的结果.1、Small怎么可以实现结果中跳过负数,让下面的正数紧接在返回的数字下面;2、ROW返回的不是行号吗?那么数组中是不是就会出现SMALL(1,1) ,SMALL(3,3)?.SMALL函数那里已经明白了,值总是1和0.先谢!还是有个地方不太明白,为什么对应的负数那行会不显示,而不是遇到负数后空一行再显示后面的正数呢?SMALL得到0,怎么会让后面的正数顶上来呢?做了很久试验还是理解不透,我想这个可以代替很多的宏运算了.还望指教.

最佳回答

迅速的楼房

无心的期待

2026-04-02 17:54:51

这公式设计得很巧妙,妙在使用了数组公式。INDEX()函数用于返回区间E2:E12中指定位置的值,而这公式中只给出了指定的行号1或者0的值。行号由SMALL()函数提供,当条件E2:E12>0成立时,SMALL()函数结果是1,反之结果是0。条件语句IF(E2:E12>0,ROW(INDIRECT("1:"&ROWS(E2:E12))))只给出了两个参数,这里埋伏了一个错误的地方,就是当E2:E12 再问: 谢谢!!已经完全明白了。也分享一下 是用了SMALL来排序,而这里是对行号进行排序,而

最新回答共有2条回答

  • 受伤的小伙
    回复
    2026-04-02 17:54:51

    这公式设计得很巧妙,妙在使用了数组公式。INDEX()函数用于返回区间E2:E12中指定位置的值,而这公式中只给出了指定的行号1或者0的值。行号由SMALL()函数提供,当条件E2:E12>0成立时,SMALL()函数结果是1,反之结果是0。条件语句IF(E2:E12>0,ROW(INDIRECT("1:"&ROWS(E2:E12))))只给出了两个参数,这里埋伏了一个错误的地方,就是当E2:E12 再问: 谢谢!!已经完全明白了。也分享一下 是用了SMALL来排序,而这里是对行号进行排序,而

上一篇 如图,三角形abc是直角三角形,∠acb=90°,cd⊥ab于d,e是ac的中点,ed的延长线与cb的延长线交与点f

下一篇 唐朝文化对日本有哪些影响?