日常办公中,我们经常会遇到这样的需求:统计表格中,出现次数小于某个指定数值的人员名单,还要同步算出他们的具体出现次数。今天就给大家分享一个高效解法,不用手动排序、不用辅助列,两步公式直接出结果,新手也能轻松上手!
假设你的Excel表格满足以下条件,直接套用公式即可,无需修改基础格式:

C列(C2:C65):存储人员姓名(可能有重复,比如多次签到/出勤)
D列(D2:D65):存储对应出现日期(仅作为辅助信息,公式无需调用)
G1单元格:存储「指定次数」(比如要筛选出现次数<5次的人员,就在G1输入5)
目标1:在F3单元格,提取「出现次数<G1」的所有人员名单
目标2:同步统计这些人员的具体出现次数,无需手动逐个计算
两步实操:公式直接复制粘贴(新手必看)
重点:以下公式适用于「Excel 365、Excel 2021、WPS最新版」(支持动态数组功能),旧版Excel需看文末兼容方案。
第一步:提取符合条件的人员名单(F3单元格)
选中F3单元格,复制粘贴下方公式,按回车直接出结果:
=LET(r,UNIQUE(C2:C65),FILTER(r,COUNTIF(C2:C65,r)<G1,"无符合条件人员"))
该公式由3个核心函数组合而成,=LET(r,UNIQUE(C2:C65),FILTER(r,COUNTIF(C2:C65,r)<G1,"无符合条件人员")),逐部分拆解如下:
LET函数:相当于“给参数起别名”,简化公式、减少重复计算,提升公式可读性和运行速度。 参数说明:r是我们给“去重后的姓名名单”起的别名,后面可以直接用r代替重复的UNIQUE(C2:C65),不用反复书写。
UNIQUE(C2:C65):核心作用是“去重”,提取C2:C65范围内所有不重复的人员姓名。 举例:如果C列有“张三、李四、张三、王五”,该函数会返回“张三、李四、王五”,自动剔除重复项,这是后续统计次数的基础。
COUNTIF(C2:C65,r):核心作用是“统计次数”,计算每个去重后姓名(也就是r)在C2:C65范围内出现的次数。 参数说明:第一个参数C2:C65是“统计范围”(所有姓名),第二个参数r是“统计对象”(每个去重后的姓名),相当于逐个计算“张三出现几次、李四出现几次”。
FILTER函数:核心作用是“筛选”,按条件筛选出去重名单中符合要求的姓名。 参数说明: ① 第一个参数r:要筛选的对象(去重后的姓名名单); ② 第二个参数COUNTIF(C2:C65,r)<G1:筛选条件,即“姓名出现次数(COUNTIF的结果)小于G1单元格指定的次数”; ③ 第三个参数"无符合条件人员":兜底提示,当所有姓名的出现次数都≥G1时,不会显示错误值,而是显示这句话,更实用。
第二步:统计对应人员的出现次数
选中G3单元格,复制粘贴下方公式,按回车,会自动批量计算F列所有人员的出现次数:
=COUNTIF(C2:C65,F3#)
COUNTIF函数:基础统计函数,专门用于“计算某个值在指定范围内出现的次数”,也是Excel新手最常用的统计函数之一。
参数详细说明: ① 第一个参数C2:C65:“统计范围”,即所有人员姓名所在的区域,所有姓名的次数都从这个范围中统计; ② 第二个参数F3#:“动态数组引用”,#是动态数组的标志性符号,代表“F3单元格溢出的所有结果”(也就是第一步筛选出的所有符合条件的姓名)。
核心优势:不用手动下拉填充公式,F3#会自动匹配F3、F4、F5……所有溢出的姓名,同步计算每个姓名的出现次数,避免手动操作出错。
核心逻辑:先去重姓名→统计每个姓名的出现次数→筛选出符合条件的名单→同步计算次数,全程不用手动操作,公式一键搞定。