【问题标题】:Counting rows in a Google sheets script计算 Google 表格脚本中的行数
【发布时间】:2023-03-12 00:26:01
【问题描述】:

我正在构建一个包含日期和食物列的菜单系统。屏幕将有一个 [工作日期] 单元格,用于控制屏幕上显示的行。

当 [工作日期] 更改时,脚本应该运行并且:

  • 计算工作表上日期与 [工作日期] 匹配的行数
  • 计算匹配日期和空白食物单元格的行数
  • 添加足够的填满日期的行来填满工作表屏幕
  • 如果需要,添加额外的行以允许通过滚动屏幕进行额外输入
  • 对所有行排序
  • 滚动工作表屏幕,使所选日期的第一行位于顶部 当用户更改[选定日期]时,这一切都会自动发生。]

我对脚本工作完全陌生,最初认为我可以使用 dcount 函数来获取计数。我现在相信只能从那里使用工作表侧功能。我希望在脚本中需要选择一系列数据并循环遍历它以获取计数。 我很确定我最终可以解决这个问题,但如果有人能给我一些指点,我真的会受益。

提前致谢 - 乔

【问题讨论】:

    标签: google-apps-script


    【解决方案1】:

    对于整个过程,您需要在每次编辑工作表时使用onEdit 触发器来执行一个函数,并使用它的event 信息在[工作日期] 单元格是已编辑的单元格时有条件地运行代码.我会使用限制较少的触发器的installable 版本。

    对于您想要实现的所有操作,您必须使用 SpreadsheetApp 方法。

    1 和 2) 从 Spreadsheet 对象创建一个 TextFinder 对象并将其设置为进行搜索。设置文本查找器的范围时,请避免使用 this 版本的 getRange 方法,否则可能会引发错误。

    3 和 4) 使用insertRows 方法,您可以将行插入Sheet 对象,然后使用其getRangesetRange 方法设置值。当用户滚动视图时,没有可用于运行函数的触发器。

    5) 您可以使用sort 方法。或者获取范围值,使用 JavaScript 方法对它们进行排序,然后在范围内设置有序数组。

    6) 您可以使用 Range 对象的 activate 方法,它将焦点放在范围单元格中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-01-08
      • 1970-01-01
      • 1970-01-01
      • 2018-07-10
      • 1970-01-01
      • 2019-08-27
      • 2019-04-09
      • 1970-01-01
      相关资源
      最近更新 更多