Google Apps 脚本:如何根据唯一列成员扩展列?
Google Apps Script: How to expand columns based on unique column members?
我必须将 4 个唯一日期转置到另一个 sheet 中的 4 列中。另一个 sheet 只有两列,需要再添加 2 列以适应使用 insertColumns
.
的转置
如何仅使用 Google Apps 脚本实现此目的,其中脚本检查 sheet 是否有足够的列,如果没有则相应地插入它们?
function unique() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName("Sheet1");
var lrow = sheet.getLastRow();
var range = sheet.getRange(2, 1, lrow-1, 1).getValues();
var unique = [...new Set(range)]
Logger.log(unique.length); // Not returning unique length - 7.0
}
独特的日期
function unique() {
var ss = SpreadsheetApp.getActive();
var sh = ss.getSheetByName("Sheet0");
var vs = sh.getRange(2, 1, sh.getLastRow() - 1).getValues().flat().map(d => d.valueOf());
var uvs = [...new Set(vs)].map(v => new Date(v));
if(sh.getMaxColumns() < uvs.length) {
sh.insertColumnsAfter(sh.getLastColumn(), uvs.length - sh.getLastColumn() - 1)
}
sh.clearContents();
sh.getRange(2,1,1,uvs.length).setValues([uvs]);
}
之前:
Date
1/1/2022
1/2/2022
1/3/2022
1/4/2022
1/4/2022
1/4/2022
1/4/2022
1/4/2022
1/4/2022
1/4/2022
之后:
1/1/2022
1/2/2022
1/3/2022
1/4/2022
我必须将 4 个唯一日期转置到另一个 sheet 中的 4 列中。另一个 sheet 只有两列,需要再添加 2 列以适应使用 insertColumns
.
如何仅使用 Google Apps 脚本实现此目的,其中脚本检查 sheet 是否有足够的列,如果没有则相应地插入它们?
function unique() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName("Sheet1");
var lrow = sheet.getLastRow();
var range = sheet.getRange(2, 1, lrow-1, 1).getValues();
var unique = [...new Set(range)]
Logger.log(unique.length); // Not returning unique length - 7.0
}
独特的日期
function unique() {
var ss = SpreadsheetApp.getActive();
var sh = ss.getSheetByName("Sheet0");
var vs = sh.getRange(2, 1, sh.getLastRow() - 1).getValues().flat().map(d => d.valueOf());
var uvs = [...new Set(vs)].map(v => new Date(v));
if(sh.getMaxColumns() < uvs.length) {
sh.insertColumnsAfter(sh.getLastColumn(), uvs.length - sh.getLastColumn() - 1)
}
sh.clearContents();
sh.getRange(2,1,1,uvs.length).setValues([uvs]);
}
之前:
Date |
---|
1/1/2022 |
1/2/2022 |
1/3/2022 |
1/4/2022 |
1/4/2022 |
1/4/2022 |
1/4/2022 |
1/4/2022 |
1/4/2022 |
1/4/2022 |
之后:
1/1/2022 | 1/2/2022 | 1/3/2022 | 1/4/2022 |