如何在不过滤的情况下始终将数据行保留在电子表格的顶部
How to keep rows with data always at the top of the spreadsheet without filtering
我正在做一个项目,需要一些帮助。我想知道是否有一种方法可以在删除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}]);
}
我正在做一个项目,需要一些帮助。我想知道是否有一种方法可以在删除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}]);
}