如何使用多个标准汇总特定信息,包括表单提交日期
How to sum specific information w/ multiple criteria including dates from form submission
我有一个 sheet 链接到 google 表单,因此当有人提交表单时,信息会自动填充到 sheet 中,并带有时间戳,例如。 1/17/2020 17:26:16
。我试图根据多个标准对信息求和,一个是只提取一整天的数据,但公式也在读取时间,所以我一直得到 0。
例如,这里有一些数据
1/8/2020 17:38:49 Danny PM Beetlejuice on Broadway 1144
1/8/2020 17:38:49 Danny PM Oklahoma! on Broadway 1181
1/8/2020 17:38:49 Danny PM Oklahoma! on Broadway 1000.5
1/8/2020 12:47:18 Jeff PM To Kill a Mockingbird 1675
1/8/2020 12:48:19 Jeff PM Jagged Little Pill 2390
在另一个选项卡上,我试图计算每个人在这一天花费了多少钱。这个新标签正在查看一个人的班次和姓名以总结他们的支出:
=SUMIFS('Form Responses 1'!$E:$E,'Form Responses 1'!$D:$D,B,'Form Responses 1'!$B:$B,$A9,'Form Responses 1'!$C:$C,$B)
我认为您不需要知道当前代码中每一部分的含义,因为我只需要向其中添加内容以使其读取日期范围并缩小到一天。
我尝试添加日期范围 'Form Responses 1'!$E:$E
并让标准成为 B2
中填写的所需日期,但这是在读取范围内时间的精确匹配时这是行不通的,因为我不想让它读取时间。我想找到一个不需要每次都手动更新提交数据的解决方案。
我已经包含了一个示例 sheet here 所以任何想要尝试解决这个问题的人都可以更好地了解我正在使用的是什么。在审阅选项卡中,我当前的公式没有指定日期,旁边是相同的但试图指定日期。
提前谢谢你。我的脑子乱七八糟,所以我希望一切都有意义。
如果要包含指定日期的所有记录,必须使用 >=
和 <=
运算符。
像这样:
=SUMIFS('Form Responses 1'!$E:$E,
'Form Responses 1'!$B:$B, $A6,
'Form Responses 1'!$C:$C, $B,
'Form Responses 1'!$A:$A, ">="&$B,
'Form Responses 1'!$A:$A, "<="&$B+1)
除了 , you could also try the following QUERY 公式之外,因此您只需 一个公式即可获得所有内容,而不是 5.
=IFERROR({QUERY(A:E,"select B, sum(E) where not A='' and C='"&H2&"' group by B label B 'Runner Name', sum(E) 'Total Spend' ",1),
QUERY(A:E,"select sum(E) where not A='' and C='"&H2&"' and todate(A)=date '"&text(H1,"yyyy-mm-dd")&"' group by B label sum(E) 'Totals per day' ",1)},
"No data")
(请根据您的需要调整范围)
通过使用todate(A)
,我们从时间戳中提取日期值。
使用单个查询的最大优势是-因为您使用来自表单的数据-您的结果将随着新答案的出现而自动更新。
如果您需要更多信息,请随时询问。
我在单元格 A5 中的新 MK.Help 选项卡上留下了另一个对您有用的查询。
=ARRAYFORMULA(QUERY({INT('Form Responses 1'!A:A),'Form Responses 1'!B1:E},"select Col2,SUM(Col5) where Col1="&B1&" and Col3='"&B2&"' group by Col2 order by SUM(Col5) desc label SUM(Col5)'Total'"))
同意之前发帖人的观点,即查询是可行的方法,因为它会自动填充。它还允许您以任何您喜欢的顺序显示 table。我选择按总数排序,总数最高的排在最前面。
我有一个 sheet 链接到 google 表单,因此当有人提交表单时,信息会自动填充到 sheet 中,并带有时间戳,例如。 1/17/2020 17:26:16
。我试图根据多个标准对信息求和,一个是只提取一整天的数据,但公式也在读取时间,所以我一直得到 0。
例如,这里有一些数据
1/8/2020 17:38:49 Danny PM Beetlejuice on Broadway 1144
1/8/2020 17:38:49 Danny PM Oklahoma! on Broadway 1181
1/8/2020 17:38:49 Danny PM Oklahoma! on Broadway 1000.5
1/8/2020 12:47:18 Jeff PM To Kill a Mockingbird 1675
1/8/2020 12:48:19 Jeff PM Jagged Little Pill 2390
在另一个选项卡上,我试图计算每个人在这一天花费了多少钱。这个新标签正在查看一个人的班次和姓名以总结他们的支出:
=SUMIFS('Form Responses 1'!$E:$E,'Form Responses 1'!$D:$D,B,'Form Responses 1'!$B:$B,$A9,'Form Responses 1'!$C:$C,$B)
我认为您不需要知道当前代码中每一部分的含义,因为我只需要向其中添加内容以使其读取日期范围并缩小到一天。
我尝试添加日期范围 'Form Responses 1'!$E:$E
并让标准成为 B2
中填写的所需日期,但这是在读取范围内时间的精确匹配时这是行不通的,因为我不想让它读取时间。我想找到一个不需要每次都手动更新提交数据的解决方案。
我已经包含了一个示例 sheet here 所以任何想要尝试解决这个问题的人都可以更好地了解我正在使用的是什么。在审阅选项卡中,我当前的公式没有指定日期,旁边是相同的但试图指定日期。
提前谢谢你。我的脑子乱七八糟,所以我希望一切都有意义。
如果要包含指定日期的所有记录,必须使用 >=
和 <=
运算符。
像这样:
=SUMIFS('Form Responses 1'!$E:$E,
'Form Responses 1'!$B:$B, $A6,
'Form Responses 1'!$C:$C, $B,
'Form Responses 1'!$A:$A, ">="&$B,
'Form Responses 1'!$A:$A, "<="&$B+1)
除了
=IFERROR({QUERY(A:E,"select B, sum(E) where not A='' and C='"&H2&"' group by B label B 'Runner Name', sum(E) 'Total Spend' ",1),
QUERY(A:E,"select sum(E) where not A='' and C='"&H2&"' and todate(A)=date '"&text(H1,"yyyy-mm-dd")&"' group by B label sum(E) 'Totals per day' ",1)},
"No data")
(请根据您的需要调整范围)
通过使用todate(A)
,我们从时间戳中提取日期值。
使用单个查询的最大优势是-因为您使用来自表单的数据-您的结果将随着新答案的出现而自动更新。
如果您需要更多信息,请随时询问。
我在单元格 A5 中的新 MK.Help 选项卡上留下了另一个对您有用的查询。
=ARRAYFORMULA(QUERY({INT('Form Responses 1'!A:A),'Form Responses 1'!B1:E},"select Col2,SUM(Col5) where Col1="&B1&" and Col3='"&B2&"' group by Col2 order by SUM(Col5) desc label SUM(Col5)'Total'"))
同意之前发帖人的观点,即查询是可行的方法,因为它会自动填充。它还允许您以任何您喜欢的顺序显示 table。我选择按总数排序,总数最高的排在最前面。