问题描述
我正在做一个项目,需要一些帮助。我想知道是否有办法在删除 A2 中的数据后让 A3 自动移动到 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
}
更新:
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}]);
}