[我当前的Google表格的工作方式]我有一个表,该表具有按顺序排列的以下标题,并且包含各种数据。
日期,票证ID,票证链接,票证类型,类别,子类别,状态,客户
[目标]我希望能够将所有状态显示为“已完成”以外的所有行为顶部。并同时使用“日期”列对整个表格进行排序。因此,我希望这是连续的,并希望带有“完成”“状态”的行全部位于具有其余状态的行之下。
[问题是什么]我构建了以下脚本来对数据进行排序,但是存在两个主要问题。
// Global veriables
var app = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Status");
var dateColumn = 1;
var statusColumn = 7;
var lastRow = app.getLastRow();
var lastColumn = app.getLastColumn();
function dynamicDataSorting() {
var sortingRange = app.getRange(16, 1, lastRow - 1, lastColumn)
sortingRange.sort([{column: dateColumn, ascending: false}, {column: statusColumn, ascending: false}]);
}
您非常接近最终解决方案。这就是我的处理方式:
statusAux
使用以下公式创建辅助列():=if(C2="finished",0,1)
其中columnC
是您的statusColumn
。您可以使用hideColumn(colmun),hideColumns(columnIndex)或从网络中隐藏它。
function onEdit(e) {
range.sort([{column: statusAux, ascending: false}, {column: dateColumn, ascending: true}]);
}
您可以定义range
函数的内部或外部,它具有相同的效果。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句