一、常见计数公式

二、条件统计公式

(一)单条件统计
COUNTIF 函数是一个非常实用的单条件统计函数。例如,要统计女性人数,可以使用公式=COUNTIF(B:B,"女")。若要统计特定年龄段人数,比如统计年龄大于 30 岁的人数,公式为=COUNTIF(D:D,">30")。 在条件中可以使用通配符进行模糊统计。常用通配符有“?”和“ ”,“ ”代表任意数量的任意字符;“?”代表任意单个字符。比如,当需要查找王姓员工数量,可以输入公式=COUNTIF(A2:A14,"王*")。如果要查找姓名为三个字的员工数量,可以输入公式=COUNTIF(A2:A14,"???")。如果统计包含符号“?”或“ ”的单元格个数,需要在在它们前面加波形符~,例如统计含“?”的单元格个数,表达式应该写成“ ~?*”。(二)多条件统计
COUNTIFS 函数用于多条件统计。比如统计男性且本科人数,公式为=COUNTIFS(B:B,"男",C:C,"本科")。 SUMPRODUCT 函数也可用于多条件统计。举个简单的例子,我们有一个工作表,记录了销售流水信息。我们的统计表,需要跨表引用数据。一般情况下,我们大多数,都会选择 SUMIFS 来进行汇总,我们输入的公式是:sumifs 的用法是:=sumifs(求和区域,条件列 1,条件 1,条件列 2,条件 2...)。所以,这里我们输入的公式是=SUMIFS([20240202 业务流水表.xlsx]Sheet2!$E:$E,[20240202 业务流水表.xlsx]Sheet2!$B:$B,$A2,[20240202 业务流水表.xlsx]Sheet2!$C:$C,B$1)。注意 a2 列要固定列标 b1 要固定行标。但这种方法有一个很大的缺陷问题就是当我们保存完之后,然后再次打开这个统计表的时候它会提示我们点击更新。当我们点击更新的时候,全部变成了错误值。如果我们原始的业务流水表本来就有更新,也需要更新统计的结果。如何让我们点击更新的时候,它不返回错误值呢?就必须将引用的业务流水表,也是打开的状态,它更新才不会出错。那有没有公式可以做到,可以不用打开引用的数据表格呢?答案就是用 sumproduct 公式来计算条件求和。万能通用的公式是:=sumproduct(iferror((求和列)*(条件列 1=条件值 1)*(条件列 2=条件值 2),0))。所以我们使用的公式是:=SUMPRODUCT(IFERROR(([20240202 业务流水表.xlsx]Sheet2!$E:$E)*([20240202 业务流水表.xlsx]Sheet2!$B:$B=$A2)*([20240202 业务流水表.xlsx]Sheet2!$C:$C=B$1),0))。这样,即使我们关闭引用的数据表,还是能正常计算。而且当我们引用的数据表更新之后,这个公式也能自动的更新结果。三、分区间段统计

如果第 2 参数中不包含任何数值,函数 FREQUENCY 返回的值与第 1 参数中的元素个数相等。
函数 FREQUENCY 将忽略空白单元格、逻辑值和文本。
返回的数组中的元素个数比第 2 参数中的元素个数多 1 个,多出来的元素表示最高区间之上的数值个数。
对于返回结果为数组的公式,必须以数组公式的形式输入,即在输入公式后按 Ctrl + Shift + Enter 三键结束。
例如,在统计学生成绩各分数段人数时,可以选中目标单元格区域,输入公式“=FREQUENCY(B2:B16,{60,70,80,90}-0.1)”,组合键结束。这里{60,70,80,90}-0.1 是间隔点,之所以要减去一个很小的数,是为了符合特定的统计要求,如统计大于等于 60,小于 80 的个数,如果直接用{60,70,80,90},统计结果就会是 0 到小于等于 60,大于 60 小于等于 70,大于 70 小于等于 80,大于 80 小于等于 90,大于 90。所以减去一个很小的数来解决这个问题,如果成绩中有小数,可以将 0.1 改成更小的小数,如 0.001。 总之,FREQUENCY 函数在分区间段统计方面具有高效、便捷的特点,熟练掌握该函数可以大大提高数据统计的效率。四、统计不重复个数

(一)单条件不重复统计
在 Excel 中,我们可以使用 SUMPRODUCT 函数来进行单条件不重复统计。比如统计姓名不重复的人数,判断重复的条件就一个——姓名不重复。在相应单元格输入公式=SUMPRODUCT(1/COUNTIF(B2:B22,B2:B22))即可。公式解析:运用了单条件去重统计个数的套路公式= SUMPRODUCT (1/COUNTIF(统计区域,条件区域))。重点在于统计区域与条件区域通常是相同的。譬如,统计区域是 B2:B22,条件区域也是 B2:B22。(二)多条件不重复统计
对于多条件下统计不重复个数,例如统计组别和姓名都不重复的总人数。可以在相应单元格输入公式=SUMPRODUCT(1/COUNTIFS(A2:A22,A2:A22,B2:B22,B2:B22))。COUNTIFS 函数可以按多组指定的条件进行统计,语法结构为:=COUNTIFS(条件区域1,条件1,[条件区域2,条件2],…)。这里通过多个条件区域和条件的组合,实现了多条件下不重复个数的统计。(三)多条件分组不重复统计
在多条件去重后分组统计不重复个数方面,比如统计一组中组别和姓名同时不同的人数。可以输入如下公式:=SUMPRODUCT(($A$2:$A$22=A2)/COUNTIFS(A2:A22,A2:A22,B2:B22,B2:B22))。这个公式通过判断组别和姓名的组合条件,实现了在特定组内对不重复个数的统计。它先根据条件筛选出特定组的数据,然后进行去重和计数操作,为多条件分组统计提供了有效的方法。五、多条件综合统计

