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

如何对某列中的奇数/偶数行使用COUNTIF函数进行统计

统计某列指定数量奇数/偶数行的符合条件单元格

核心思路

COUNTIF函数无法直接筛选行号或区域内位置的奇偶性,因此需要结合SUMPRODUCT、ROW、MOD函数实现统计,以下是两种常见场景的实用方案:


场景1:按工作表行号的奇偶统计(指定行范围)

比如要统计**D301到D400(共100行)**中,行号为奇数且单元格值等于2的数量:

=SUMPRODUCT(N(MOD(ROW(D301:D400),2)=1)*(D301:D400=2))
  • 替换D301:D400为目标行范围,=2为你要统计的条件
  • 偶数行统计只需将MOD(...,2)=1改为MOD(...,2)=0:
=SUMPRODUCT(N(MOD(ROW(D301:D400),2)=0)*(D301:D400=2))

场景2:按区域内相对位置的奇偶统计(不看工作表行号)

如果要统计从D301开始的前N行中,区域内第1、3、5...行(相对奇数位置)且值等于2的数量:

=SUMPRODUCT(N(MOD(ROW(D301:D400)-ROW(D301)+1,2)=1)*(D301:D400=2))
  • ROW(D301:D400)-ROW(D301)+1用于计算区域内的相对行号(从1开始)
  • 相对偶数位置统计同理,将=1改为=0

动态指定统计行数(用单元格参数)

如果想通过单元格(比如A1)输入要统计的行数,公式可以改为:

=SUMPRODUCT(N(MOD(ROW(D301:INDEX(D:D,300+A1)),2)=1)*(D301:INDEX(D:D,300+A1)=2))
  • 300+A1表示从D301开始往后数A1行(比如A1=50,就是D301:D350)
  • 该公式无需使用易失函数,稳定性更好

原公式失效原因

你之前的公式=SUMPRODUCT(N(ISODD(ROWS($D301))*$D301=2))中,ROWS($D301)仅返回1(单个单元格的行数),无法识别区域内的多行,将$D301改为区域引用(如D301:D400)即可解决问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 14:45:21