如何统计Sheet1中姓名在Sheet2且Complete?为Yes的记录数?
跨工作表统计符合条件的记录数量
解决方案1:使用SUMPRODUCT函数(推荐,无需数组输入)
直接在任意空白单元格输入以下公式:
=SUMPRODUCT((Sheet1!$C:$C="Yes")*(COUNTIF(Sheet2!$A:$A, Sheet1!$A:$A)>0))
公式逻辑:
(Sheet1!$C:$C="Yes"):筛选Sheet1中「Complete?」列为"Yes"的记录,符合条件返回1,否则返回0(COUNTIF(Sheet2!$A:$A, Sheet1!$A:$A)>0):判断Sheet1的每个姓名是否存在于Sheet2的姓名列,存在返回1,否则返回0- 两个条件相乘后求和,得到同时满足「在Sheet2中存在」且「Complete?为Yes」的记录总数
解决方案2:使用数组公式(旧版Excel需按Ctrl+Shift+Enter确认)
=SUM(IF((Sheet1!$C:$C="Yes")*(ISNUMBER(MATCH(Sheet1!$A:$A, Sheet2!$A:$A, 0))),1,0))
公式逻辑:
MATCH(Sheet1!$A:$A, Sheet2!$A:$A, 0):查找Sheet1姓名在Sheet2中的位置,找到返回对应行号,未找到返回错误值ISNUMBER(...):将行号转为TRUE(存在),错误值转为FALSE(不存在)- 结合「Complete?为Yes」的条件,符合条件的记录标记为
1,最后求和得到总数
注意事项
- 如果姓名存在前后空格导致匹配失败,可加入
TRIM函数处理空格:=SUMPRODUCT((Sheet1!$C:$C="Yes")*(COUNTIF(Sheet2!$A:$A, TRIM(Sheet1!$A:$A))>0)) - 数据量大时,建议用具体单元格范围代替整列(如
Sheet1!$A$2:$A$1000),提升计算效率
内容的提问来源于stack exchange,提问作者Half Jesus
相关产品推荐
相关产品推荐