(一)多条件判断
在实际工作中,常常需要根据不同条件进行判断并给出相应结果。例如按绩效等级发放奖金,可以使用多个 IF 嵌套或者 VLOOKUP 函数进行多条件判断。 使用多个 IF 嵌套时,公式可能会变得较为复杂,如=IF(条件1,结果1,IF(条件2,结果2,IF(条件3,结果3,...)))。以员工绩效等级为例,假设条件为绩效等级为 A 发放奖金 1000 元,绩效等级为 B 发放奖金 800 元,绩效等级为 C 发放奖金 500 元,公式可能为=IF(A2="A",1000,IF(A2="B",800,IF(A2="C",500,0)))。 使用 VLOOKUP 函数进行多条件判断时,可以结合辅助列将多个条件合并为一个查找值。例如,有员工绩效等级和工作年限两个条件,在原始数据中插入辅助列,将绩效等级和工作年限合并,然后使用=VLOOKUP(查找值,查找范围,返回列数,0)进行查找匹配。(二)多条件求和
SUMIFS 和 SUMPRODUCT 函数都可用于多条件求和。SUMIFS 函数语法为=SUMIFS(求和区域,条件区域1,条件1,条件区域2,条件2,...),例如统计男性且本科员工的工资总和,公式为=SUMIFS(D:D,B:B,"男",C:C,"本科")。 SUMPRODUCT 函数也可实现多条件求和,例如=SUMPRODUCT((条件列1=条件值1)*(条件列2=条件值2)*求和列)。当数据量较小时,两者的效率可能差别不大,但当数据量较大时,SUMIFS 函数可能在计算速度上更有优势,因为它是专门为多条件求和设计的函数。而 SUMPRODUCT 函数在处理复杂逻辑关系的多条件求和时可能更加灵活。(三)多条件计数
COUNTIFS 和 SUMPRODUCT 函数可用于多条件计数。COUNTIFS 函数语法为=COUNTIFS(条件区域1,条件1,条件区域2,条件2,...),例如统计男性且本科员工的人数,公式为=COUNTIFS(B:B,"男",C:C,"本科")。 SUMPRODUCT 函数进行多条件计数时,例如=SUMPRODUCT((条件列1=条件值1)*(条件列2=条件值2))。COUNTIFS 函数在使用上相对简单直观,适用于快速进行多条件计数。而 SUMPRODUCT 函数在处理一些特殊的多条件计数需求时,可以通过灵活组合条件实现更复杂的计数功能。(四)多条件求平均值
AVERAGEIFS 函数可用于多条件求平均值,语法为=AVERAGEIFS(求平均值区域,条件区域1,条件1,条件区域2,条件2,...)。例如计算男性且本科员工的平均工资,公式为=AVERAGEIFS(D:D,B:B,"男",C:C,"本科")。当无法平均时,可能会出现错误值。此时可以使用 IFERROR 函数进行错误处理,如=IFERROR(AVERAGEIFS(求平均值区域,条件区域1,条件1,条件区域2,条件2,...),"无法计算平均值")。(五)多条件排名次
使用 SUMPRODUCT 函数可以计算分组排名。例如,有学生成绩表,按照总分进行降序排名,当总分一致时按语文成绩的高低进行排名。可以插入一列辅助列,在辅助列中输入公式=总分列*1000+语文成绩列,然后在排名列输入公式=RANK(辅助列单元格,辅助列区域)。SUMPRODUCT 函数的原理是通过构建条件判断表达式,对满足条件的进行计数,然后根据计数结果确定排名。(六)多条件最大值与最小值
在高版本的 Excel 中,MAXIFS 和 MINIFS 函数可用于多条件求最大值和最小值。例如,求男性且本科员工的最高工资,公式为=MAXIFS(D:D,B:B,"男",C:C,"本科");求最低工资公式为=MINIFS(D:D,B:B,"男",C:C,"本科")。 在低版本中,可以使用数组公式计算多条件最大值和最小值。例如求最大值的模板公式为=MAX(IF((条件区域1=条件1)*(条件区域2=条件2)*...*(条件区域n=条件n),对比数据)),求最小值的模板公式为=MIN(IF((条件区域1=条件1)*(条件区域2=条件2)*...*(条件区域n=条件n),对比数据)),注意需同时按下 Ctrl+Shift+Enter 三键执行计算。(七)多条件匹配数据
FILTER 和 INDEX+SMALL+IF 等函数可用于多条件匹配数据。例如,根据员工的部门和职位两个条件查找对应的员工姓名。FILTER 函数可以按条件筛选数据,INDEX+SMALL+IF 函数组合可以实现逐步查找满足条件的数据。由于公式原理复杂,在此不赘述。(八)多条件提取唯一值
UNIQUE 和 INDEX+SMALL+IF 等函数可用于多条件提取唯一值。例如,从一组包含多个条件的数据中提取满足特定条件的唯一值。同样,由于公式原理复杂,在此不赘述。想了解更多精彩内容,快来关注