You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在一行中查找第2、3、N个正数?现有首正数公式待扩展

查找一行中第N个正数的Excel公式解决方案

原公式仅能定位一行中的第一个正数,要扩展到查找第2、3、…、N个正数,可通过以下两种方法实现:

兼容所有Excel版本的通用公式

适用于包括旧版Excel在内的所有版本,公式结构如下:

=INDEX($J$8:$S$8,SMALL(IF($J$8:$S$8>0,COLUMN($J$8:$S$8)-COLUMN($J$8)+1),k))
  • 替换公式中的k为目标序号(如2代表第二个正数,3代表第三个)
  • 旧版Excel需按Ctrl+Shift+Enter确认数组公式,Excel 365/2021直接回车即可

公式原理

  • IF($J$8:$S$8>0,COLUMN($J$8:$S$8)-COLUMN($J$8)+1):筛选出所有正数对应的列偏移量(相对于J8的位置,从1开始计数),非正数返回逻辑值FALSE
  • SMALL(...,k):提取第k小的偏移量,即第k个正数所在的位置
  • INDEX根据偏移量返回对应单元格的数值

Excel 365/2021 简化公式

利用动态数组函数FILTER可大幅简化公式:

=INDEX(FILTER($J$8:$S$8,$J$8:$S$8>0),k)
  • FILTER($J$8:$S$8,$J$8:$S$8>0)直接提取该行所有正数形成动态数组
  • INDEX(...,k)取数组中的第k个元素,即为目标正数

示例验证

假设J8:S8的数据为:-5, 10, -3, 15, 0, 20

  • 第一个正数:原公式返回10
  • 第二个正数:代入k=2,两种公式均返回15
  • 第三个正数:代入k=3,两种公式均返回20

内容的提问来源于stack exchange,提问作者TDorman

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 00:59:52