按单元格中倒数第二个字母排序数据,然后按第一个 - Google Apps Script / Google Sheets

Sort Data By the 2nd Last Letter in a cell then the first- Google Apps Script / Google Sheets

在显示的图像中(突出显示亮绿色 G:H),我希望根据倒数第二个字母而不是第一个字母对数据进行排序。这意味着 F01A1 在列表中的位置应该比 E09C1 高,然后在 A 列中被选中。

如何让数据按第 G:H 列单元格中倒数第二个字母排序?

尝试第 1 行:

=ARRAYFORMULA(QUERY({G:H, RIGHT(H:H, 2)}, "select Col1,Col2 order by Col3", 0))

既然您提到了 Google Apps 脚本,您可以使用以下 custom function 对数据进行排序:

function CUSTOMSORT(input) {
  input.sort(function(a, b) {
    if (a[0].slice(-2) < b[0].slice(-2)) {
      return -1;
    } else if (a[0].slice(-2) > b[0].slice(-2)) {
      return 1;
    }
    return 0;    
  })
  return input;
}

定义后,您可以像使用任何工作表内置函数一样使用此函数。例如,如果要对 A1:A10 中的数据进行排序,只需像这样调用函数:

=CUSTOMSORT(A1:A10)

参考: