Sorting 如何使数据行始终位于电子表格的顶部而不进行筛选

Sorting 如何使数据行始终位于电子表格的顶部而不进行筛选,sorting,google-apps-script,google-sheets,scripting,timestamp,Sorting,Google Apps Script,Google Sheets,Scripting,Timestamp,我正在做一个项目,需要一些帮助。我想知道是否有一种方法可以让A3在A2中的数据删除后自动移动到A2?例如,如果A3、A5和A6中有数据,但A1和A4为空,则A3、A5和A6中的信息将向上移动。我的另一个问题是,我是否可以根据时间戳对数据进行排序,以便最早的数据是第一个?我基本上总是希望数据位于前10列,这样滚动就少了。非常感谢您的帮助 此脚本将解决您的两个问题: var ss = SpreadsheetApp.getActiveSpreadsheet(); var sheet = ss.get

我正在做一个项目,需要一些帮助。我想知道是否有一种方法可以让A3在A2中的数据删除后自动移动到A2?例如,如果A3、A5和A6中有数据,但A1和A4为空,则A3、A5和A6中的信息将向上移动。我的另一个问题是,我是否可以根据时间戳对数据进行排序,以便最早的数据是第一个?我基本上总是希望数据位于前10列,这样滚动就少了。非常感谢您的帮助


此脚本将解决您的两个问题:

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName("Sheet1");           // SHEET NAME
var range = sheet.getRange("A2:I");                // RANGE TO BE SORTED

function onEdit(e)  {
  range.sort([{column: 8, ascending: false}]);     // 8th COLUMN = H COLUMN
}

更新:
你可以用Scription来做这个你能给我举个例子吗?我非常熟悉google sheets,一直在搜索帮助,但找不到任何示例感谢帮助。范围需要是最后一行还是只能是I?而且,它仍然不能将A3转换为A2,所以我仍然在寻找关于如何实现这一点的信息和提示。再次感谢您花时间帮助meplayer0,输入代码后的第二个图像就是现在的样子。它仍然没有对第8列时间戳进行排序。您认为这是因为时间戳是在脚本附带的列中生成的吗?我不知道我们是否能覆盖这一切都很好!!谢谢你,我真的很感激你抽出时间来帮助我!!因此,多人可以授权脚本
function onEdit(e){
 script1(e);
 script2(e);
 }

function script1(e){
 var row = e.range.getRow();
 var col = e.range.getColumn();
  if(col === 1 && row > 1 && e.source.getActiveSheet().getName() === "Kanban"){
   e.source.getActiveSheet().getRange(row,8).setValue(new Date());
   }
  }

function script2(e){
 var ss = SpreadsheetApp.getActiveSpreadsheet();
 var sheet = ss.getSheetByName("Kanban");          
 var range = sheet.getRange("A2:I");
  range.sort([{column: 8, ascending: false}]);   
 }