我想在单元格中输入值后立即对 Google 表格中的值进行自动排序。下面是一个例子:
| S. No. | Task | Value |
| 1 | Task 1 | $$ |
| 2 | Task 2 | $$$ |
| 3 | Task 3 | $$$$ |
| | | |
在上表中,只要我输入任务 3 的值字段,我希望它转到顶部并且第一个应该结束。我不想通过每次排序来手动实现这一点。
我想在单元格中输入值后立即对 Google 表格中的值进行自动排序。下面是一个例子:
| S. No. | Task | Value |
| 1 | Task 1 | $$ |
| 2 | Task 2 | $$$ |
| 3 | Task 3 | $$$$ |
| | | |
在上表中,只要我输入任务 3 的值字段,我希望它转到顶部并且第一个应该结束。我不想通过每次排序来手动实现这一点。
与 Chris Hick 的建议类似,您可以按任意顺序输入您的数据,并根据需要进行排序。由于您的示例看起来井井有条(升序),我假设您希望它按降序排列(按S. No.
)并且在 A1 中:
=query(A:C,"Select * where A is not NULL order by A desc")
9
在 A5和 A6 中添加几个条目,8
结果列表将按 9、8、3、2、1 排序。
您可以使用脚本自动对表格进行排序。为此,请转到工具 > 脚本编辑器。这将打开一个新窗口。
删除您看到的代码并将以下内容粘贴到:
function onEdit(event) {
var sh = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var cellColumn = sh.getActiveRange().getColumnIndex();
var currentSheet = sh.getName();
if ((cellColumn == 3) && currentSheet == "enter sheet name here") {
var range = sh.getRange("A2:C");
range.sort({column:2, ascending:false});
}
}
您需要将“在此处输入工作表名称”更改为要排序的工作表名称。确保留下引号。
如果要更改排序以使其升序,请将最后一行从
ascending:false
至
ascending:true
如果要更改已排序数据的范围,则可以在上面的行中执行此操作。目前它被设置为对范围进行排序A2:C
。