【问题标题】:duplicate row based on cell value基于单元格值的重复行
【发布时间】:2020-01-27 02:41:01
【问题描述】:

我想根据单元格值复制行,然后删除单元格值(红色),以便在重新运行时脚本不会再次在同一行上运行

我尝试过脚本,但它有 2 个问题

1- 单元格值保持不变,因此当重新运行脚本时,它会导致同一行一次又一次的重复 2- 删除我从整张纸上写的公式

如果你想检查它的脚本是否仍然存在于 appscript https://docs.google.com/spreadsheets/d/1fJc2ymAADaZ4jtEGRAkUkWRape24Un7OE4jYcgcd9FM/edit#gid=0

【问题讨论】:

    标签: google-apps-script


    【解决方案1】:

    单行自动复制

    function AutoDuplicate() {
      var ss=SpreadsheetApp.getActive()
      var sh=ss.getActiveSheet();
      var rg=sh.getDataRange();
      var vA=rg.getDisplayValues();
      var bA=rg.getBackgrounds();
      var v=[];
      var b=[]
      for(var i=0;i<vA.length;i++){
        var t1=bA[i][7];
        var t2=vA[i][7];
        if(bA[i][7]=='#ff0000' && !isNaN(vA[i][7]) && Number(vA[i][7])>0) {
          bA[i][7]='#ffffff';
          for(var j=0;j<vA[i][7];j++) {
            v.push(vA[i]);
          }
          b.push(bA[i]);
          sh.getRange(1,1,v.length,v[0].length).setValues(v);
          sh.getRange(1,1,b.length,b[0].length).setBackgrounds(b);
        }
      }
    }    
    

    动画:

    自动复制多行

    function autoDupeForMultipleRows() {
      var ss=SpreadsheetApp.getActive()
      var sh=ss.getActiveSheet();
      var rg=sh.getDataRange();
      var vA=rg.getDisplayValues();
      var bA=rg.getBackgrounds();
      var v=[];
      var b=[];
      var a=0;
      for(var i=0;i<vA.length;i++){
        if(bA[i][7]=='#ff0000' && !isNaN(vA[i][7]) && Number(vA[i][7])>0) {
          bA[i][7]='#ffffff';
          for(var j=0;j<=vA[i][7];j++) {
            v.push(vA[i]);
            b.push(bA[i]);
          }
        }
      }
      sh.clearContents();
      var org=sh.getRange(1,1,v.length,v[0].length).setValues(v);
      org.setBackgrounds(b);
    }
    

    动画:

    【讨论】:

    • 您的示例仅显示了一行,并且重复项仅应用于第一行。所以你需要改变你的描述,这样我们才能理解你真正想要什么。我按照你的描述做了。
    • 我明白了,非常感谢你,我看到了它会完成这项工作的动画,我真的很喜欢它
    猜你喜欢
    • 2021-10-16
    • 2020-02-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-14
    • 1970-01-01
    • 2018-07-25
    相关资源
    最近更新 更多