Google Sheets中MAP LAMBDA函数计算指定用户完成镜头数的问题
问题解决:统计指定人员完成的镜头总数
你的公式逻辑存在两处关键问题:
- 当人员名称不匹配B7时,错误地返回了
shots值并被SUM累加,导致非目标人员的镜头数被计入结果 - 在逐行处理的MAP函数中使用SUMPRODUCT是冗余的,SUMPRODUCT适用于多区域数组运算,单行列判断不需要它
修正后的公式
=SUM(MAP('Shot List'!A:A, 'Shot List'!D:D, 'Shot List'!H:H, LAMBDA(name, shots, complete, IF(AND(name=B7, complete=TRUE), shots, 0) )))
公式说明
逐行检查每一条记录:只有当人员名称等于B7且**镜头已完成(complete=TRUE)**时,才将对应镜头数shots计入总和;不满足条件的记录直接返回0,不会干扰最终统计结果。
更简洁的替代方案(无需MAP)
如果你的Excel版本支持动态数组,也可以用更高效直观的公式:
=SUM(FILTER('Shot List'!D:D, ('Shot List'!A:A=B7)*('Shot List'!H:H=TRUE)))
这个公式直接筛选出符合条件的镜头数列再求和,逻辑清晰且性能更优。
内容的提问来源于stack exchange,提问作者Dominic McAfee
相关产品推荐
相关产品推荐

