簡體   English   中英

Google表格,排序功能

[英]Google sheets, sort function

我想通過Google表格中的腳本編輯器自動排序。 我的Google表格中有幾列:

+--------+------------+-------+--------+------------+
| Region |  Mag       | Comp  | Region |  Mag       |
+--------+------------+-------+--------+------------+
| A      | MIKA       | TRUE  | A      | MIKA       |
| B      | KALO       | FALSE | B      | NOKA       |
| C      | MINA       | FALSE | C      | South-East |
| D      | North      | TRUE  | D      | North      |
| B      | NOKA       | FALSE | B      | KALO       |
| C      | South-East | FALSE | C      | MINA       |
+--------+------------+-------+--------+------------+

我想將左側的兩列(Region,Mag)與右側的兩列(Region,Mag)進行匹配,所以最后我將得到我的比較列(其公式為=exact(string1,string2) )僅使用TRUE

我想要一種按鈕,這樣Comp右邊的兩列(Region,Mag)可以自行排序。

我有這個腳本,感謝@JPV

function onOpen() {
SpreadsheetApp.getUi().createMenu('Sort').addItem('Sort Col D and E', 'sort').addToUi();
}

function sort() {
var ss = SpreadsheetApp.getActiveSheet();
var srange = ss.getRange('A2:B7').getValues();
var trange = ss.getRange('D2:E7');
var trangeVal = trange.getValues();
var returnarr = [];
for (var i = 0, ilen = trangeVal.length; i < ilen; i++) {
    for (var j = 0, jlen = srange.length; j < jlen; j++) {
        if (trangeVal[i][0] == srange[j][0] && trangeVal[i][1] == srange[j][1]) {
            returnarr[j] = trangeVal[i];
        }
    }
}
trange.setValues(returnarr);
}

但似乎無法正常工作,並引發類似“無法將數組轉換為對象[] []”的錯誤

請幫忙! 再次感謝@JPV

好。 也許這個腳本會幫助您?

function onOpen() {
SpreadsheetApp.getUi().createMenu('Sort').addItem('Sort Col D and E', 'sort').addToUi();
}

function sort() {
var ss = SpreadsheetApp.getActiveSheet();
var srange = ss.getRange('A2:B7').getValues();
var trange = ss.getRange('D2:E7');
var trangeVal = trange.getValues();
var returnarr = [];
for (var i = 0, ilen = trangeVal.length; i < ilen; i++) {
    for (var j = 0, jlen = srange.length; j < jlen; j++) {
        if (trangeVal[i][0] == srange[j][0] && trangeVal[i][1] == srange[j][1]) {
            returnarr[j] = trangeVal[i];
        }
    }
}
trange.setValues(returnarr);
}

注意:僅當D&E中的值位於A&B中的某個位置時,此選項才起作用。 還請注意,他將覆蓋D&E中的值。

測試表在這里

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM