Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google sheets 需要帮助写谷歌表单公式吗_Google Sheets_Google Sheets Formula - Fatal编程技术网

Google sheets 需要帮助写谷歌表单公式吗

Google sheets 需要帮助写谷歌表单公式吗,google-sheets,google-sheets-formula,Google Sheets,Google Sheets Formula,我有一个google文档,其中有4个主单元格,这些单元格根据A1-D1表格中的条目进行更新。(时间戳、技术人员姓名、工单、固定费率小时数)响应放置在A2-D2到无穷远处。E2-I2是技师的姓名。在E3上,I3计划为每个技师的总固定费率小时数。似乎找不到一个公式,该公式将搜索B2和B2以上的值以查找技术人员的姓名,然后读取D2和D2以上属于该技术人员的小时数数据,然后打印该值(而是分别将其更新到E3-I3之间的相应单元格) 一种方法是使用ARRAYFORMULA,并使用{val1、val2等}创建

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


一种方法是使用ARRAYFORMULA,并使用
{val1、val2等}
创建一个数组。然后您可以使用FILTER处理逻辑(如果Col B=技术人员的姓名,则返回Col D中的值),并将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))
}), "")

一种方法是使用ARRAYFORMULA,并使用
{val1,val2,etc}
创建一个数组。然后可以使用FILTER来处理逻辑(如果Col B=技术人员的姓名,则返回Col D中的值),并将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))
}), "")
正确的方法是:

=ARRAYFORMULA(IFERROR(HLOOKUP(E2:2, TRANSPOSE(QUERY(B2:D, 
 "select B,sum(D) where B !='' group by B label sum(D)''")), 2, 0)))
正确的方法是:

=ARRAYFORMULA(IFERROR(HLOOKUP(E2:2, TRANSPOSE(QUERY(B2:D, 
 "select B,sum(D) where B !='' group by B label sum(D)''")), 2, 0)))

我想做的是,如果B2=“Ben”大于“E3=C2”;如果B2不=“Ben”继续B3等…直到公式超过了B列中提交的所有值,那么它将C2-C999的所有值相加,因为它们对应于“Ben”的匹配值在B列中找到并显示E3上的总值是C2-C999中找到的值的总和为什么不标记google sheets-因为您使用的是google sheets而不是excel。我试图做的是如果B2=“Ben”;而不是“E3=C2”;如果B2不=“Ben”继续B3等…直到公式超过B列中提交的所有值,然后将C2-C999的所有值相加,因为它们对应于匹配的“Ben”值在B列中找到并显示E3上的总值是C2-C999中找到的值的总和,为什么不标记google sheets-因为您使用的是google sheets而不是excel。好的,现在最后一个问题是有一种方法可以通过日期范围来增强这一点,因此如果假设K2是date From,L2是date to,它将运行formula您为这两个日期之间的响应提供的时间。A列是一个时间戳,格式为MM/DD/YYYY HH:MM:SS,其中小时是24小时格式。只需在筛选器中添加这些条件,例如筛选器(D2:D,B2:B=E2,A2:A>=K3,A2:Aok这很好,现在最后一个问题是有没有办法通过日期范围来增强这一点,因此如果假设K2是从日期开始的,L2是从日期开始的,它将运行您为这两个日期之间的响应提供的公式。A列是一个时间戳,格式为MM/DD/yyyyy HH:MM:SS,其中小时是24小时形式在。只需在过滤器中添加这些条件,例如过滤器(D2:D,B2:B=E2,A2:A>=K3,A2:A