sorting - 如何在不过滤的情况下将包含数据的行始终保留在电子表格的顶部
问题描述
我正在做一个项目,需要一些帮助。我想知道是否有一种方法可以在删除 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}]);
}
推荐阅读
- javascript - 如何使用 javascript 验证 ical ( iCalendar ) 文件是否有效?
- c++ - 在 Eigen 中置换矩阵的列
- leaflet - 如何以编程方式开始拖动标记(传单)
- jquery - Jquery/Ajax 未正确发送序列化数据
- java - 如何将 ArrayList 从 Activity 发送到另一个?
- tfs - 在 TFS 2015 构建中找不到 SourceFolder
- firebase - 无法更改默认项目以在 Firebase 托管上部署我的项目
- javascript - 使用 react-native 仅禁用嵌套活动文本框中的发送按钮
- c# - 如何将 .NET C# 中的结构分配给 Matlab 中的 MWStructArray?
- java - 如何在java中将句子拆分为单词和标点符号