EXCEL中有正负数,怎么实现只返回正数,而跳过负数
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,怎么会让后面的正数顶上来呢?做了很久试验还是理解不透,我想这个可以代替很多的宏运算了.还望指教.
最佳回答
这公式设计得很巧妙,妙在使用了数组公式。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来排序,而这里是对行号进行排序,而
热门文章
- 康达学院专转本五年制
- 高考一个考场分ab卷吗
- not only but also用法
- 某物体做自由落体运动,从释放开始计时,则物体在前2s内的平均速度为______m/s,物体下落2m时的速度大小为______m/s.
- 三角函数公式大全表格
- 地理中考必背知识点2022
- 2013-2014学年小学六年级科学上学期期末考试试卷及答案
- 人教版2014-2015学年小学五年级英语第二学期期中教学质量检测试卷及答案
- 【Linux驱动开发】设备树详解(二)设备树语法详解
- 别跟客户扯细节
- 在别的城市买房子能落户吗
- 卖房前要把装修贷还完吗
- 高中政治教学提高教学效果的方法探究
- “互联网+”背景下的初中英语课堂教学改革与创新策略研究
- 2022年终止合同范本
- 租房合同范本范文
- 如何挑选土豆
- 如何挑选土鸡
