我是电子表格新手。我有点不知所措,但渴望学习!
我创建了一个谷歌表单来跟踪服务技术人员的每日时间记录。技术人员可能在一天内访问多个站点。由于表单不允许循环问题,我不得不创建许多重复的部分。表格随附的 Google 表格位于此处: https://docs.google.com/spreadsheets/d/1ur7eeJnEXZRNy9oWrSLpC_uD7d_c9p94gCNkuXVf2Oo/edit?resourcekey#gid=185521600
我有几个问题:
**1)是否可以在单行中过滤以提取数据? ** 我希望能够对不同时间“类型”的“持续时间”进行求和。例如,如果对应的“类型”=“办公室”,“办公时间”列 (BN) 将是“持续时间”列的总和,如果对应的“类型”,“站点时间”列 (BO) =“持续时间”列的总和" =“服务”或“文件作业”等
提前感谢您的任何意见!
逆透视数据,然后使用
query()
,如下所示:
=let(
unpivot_, lambda(data, numFixedCols, numColsPerGroup, let(k,n(numFixedCols),d,if(k,data,hstack(sequence(rows(data)),data)),f,if(k,k,1),g,numColsPerGroup,s,lambda(r,c,h,w,chooserows(choosecols(d,sequence(1,w,c)),sequence(h,1,r))),h,hstack(s(1,1,1,f),"Label",s(1,f+1,1,g)),i,sequence(1,(columns(d)-f)/g,f+1,g),a,reduce(h,sequence(rows(d)-1,1,2),lambda(a,r,let(x,s(r,1,1,f),b,reduce(tocol(æ,2),i,lambda(y,c,let(z,s(r,c,1,g),if(""=+z,y,vstack(y,hstack(x,s(1,c,1,1),z)))))),vstack(a,b)))),if(k,a,choosecols(a,sequence(1,columns(a)-1,2))))),
data, hstack('Form Responses 1'!A1:D, 'Form Responses 1'!BD1:BD, arrayformula(if('Form Responses 1'!D1:D = "Sick", iferror('Form Responses 1'!E1:BC / 0, "Sick"), 'Form Responses 1'!E1:BC))),
unpivot_(data, 5, 5)
)
=query(
Data!A1:K,
"select Col3, Col4, sum(Col10) - sum(Col9)
where Col3 is not null
group by Col3, Col4
label sum(Col10) - sum(Col9) 'Duration'
format sum(Col10) - sum(Col9) '[h]:mm' ",
1
)
查看您的示例电子表格。