例如,我想按 J 行中的點重新排序 EDIT B3:J6、B9:J12、B15:J18、B21:J24、B27:J30、B33:J36、B39:J42 和 B45:J48 上的范圍。
我怎樣才能做到這一點?
表:https : //docs.google.com/spreadsheets/d/1AguSXhSEcsXBMV8ty_MqWdb16zJtzuybXXH3FQBZkWA/edit#gid=1473685733
uj5u.com熱心網友回復:
我相信你的目標如下。
- 您想按電子表格中的“J”列對 B3:J6、B9:J12、B15:J18、B21:J24、B27:J30、B33:J36、B39:J42 和 B45:J48 的范圍進行排序。
在這種情況下,以下示例腳本如何?
示例腳本:
function myFunction() {
const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('###SheetName###'); // Please set the sheet name here.
const a1Notations = ["B3:J6", "B9:J12", "B15:J18", "B21:J24", "B27:J30", "B33:J36", "B39:J42", "B45:J48"];
const ranges = sheet.getRangeList(a1Notations).getRanges();
const formatRanges = a1Notations.map(r => r.replace(/^./, "J"));
sheet.getRangeList(formatRanges).setNumberFormat("0");
ranges.forEach(r => r.sort({ column: r.getLastColumn(), ascending: true }));
sheet.getRangeList(formatRanges).setNumberFormat("@");
}
參考:
- forEach()
- 排序(sortSpecObj)
- setNumberFormat(numberFormat)
uj5u.com熱心網友回復:
通過范圍串列排序
function myfunction( ) {
const ss = SpreadsheetApp.openById("ssid");
const sh = ss.getSheetByName('Sheet0');
const rgl = ss.getRangeList(['B3:J6', 'B9:J12', 'B15:J18', 'B21:J24', 'B27:J30', 'B33:J36', 'B39:J42', 'B45:J48']);
//const rgl = sh.getRangeList(['B3:J6', 'B9:J12', 'B15:J18', 'B21:J24', 'B27:J30', 'B33:J36', 'B39:J42', 'B45:J48']);//You can also do it on a sheet
rgl.getRanges().forEach(r => {
let col = r.getColumn();
r.sort({column: col,sortAscending:true})
});
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/389314.html
下一篇:根據單元格值插入或洗掉時間戳
