excel统计值在某个范围的个数

博客给出了一个COUNTIFS函数的使用示例,即统计AI列中数值大于等于10且小于20的单元格数量,体现了该函数在数据统计方面的应用。

=COUNTIFS(AI:AI,">=10",AI:AI,"<20")

<think>我们参考引用内容,特别是引用[1]和引用[3]中提到了统计单列不重复数据个数的方法。引用[3]提供了一个经典的公式:=SUMPRODUCT(1/COUNTIF(range,range))这个公式的原理是:对区域中的每个值,使用COUNTIF计算该值在区域内出现的次数,然后取倒数(1/次数)。如果某个值出现n次,那么这n个倒数求和的结果为1(n*(1/n)=1)。最后SUMPRODUCT将所有值的这个倒数求和,得到的结果就是不重复值的个数。但是,需要注意,如果区域中包含空单元格,COUNTIF会返回0,那么1/0会导致错误(#DIV/0!)。因此,如果区域可能包含空单元格,我们需要对公式进行改进,避免错误。另外,引用[4]提到了一种处理多条件的方法,但用户目前只要求统计不重复值,所以我们先解决单列的情况。因此,我们可以提供以下方法:方法1:经典公式(适用于单列,且无空单元格)=SUMPRODUCT(1/COUNTIF(区域,区域))方法2:改进公式(避免空单元格错误)=SUMPRODUCT((区域<>"")/COUNTIF(区域,区域&""))或者,另一种避免空单元格的方法是:=SUMPRODUCT(IFERROR(1/COUNTIF(区域,区域),0))但是,注意:在Excel中,使用数组公式(旧版)可能需要按Ctrl+Shift+Enter,但SUMPRODUCT通常不需要。另外,我们还可以使用其他函数,例如在新版Excel中(如Microsoft365)可以使用UNIQUE函数和COUNTA函数组合:=COUNTA(UNIQUE(区域))这个方法更简洁,但需要较新版本的Excel。因此,我们提供两个方案:方案一(兼容性较好):使用SUMPRODUCT函数,并处理空单元格。公式1(如果区域没有空单元格):=SUMPRODUCT(1/COUNTIF(A2:A100,A2:A100))公式2(如果有空单元格):=SUMPRODUCT((A2:A100<>"")/COUNTIF(A2:A100,A2:A100&""))或者:=SUMPRODUCT(IF(COUNTIF(A2:A100,A2:A100)=0,0,1/COUNTIF(A2:A100,A2:A100)))但注意:第二个公式中的COUNTIF(A2:A100,A2:A100)会出现0,所以1/0会出错,因此我们使用IF来避免。但引用[3]中提到的经典公式在遇到空单元格时会有问题,所以改进方法是在COUNTIF中连接一个空字符串,这样空单元格会被视为空字符串,并且如果原始数据中有空字符串也是同样的处理。另一种改进:=SUMPRODUCT(IFERROR(1/COUNTIF(A2:A100,A2:A100),0))这个公式可以处理空单元格(因为COUNTIF对空单元格计数为0,1/0会出错,IFERROR将错误转为0,所以不会计入)。方案二(新版Excel):=COUNTA(UNIQUE(FILTER(A2:A100,A2:A100<>"")))//这个公式先过滤掉空值,再统计不重复值或者直接:=COUNTA(UNIQUE(A2:A100))//但这样会包括空值作为一次计数(空值也被视为一个不重复值,但通常我们不计算空值)所以更准确的是:=COUNTA(UNIQUE(FILTER(A2:A100,A2:A100<>"")))或者,如果区域中有空值但不想计算空值,可以使用:=SUM(IFERROR(1/COUNTIF(A2:A100,A2:A100),0))这里我们重点介绍经典公式,因为兼容性广。因此,我们给出如下步骤:1.确定要统计的区域,比如A2:A100。2.在需要显示结果的单元格中输入公式(按区域是否有空值选择):-如果没有空值:=SUMPRODUCT(1/COUNTIF(A2:A100,A2:A100))-如果有空值:=SUMPRODUCT(IFERROR(1/COUNTIF(A2:A100,A2:A100),0))或者=SUMPRODUCT((A2:A100<>"")/COUNTIF(A2:A100,A2:A100&""))注意:第二个公式中,使用A2:A100&"",是为了将空单元格转化为空字符串,然后统计。但要注意,如果原始数据中也有空字符串,那么空字符串和空单元格将被视为相同。因此,根据情况选择。另外,引用[4]提到的方法用于多条件,这里用户没有多条件,所以暂不考虑。总结:推荐公式(通用):=SUMPRODUCT(IFERROR(1/COUNTIF(区域,区域),0))这个公式适用于所有情况(包括空单元格),且不会将空单元格计入(因为空单元格在COUNTIF中计数为0,然后1/0变成错误,被IFERROR转为0,最后求和0)。但是,需要注意的是,如果区域有错误值(如#N/A等),也会被处理。如果有错误值,通常需要先处理错误值。现在我们来写一个详细的回答。</think> ### Excel统计不重复值个数的3种方法 #### 📌 方法1:通用公式(兼容所有Excel版本) ```excel =SUMPRODUCT(1/COUNTIF(数据区域, 数据区域)) ``` **公式原理**: - `COUNTIF(区域,区域)`:统计每个值在区域内出现的次数(如值"A"出现3次) - `1/COUNTIF()`:对每个值取倒数(3次出现 → 3个1/3) - `SUMPRODUCT`求和:所有倒数相加(1/3+1/3+1/3=1),最终得到不重复值的个数[^3] **示例**:统计A2:A100区域的不重复值个数 `=SUMPRODUCT(1/COUNTIF(A2:A100, A2:A100))` ⚠️ **注意**: 若区域包含空单元格,使用改进公式: `=SUMPRODUCT((A2:A100<>"")/COUNTIF(A2:A100,A2:A100&""))` --- #### 📌 方法2:UNIQUE函数(Excel 2021/365版本) ```excel =COUNTA(UNIQUE(FILTER(数据区域, 数据区域<>""))) ``` **优势**: 1. 自动过滤空值 2. 直接生成不重复值列表 3. 可搭配SORT等函数排序:`=SORT(UNIQUE(A2:A100))` --- #### 📌 方法3:数据透视表(无需公式) 1. 选中数据区域 → 插入 → 数据透视表 2. 将目标字段拖到"行"区域 3. 再次将同一字段拖到"值"区域 → 值字段设置 → 计算类型选"非重复计数" ![数据透视表操作示意](https://example.com/pivot-demo.png) *图示:在值字段设置中选择"非重复计数"[^4]* --- ### ⚠️ 重要注意事项 1. **空单元格处理**: - 方法1公式需用`&""`避免`#DIV/0!`错误 - 方法2用`FILTER`自动排除空值 2. **多条件统计**(引用[4]扩展): ```excel =SUMPRODUCT(1/COUNTIFS(主区域,主区域,条件区域1,条件1,条件区域2,条件2)) ``` 示例:统计B列品牌为"苹果"且C列库存>10的不重复产品数 `=SUMPRODUCT(1/COUNTIFS(D2:D100,D2:D100,B2:B100,"苹果",C2:C100,">10"))`
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值