Excel技术需求:按姓名统计列中非空单元格并生成有序概览表
Excel 两项需求的实现方案
1. 按指定姓名统计对应列非空单元格数
假设原始数据存放在「数据源」工作表中:
- A列为姓名列,B/C/D列分别对应「Unit 1/2/3」数据列
- 待查询的姓名输入在目标单元格(比如「概览」工作表的A2单元格)
使用数组公式统计「Unit 1」的非空单元格数量(输入完成后按 Ctrl+Shift+Enter 确认生效):
=COUNT(IF(数据源!A:A=A2, IF(NOT(IFBLANK(数据源!B:B)), 数据源!B:B, "")))
将公式中的数据源!B:B替换为数据源!C:C或数据源!D:D,即可统计「Unit 2」或「Unit 3」的非空单元格数量。
若不想使用数组公式,可通过辅助列实现:
- 在「数据源」工作表新增一列(如E列),输入公式
=IF(NOT(IFBLANK(B2)), A2, ""),下拉填充至所有行 - 统计时使用公式:
=COUNTIF(数据源!E:E, A2)
2. 创建「概览」工作表并生成姓名统计报表
步骤1:提取唯一姓名并按字母排序
- 复制「数据源」工作表A列的所有姓名到「概览」工作表的A列
- 选中「概览」工作表的A列数据,点击「数据」选项卡 →「删除重复值」,保留唯一姓名
- 选中去重后的姓名列,点击「数据」选项卡 →「排序」,选择「升序」完成字母排序
步骤2:批量统计各姓名的非空单元格数量
在「概览」工作表的B2单元格(对应「Unit 1」统计)输入上述数组公式,下拉填充整列即可完成所有姓名的「Unit 1」非空数统计;同理在C列、D列分别替换公式中的列引用,即可完成「Unit 2」「Unit 3」的统计。
若要使用VLOOKUP,可先在「数据源」工作表通过COUNTIF按姓名分组汇总非空数,再用VLOOKUP将汇总结果匹配到「概览」表,但直接使用数组公式的效率更高。
内容的提问来源于stack exchange,提问作者user2015792
相关产品推荐
相关产品推荐

