Google apps script 如何让谷歌表重新排序的基础上排名

Google apps script 如何让谷歌表重新排序的基础上排名,google-apps-script,google-sheets-formula,Google Apps Script,Google Sheets Formula,我已经创建了一个谷歌表单,根据从今天到最后一次“事件”发生日期的差异,它有一个“天自”的排名 这些天自动更新,但我想要的是有一个排名系统,如果有人的最后一次事件的日期发生变化,谷歌表将重新排序 这可能吗?我已经附上下面的链接,但它是一个非常简单的公式到现在为止 D行:=today()-C3 我相信你的目标如下 当用户编辑单元格“C3:C8”时,您希望使用列“C”自动排序数据。 数据表为单元格“A3:D8” 从你的谷歌应用程序脚本的标签中,我认为你的方向包括使用谷歌应用程序脚本 在这种情

我已经创建了一个谷歌表单,根据从今天到最后一次“事件”发生日期的差异,它有一个“天自”的排名

这些天自动更新,但我想要的是有一个排名系统,如果有人的最后一次事件的日期发生变化,谷歌表将重新排序

这可能吗?我已经附上下面的链接,但它是一个非常简单的公式到现在为止

D行:
=today()-C3


我相信你的目标如下

  • 当用户编辑单元格“C3:C8”时,您希望使用列“C”自动排序数据。
    • 数据表为单元格“A3:D8”
  • 从你的
    谷歌应用程序脚本的标签中,我认为你的方向包括使用谷歌应用程序脚本
在这种情况下,我建议使用OnEdit简单触发器来实现您的目标。示例脚本如下所示

示例脚本: 请将以下脚本复制并粘贴到电子表格的容器绑定脚本并保存

function onEdit(e) {
  const range = e.range;
  const sheet = range.getSheet();
  if (sheet.getSheetName() == "Sheet1" && range.getRow() >= 3 && range.getRow() <= 8 && range.getColumn() == 3) {
    sheet.getRange("A3:D8").sort({column: 3, ascending: true});
  }
}
  •   sheet.getRange("A3:D8").sort({column: 4, ascending: false});
    
  • 参考资料:

    如果您不想使用Google Apps脚本,可以复制此表(例如在sheet2中),并在sort()函数中复制其内容。 假设你把
    =排序(Sheet1!A3:D8,4,0)
    在新
    Sheet2的
    A3
    单元格中

    我知道这不完全是目标

      sheet.getRange("A3:D8").sort({column: 4, ascending: false});