满足条件时如何求和时分?现有MAP公式丢失分钟问题求助
解决方案
你的问题根源在于公式仅提取了时间的小时部分求和,完全丢失了分钟数据。要实现时分同时计算的求和逻辑,直接对筛选后的原始时间值求和即可——Excel中时间本质是小数(1天=1,1小时=1/24,1分钟=1/1440),求和后转换为hh:mm格式就能得到正确结果。
修改后的完整公式如下:
=MAP(H2:H,O2:O,M2:M,N2:N,P2:P,LAMBDA(Employee,Week,Payment,Month,Year, IF(ISBLANK(Employee),, TEXT(SUM(IFERROR(FILTER(L2:L,H2:H=Employee,O2:O=Week,N2:N=Month,P2:P=Year),0)),"hh:mm") ) ))
关键修改说明:
- 移除
hour()函数,直接使用原始时间列L2:L参与筛选和求和,保留时间的完整数值信息 - 新增
TEXT()函数,将求和后的时间数值格式化为hh:mm格式,确保小时和分钟都正确显示 - 为
IFERROR设置默认值0,避免筛选结果为空时返回错误值
如果你更倾向于保留数值型结果(方便后续计算),也可以简化公式,再手动设置单元格格式:
=MAP(H2:H,O2:O,M2:M,N2:N,P2:P,LAMBDA(Employee,Week,Payment,Month,Year, IF(ISBLANK(Employee),, SUM(IFERROR(FILTER(L2:L,H2:H=Employee,O2:O=Week,N2:N=Month,P2:P=Year),0)) ) ))
设置格式步骤:选中结果列 → 右键选择「设置单元格格式」→ 分类选「时间」→ 类型选「hh:mm」。
修改后,Billy的总时间就能正确显示为03:30。
内容的提问来源于stack exchange,提问作者Vic7152
相关产品推荐
相关产品推荐

