当前位置: 首页 > 知识库问答 >
问题:

google sheets onChange触发器上的自动排序脚本

常英纵
2023-03-14

有人能帮我吗,这是关于谷歌表格的自动排序脚本?实际上,我不熟悉脚本,但我要做的是自动排序表区域中列A上输入的日期。我找到了一个通用的脚本,下面我尝试了我的谷歌表,它实际上是在同一张表上手动编辑。但是,我的表范围内的值是我的(索引,匹配)公式从另一张表的结果,所以每当从另一张表输入新值时,它不会自动排序。

以下是我在谷歌表单上尝试的示例脚本:

function onEdit(event){
  var sheet = event.source.getActiveSheet();

  var editedCell = sheet.getActiveCell();

  var columnToSortBy = 1;
  var tableRange = "A2:J61"; // What to sort.
  if(editedCell.getColumn() == columnToSortBy){   
    var range = sheet.getRange(tableRange);
    range.sort( { column : columnToSortBy, ascending: true});
  }
}

谁能指导我修改这个脚本,请。。。

这里的链接到示例谷歌表,我试图工作:

https://docs.google.com/a/alarmpromotions.org/spreadsheets/d/1IHPwNpAklt_5R6OyxTHMxMbXKkT4WsPBk20saUPbxgw/edit?usp=sharing

共有1个答案

子车鸿运
2023-03-14

当触发第二张工作表时,使用辅助功能尝试此OneEdit以更新第一张工作表。

function onEdit(){
  var sheet = SpreadsheetApp.getActiveSheet(); 
  var editedCell = sheet.getActiveCell();

  var columnToSortBy = 1;
  var tableRange = "A2:J61"; // What to sort.

  if(editedCell.getColumn() == columnToSortBy){   
    var range = sheet.getRange(tableRange);
    range.sort( { column : columnToSortBy, ascending: true});

    var ss = SpreadsheetApp.getActiveSpreadsheet();
    if(ss.getSheets()[1] == sheet ){
       sortFirstSheet();
    }
  }
}


function sortFirstSheet(){
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  SpreadsheetApp.setActiveSheet(ss.getSheets()[0]);

  var sheet = SpreadsheetApp.getActiveSheet();
  var range = sheet.getRange("A2:J61");
  range.sort( { column : columnToSortBy, ascending: true});
}

看看这些API

 类似资料:
  • 因此,我正在Glassfish 3.1上运行Java EAR应用程序。我在我的EJB模块中创建了一个带有单个注释计时器函数的无状态会话bean。我没有确切的代码,但它看起来像这样: 当我启动Glassfish时,调试信息似乎表明它识别EJB计时器注释,并且bean的构造函数方法在启动时确实被调用。但timer方法本身似乎从未在任何时候被触发。 还有其他人有过这个问题吗?是不是我缺少了其他配置? 提

  • 我有这个脚本: HTML中的用法: 由于某些原因,它的工作,如果页面重新加载一半,但不,它没有开火,在它工作之前,所以我不知道发生了什么。我在wordpress网站上使用这个。

  • 我正在使用Sonarqube6.7,开发人员的版本,我在本地机器上通过声纳扫描器msbuild运行分析。有什么方法可以:1)在代码签入时自动触发此分析,而不使用声纳扫描仪?2)我可以通过邮件获得分析报告吗?我必须为每一个这些做什么?提前谢谢!

  • 我是编程新手,所以请耐心听我说。我正在编写一个脚本,除其他外,在编辑时获取单元格值,然后在其他各种范围内的一系列单元格下划线。给定的单元格上有验证,因此用户只能从下拉框的一系列选项中进行选择。 据我所知,验证函数工作正常,但是当我通过选择一个下拉框选项来编辑指定的单元格时,什么都不会发生。我需要调用函数吗?我已经阅读了api的参考资料,并在stackoverflow和网络上搜索了帮助,但是我被卡住

  • 问题内容: 在oracle中,我可以指定列,这将引发触发器的触发: 现在,我想执行以下操作:当 只 更新 一 列时,我不希望触发触发器。这怎么可能? 我可以列出除那一列之外的所有列,该列不应引起触发器的触发。对于具有许多列的表而言,这非常麻烦。 另一种方法是使用像这样的UPDATING函数: 但是,如果我立即更改了COL1 和 COL3,则该语句的计算结果为false。那不是我想要的,因为我只想更

  • 我一直在努力对我的数据进行自动排序(根据第二行第一列数据进行升序),我通过在线搜索找到了一些提示,但遇到了一个错误,似乎我无法通过网络找到答案。 下面是一个场景: 我有两张床单,一张 这是床单 这是第二张 请注意,两张表中的列lastname和code相同,不同之处在于列的性别(在下拉列表中格式化) 我发现一个脚本似乎可以工作,但我不能完全正常工作,下面是我运行脚本后的输出。 注意红色框中的列,似