我有一个带有4个主要单元格的谷歌文档,这些单元格是基于跨越A1 - D1的表单条目进行更新的。(时间戳、技术人员姓名、工单、统一工时)响应被放置在无限大的A2 - D2中。E2 - I2是技术人员的姓名。在E3上- I3计划为每个技术人员的总统一费率工时。似乎找不到一个公式,可以在B2和beyond的值中搜索技术人员的名称,然后读取属于该特定技术人员的小时数的D2和beyond上的数据,然后打印该值(而是分别将其更新到E3 - I3之间的相应单元格中)。

发布于 2019-04-21 09:08:08
一种方法是使用ARRAYFORMULA,并使用{ val1, val2, etc }创建数组。然后,您可以使用FILTER来处理逻辑(如果B列=技术人员的姓名,则返回D列中的值),并使用SUM将FILTER返回的所有值相加。IFERROR只是忽略了当技术人员还没有开具任何帐单时,ARRAYFORMULA返回的错误。
尝试将以下公式放在单元格E3中。
=iferror(arrayformula({
sum(filter(D2:D,B2:B=E2)),
sum(filter(D2:D,B2:B=F2)),
sum(filter(D2:D,B2:B=G2)),
sum(filter(D2:D,B2:B=H2)),
sum(filter(D2:D,B2:B=I2))
}), "")发布于 2019-04-22 01:55:31
正确的方法应该是:
=ARRAYFORMULA(IFERROR(HLOOKUP(E2:2, TRANSPOSE(QUERY(B2:D,
"select B,sum(D) where B !='' group by B label sum(D)''")), 2, 0)))

https://stackoverflow.com/questions/55778945
复制相似问题