【问题标题】:Sort by price daily with Google Script within Google Sheets每天使用 Google 表格中的 Google 脚本按价格排序
【发布时间】:2017-03-25 03:38:04
【问题描述】:

我希望每天凌晨 1 点从外部来源将一些数据提取到 Google 表格中。进口产品的数量会有所不同。

然后我希望在数据上传完成后按价格对数据进行排序,这将是凌晨 1.05 左右。

我发现可以定时运行 Google 表格的功能。

我需要什么脚本来按价格对数据进行排序,所以每天早上运行脚本后最便宜的项目是第 2 行。

要在 Google 表格中手动执行此操作 - *突出显示第 2 行到 、数据、排序范围、按列 I 排序、A - Z

这将如何转化为函数?定时功能看起来很容易用作触发器(尽管设定时间不可行;似乎只有一个小时范围)

这是共享表

https://docs.google.com/spreadsheets/d/1hRW92xesCZzrTRU8DzrdJ_XtrQoJbbNhA3nVT452 apE/edit?usp=sharing

解决方案 - 感谢 Ed & Cooper

首先,手动冻结第一行。 (搜索冻结)https://support.google.com/docs/answer/54813?hl=en

function myFunction() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];

// Sorts the sheet by the column I - the ninth across - , in ascending order 
sheet.sort(9);
}

【问题讨论】:

  • 通过将正确答案标记为已接受的答案来记入正确答案

标签: javascript sorting google-apps-script google-sheets


【解决方案1】:

将此功能设置为在数据可用后一小时运行:

function sortPrice() {
  var ss=SpreadsheetApp.openById("1XHOlmI6LA4jvnh1YXossBrbrnIOdyRmvO2warz1vl9s")
  var s=ss.getSheetByName("4cat").activate()
  var lr =s.getLastRow()
  var lc= s.getLastColumn()
  var rng=s.getRange(2, 1, lr, lc)//get range to sort
  var sort= rng.sort({column: 9, ascending: true}) //sort on column I
}

【讨论】:

  • 项目触发器中没有准确的时间?唉,本可以尽可能快地完成数据排序,因为每日数据输入到应用程序中。现在将在凌晨 1 点之前导入数据,然后选择 1am-2am 触发槽。谢谢
  • 如果您当前下载数据的触发器是一个函数,请尝试在现有函数的末尾调用此函数。你无法设定一个准确的时间。我有一个晚上 10:00 的夜间触发器。我每天晚上 10 点 22 分跑步。为什么?我不知道。我确实从那个触发器运行了很多功能。
猜你喜欢
  • 1970-01-01
  • 2023-03-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-18
  • 2022-10-18
  • 1970-01-01
  • 2016-10-21
相关资源
最近更新 更多