Google Sheets按人员汇总培训时长函数求助
简单提取并汇总Google Sheets培训时长
步骤1:先把培训时长转成可计算的分钟数(在「Training Times」工作表操作)
- 插入3个辅助列(比如C、D、E列),分别处理小时转分钟、提取分钟、计算总分钟数:
- C2单元格输入:
=IFERROR(REGEXEXTRACT(B2,"(\d+) Hours")*60,0)作用:提取文本里的小时数并转成分钟;如果没有小时内容,返回0
- D2单元格输入:
=IFERROR(REGEXEXTRACT(B2,"(\d+) Minutes"),0)作用:提取文本里的分钟数;如果没有分钟内容,返回0
- E2单元格输入:
=C2+D2作用:把小时转的分钟和原分钟数相加,得到总分钟数
- C2单元格输入:
- 选中C2、D2、E2,下拉填充到所有数据行
步骤2:按人员汇总总时长(在汇总工作表操作)
假设汇总表的A列是人员姓名,B列放总分钟数:
- B2单元格输入:
=SUMIF('Training Times'!A:A,A2,'Training Times'!E:E) - 下拉填充,就能得到每个人的总培训分钟数
可选:把总分钟数转回「X Hours Y Minutes」格式
如果想把分钟数还原成原格式,在C2单元格输入:=INT(B2/60)&" Hours "&MOD(B2,60)&" Minutes"
下拉填充即可
你原来公式出错的原因
SUMIF的第三个参数必须是单元格区域,不能直接嵌套REGEXEXTRACT这类函数,所以得先把文本格式的时长转换成数值(比如分钟),再用SUMIF汇总。
内容的提问来源于stack exchange,提问作者Fittercleric60
相关产品推荐
相关产品推荐

