首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >自动替换Google工作表条目

自动替换Google工作表条目
EN

Web Applications用户
提问于 2021-11-01 22:51:45
回答 1查看 97关注 0票数 0

我正在尝试创建一个Google表,以便在一个应用程序或游戏引擎中引用,它将只显示最近的15个条目。关于更多的上下文,我创建了一个带有连接到工作表的表单的网站。游戏中将有一个变量分配给表格的单元格。由于这个原因,我想保留相同的15个单元格,但是当新条目提交时,它们中的信息会更新和更改。

因此,在第16项,第一行将自动替换为该信息。第17栏将取代第2排..。第31条将再次取代第1条等因此,我希望将行数限制在15行,并且总是按顺序替换当前的条目。

网页上的信息:

  • 提交日期/时间(只有当方法能够引用它,即要删除的最老条目时才有用)
  • 城市(游戏中的变量所需的实际信息)

我对编码相当陌生,我的搜索也没有多大成效。所有的帮助将是非常感谢,即使它的链接到更长的书籍或教程,我可能需要。

EN

回答 1

Web Applications用户

回答已采纳

发布于 2021-11-02 15:03:02

好吧,鉴于你的补充意见..。

首先,添加一个新的工作表(例如,Sheet2)。

在新工作表的单元格A1中,放置以下公式:

=ArrayFormula({Sheet1!B1; QUERY(QUERY({ROW(Sheet1!B2:B),ARRAY_CONSTRAIN(FLATTEN(TRANSPOSE(SPLIT(REPT(SEQUENCE(15)&"~",ROUNDUP(ROWS(Sheet1!B2:B)/15)),"~",1,1))),ROWS(Sheet1!B2:B),1),Sheet1!B2:B},"Select Col2, Col3 WHERE Col3 Is Not Null ORDER BY Col1 Desc LIMIT 15"),"Select Col2 ORDER BY Col1")})

ArrayFormula(...)意味着将考虑和处理整个范围。

最外层的花括号{ }形成一个虚拟数组,由您的Col-B头以及您想要的结果组成。虚拟数组中的分号意味着“将下一部分放在下面”(即将结果放在标题下)。

其余的公式起“魔法”的作用。

很难详细解释这个魔术,但本质上是这样的。

实际上,形成了三列。

  • 第一个包含来自ROW!B2:B的Sheet1数字。
  • 第二个包含数字1-15的重复SEQUENCE。整个公式部分是形成重复序列( ARRAY_CONSTRAIN(FLATTEN(TRANSPOSE(SPLIT(REPT(SEQUENCE(15)&"~",ROUNDUP(ROWS(B2:B)/15)),"~",1,1))),ROWS(B2:B),1) )所必需的,它只在外部ArrayFormula(...)包装中起作用。
  • 第三个包含来自Sheet1!B2:B的实际数据。

最内部的QUERY清除了该三列虚拟数组中尚未存在数据的所有行,按行号对剩余的结果进行反向排序,去掉第一行号列(随后不再需要),并将LIMITs返回到15行。

这现在将底部的15个条目保留在一个两列数组中:第一列是那些重复SEQUENCE数字1-15的条目,从上述QUERY在适当位置的截止点开始。例如,这一顺序可能是:

10、9、8、7、6、5、4、3、2、1、15、14、13、12、11

最外层的QUERY ORDERs将这些数字去掉,然后去掉第一列的数字(这也不再需要).

..。只按要求的顺序保留数据(至少如果我清楚地理解了您的最终目标)。

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

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

复制
相关文章

相似问题

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