Google表格脚本帮助:复制/粘贴值+清除数据+合并行(保留唯一值)

时间:2018-10-02 17:08:34

标签: google-apps-script google-sheets

我的公司已转向管理Google表格中的销售线索生成,我们正在努力提高工作表内流程的效率。这是一个示例工作表:https://docs.google.com/spreadsheets/d/1MrJiHDd7MUXp9eWspMR8gqjA_fBIv9w5vfos3oJqDxI/edit?usp=sharing

目标是可以从执行以下操作的菜单中运行的脚本:

  1. 数据
  2. 复制数据 在行的目标
  3. 仅粘贴 最后一个有数据之后
  4. 清除数据数据集(有一些公式 在使用我只想运行一次的第三方API的数据中
  5. 目标中,合并行以删除重复项,但保持唯一性 使用“,”作为分隔符的值

回复:4,这是一个例子:

amomsvillage.com    A Mom's Village Frank   test@amomsvillage.com       test2@amomsvillage.com
amomsvillage.com    A Mom's Village Gary    test@amomsvillage.com       test3@amomsvillage.com

成为:

amomsvillage.com    A Mom's Village Frank,Gary  test@amomsvillage.com       test2@amomsvillage.com,test3@amomsvillage.com

下面是我在1-3中使用的公式,该公式大部分有效(唯一的问题是它没有获取实际的最后一行数据,即A开始出现空白)。但是,我必须单独运行PowerTools的Combine Rows来完成4,这是一步之遥的事情。 [目标] 显示1-4后数据的外观。

function onOpen() {
  var ui = SpreadsheetApp.getUi();
  ui.createMenu('Functions')
      .addItem('Copy Paste', 'moveValuesOnly')
      .addToUi();
}
function moveValuesOnly() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var source = ss.getRange('Data!A2:E');
  var destSheet = ss.getSheetByName("Destination");
  var lastRow = destSheet.getLastRow();
  destSheet.insertRowAfter(lastRow);
  source.copyTo(destSheet.getRange(lastRow + 1,1),{contentsOnly: true});
  source.clear();
}

我想做一些其他的改进,但是我想首先获得以上的改进!

0 个答案:

没有答案