Google 工作表 - 查询 - 运行 低于动态结果总数
Google Sheets - Query - Running Total below dynamic results
Wondering if there is a witty way to add a Total to the last row +1 of
a Query result.
See Sheet 'Lookup' for a static example of what I am asking for.
I don't know if there is a way to have a hidden column that calculates
transposed only under the last row of a query, or if there is a smart
way to work Query for this answer.
所有的答案都很棒。每个在其用例中都非常有用。
Макс Махров 使用查询语句得到答案。
现在我不想用额外的 sheet 来保存总数,所以我在顶部添加了一行,我可以简单地隐藏它并使用这个公式:
query({Orders!A:E;A1:E1},"select Col1, Col3, Col4 where Col2 = '"&C3&"' order by Col4",1)
我唯一的问题是想弄清楚如何将 TEXT 添加到底行,它似乎只需要数字输入。
我该如何解决这个问题?我出了什么问题?
谢谢!
火星
这是一种方法:
- 将 TOTAL 放在第 1000 行的下方
- Select 范围 A3:C999。 Select data > filter 创建过滤器
- Select C3、设置过滤器隐藏所有空格
第二种方法是限制查询结果只显示前 8 个结果:
- 将您的查询更改为
=query(Orders!A:E, "select A, C, D where B = '"&C2&"' order by D desc limit 8",1)
它将对 D 列进行反向排序(从大到大),并将行限制设置为 8。
- 将 TOTAL 的公式更改为
=sumif(Orders!B:B,C2,Orders!D:D)
诀窍是进行第二次查询并计算所选产品的总数。
行动计划:
- 添加带有查询的新 sheet,如下所示:
=QUERY(Orders!A:E,"select B, 0, sum(D) where B like '"&Lookup!C2&"' Group by B",0)
- 准备在查找中组合数据的数组公式sheet:
= ArrayFormula({Importrange(1),Importrange(2)})
注意列数必须保持相同。
- 编辑查询,使其使用
Col1, Col2, Col3...
而不是 A, B, C...
- 使单词 'total' 可见而不是零。设置数字格式:
0;0;total
设置范围 B9:B 查找 sheet
- 在查找 sheet.
时使用公式 =and($B4 =0,isnumber($B4))
为范围 A4:C 创建条件格式
看来任务已经完成了。
希望对您有所帮助!
在与查询相邻的列中尝试使用此公式:
=ArrayFormula({$C:offset($C,count($C:$C),0,1,1);sum($C:offset($C,count($C:$C),0,1,1))})
它会复制您的值列(我还没有想出解决办法),然后将总计添加到该列的底部,并根据您的查询范围动态变化。
有趣的挑战!它让旧的灰质开始转动……;)
谢谢,
本
Wondering if there is a witty way to add a Total to the last row +1 of a Query result.
See Sheet 'Lookup' for a static example of what I am asking for.
I don't know if there is a way to have a hidden column that calculates transposed only under the last row of a query, or if there is a smart way to work Query for this answer.
所有的答案都很棒。每个在其用例中都非常有用。
Макс Махров 使用查询语句得到答案。
现在我不想用额外的 sheet 来保存总数,所以我在顶部添加了一行,我可以简单地隐藏它并使用这个公式:
query({Orders!A:E;A1:E1},"select Col1, Col3, Col4 where Col2 = '"&C3&"' order by Col4",1)
我唯一的问题是想弄清楚如何将 TEXT 添加到底行,它似乎只需要数字输入。
我该如何解决这个问题?我出了什么问题?
谢谢!
火星
这是一种方法:
- 将 TOTAL 放在第 1000 行的下方
- Select 范围 A3:C999。 Select data > filter 创建过滤器
- Select C3、设置过滤器隐藏所有空格
第二种方法是限制查询结果只显示前 8 个结果:
- 将您的查询更改为
=query(Orders!A:E, "select A, C, D where B = '"&C2&"' order by D desc limit 8",1)
它将对 D 列进行反向排序(从大到大),并将行限制设置为 8。 - 将 TOTAL 的公式更改为
=sumif(Orders!B:B,C2,Orders!D:D)
诀窍是进行第二次查询并计算所选产品的总数。
行动计划:
- 添加带有查询的新 sheet,如下所示:
=QUERY(Orders!A:E,"select B, 0, sum(D) where B like '"&Lookup!C2&"' Group by B",0)
- 准备在查找中组合数据的数组公式sheet:
= ArrayFormula({Importrange(1),Importrange(2)})
注意列数必须保持相同。 - 编辑查询,使其使用
Col1, Col2, Col3...
而不是A, B, C...
- 使单词 'total' 可见而不是零。设置数字格式:
0;0;total
设置范围 B9:B 查找 sheet - 在查找 sheet. 时使用公式
=and($B4 =0,isnumber($B4))
为范围 A4:C 创建条件格式
看来任务已经完成了。
希望对您有所帮助!
在与查询相邻的列中尝试使用此公式:
=ArrayFormula({$C:offset($C,count($C:$C),0,1,1);sum($C:offset($C,count($C:$C),0,1,1))})
它会复制您的值列(我还没有想出解决办法),然后将总计添加到该列的底部,并根据您的查询范围动态变化。
有趣的挑战!它让旧的灰质开始转动……;)
谢谢, 本