首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Google :如何查询直到达到特定的金额?

Google :如何查询直到达到特定的金额?
EN

Web Applications用户
提问于 2020-10-14 23:31:39
回答 1查看 359关注 0票数 1

我有一个包含大量数据的表,但是为了保持这个简单,假设A列有一个乘积,B列有一个日期,而C列有一个整数,可以是空的,1,或者大于1的整数:

代码语言:javascript
复制
Product  Date      # Sold
Thing1   2020-9-9       1
Thing2   2020-9-9       2
Thing3   2020-9-9       3
Thing1   2020-8-8       1
Thing2   2020-8-8       2
Thing3   2020-8-8       1
Thing1   2020-7-7       2

我需要找出我出售该物品的第三次最后一次的日期:

代码语言:javascript
复制
Product  Turn 3 Date
Thing1   2020-7-7
Thing2   2020-8-8
Thing3   2020-9-9

请注意,由于其他原因,我最终可能会在第二个表的每个单元格中得到一个查询,因此它不需要比以下内容更复杂:

=query(Table1!A1:C,"Select min(B) where A='"&A2&"' limit X")

其中,"X“将如何将其限制在运行总数为3。

提前感谢您的任何想法!

EN

回答 1

Web Applications用户

回答已采纳

发布于 2020-10-23 03:39:15

我终于解决了这个问题。

解决方案包括首先创建另一个列,其中包含每个产品的累计销售额。利用上述数据:

代码语言:javascript
复制
Product  Date      # Sold   Cumulative
Thing1   2020-9-9       1   1
Thing2   2020-9-9       2   2
Thing3   2020-9-9       3   3
Thing1   2020-8-8       1   2
Thing2   2020-8-8       2   4
Thing3   2020-8-8       1   4
Thing1   2020-7-7       2   3

累积列的公式如下所示:

代码语言:javascript
复制
 =sumproduct(--($A$2:$A=$A2)*--($B$2:$B>=$B2),$C$2:$C)

--具有将布尔值转换为数字的效果.*成为合乎逻辑的和。和积实质上是从它的参数中乘以矩阵。

因此,如果列A中的内容与单元格A2 ($A$2:$A=$A2)中的内容相同,且日期大于该行上的日期,则第一个参数为1,并乘以该行上出售的东西的数量。但是,这个计算正在查看每一行上的所有其他行,因此我可以想象大型数据卷可能无法很好地工作。

总之,一旦我们有了累积栏,就可以很简单地查询第三项最后一项的销售日期:

代码语言:javascript
复制
=QUERY($A$2:$D,"Select B where A='"&A2&"' and D>3 Order By B desc Limit 1")

到目前为止都很有魅力!

票数 0
EN
页面原文内容由Web Applications提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://webapps.stackexchange.com/questions/147889

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档