基于Value的Google电子表格中的重复行

Bra*_*don 3 google-sheets google-apps-script google-spreadsheet-api

我正在尝试以编程方式复制Google电子表格中的行.我希望行复制的次数基于行本身中的一个值.

例如,假设我有一个这样的表:

在此输入图像描述

您可以看到C列中有数字.C列中的值是我想复制该行的次数.这就是期望的结果:

在此输入图像描述

从技术上讲,如果C列中的值为3,我们将重复该行两次.

有关如何编写Google电子表格脚本以执行此操作的任何想法都会很棒!

谢谢!

Ser*_*sas 7

这很简单,您应该自己尝试一下.我敢肯定,当你阅读下面的代码时,你会说"哦,当然,我可以轻松地完成它"......对吗?

function autoDup() {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  var data = sheet.getDataRange().getValues();
  var newData = [];
  for(var n in data){
    newData.push(data[n]);
    if(!Number(data[n][2])){continue};// if column 3 is not a number then do nothing
    for(var c=1 ; c < Number(data[n][2]) ; c++){ // start from 1 instead of 0 because we have already 1 copy
      newData.push(data[n]);//store values
    }
  }
  sheet.getRange(1,1,newData.length,newData[0].length).setValues(newData);// write new data to sheet, overwriting old data
}
Run Code Online (Sandbox Code Playgroud)

  • Serge,一如既往的精彩回应! (2认同)