首页 > 解决方案 > 从 Google 电子表格的下拉列表中选择多个值并按字母顺序打印

问题描述

我正在关注此链接Selecting Multiple Values from a Dropdown List in Google Spreadsheet,它运行良好。例如,如果我有三个值的下拉菜单,如“红色、黑色、绿色”,并且我选择“红色和黑色”,它会完美地打印红色和黑色,现在如果我选择“黑色和红色”,它会分别打印。现在的问题是,如果我在电子表格中过滤此列,这些“红色和黑色”、“黑色和红色”将被视为没有意义的单独值,因为两者都是相同的。如果我以任何方式选择它应该按字母顺序打印,怎么办?有什么线索吗?谢谢。

标签: javascriptgoogle-apps-scriptgoogle-sheets

解决方案


这是可能的解决方案。

您可以将此函数添加到multi-select.gs文件末尾:

function sort_contents() {
  var range = SpreadsheetApp.getActiveRange();
  var values = range.getValues();
  var sorted_values = values.map(row => [row[0].split(',').sort().join(',')]);
  range.setValues(sorted_values);
}

将此函数添加到dialog.html文件中,在函数之后function reset() {...}

function sort_contents() {
  google.script.run.withSuccessHandler(x=>{}).sort_contents()
}

并在中添加一个按钮dialog.html

<input type="button" value="Sort" onclick="sort_contents()" />

之后,您将拥有“排序”按钮,该按钮将按字母顺序对所选单元格(和单元格,您可以选择多个单元格)的内容进行排序。因此,您可以随时将“红、黑”分类为“黑、红”。

在此处输入图像描述


推荐阅读