6

我想在单元格中输入值后立即对 Google 表格中的值进行自动排序。下面是一个例子:

| S. No. | Task   | Value |
| 1      | Task 1 | $$    |
| 2      | Task 2 | $$$   |
| 3      | Task 3 | $$$$  |
|        |        |       |

在上表中,只要我输入任务 3 的值字段,我希望它转到顶部并且第一个应该结束。我不想通过每次排序来手动实现这一点。

4

2 回答 2

1

与 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 排序。

于 2015-09-25T21:21:53.053 回答
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

于 2017-01-26T14:00:35.340 回答