Sorting 如何使数据行始终位于电子表格的顶部而不进行筛选
我正在做一个项目,需要一些帮助。我想知道是否有一种方法可以让A3在A2中的数据删除后自动移动到A2?例如,如果A3、A5和A6中有数据,但A1和A4为空,则A3、A5和A6中的信息将向上移动。我的另一个问题是,我是否可以根据时间戳对数据进行排序,以便最早的数据是第一个?我基本上总是希望数据位于前10列,这样滚动就少了。非常感谢您的帮助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
此脚本将解决您的两个问题:
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}]);
}