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