【问题标题】:Copying non-contiguous cells from one column to another in Google Sheets with Apps Script使用 Apps 脚本在 Google 表格中将非连续单元格从一列复制到另一列
【发布时间】:2019-08-30 20:45:51
【问题描述】:

我在 Google 表格文档中有两列复选框(例如,column Acolumn B),我希望能够添加一个向下查看 column A 的函数,并移动任何选中的框到column B,同时忽略column A 中的单元格为空白的任何行。我打算将此功能添加到我的电子表格的下拉菜单中。

所以,作为一个例子:

运行此函数前的表单:

Column A | Column B
=====================
    ✓    |     ☐       
    ✓    |     ☐       
    ☐    |     ☐       
    ☐    |     ✓       

        ---

运行此函数后的表单:

Column A | Column B
=====================
    ☐    |     ✓       
    ☐    |     ✓       
    ☐    |     ☐       
    ☐    |     ✓    

我已经知道如何检查或取消选中整个范围,所以我可以很容易地清除column A,但我不知道如何更改column B 中的那些特定单元格@ 987654330@ 是首先检查。

【问题讨论】:

    标签: google-apps-script google-sheets


    【解决方案1】:

    试试这个:

    function runTwo() {
      var ss=SpreadsheetApp.getActive();
      var sh=ss.getSheetByName('Sheet2');
      var rg=sh.getDataRange();
      var vA=rg.getValues();
      for(var i=0;i<vA.length;i++) {
        if(vA[i][0] && vA[i][0]==true) {
          vA[i][0]=false;
          vA[i][1]=true;
        }
      }
      rg.setValues(vA);
    }
    

    【讨论】:

    • 你太棒了,这很好用。我唯一改变的是在第四行使用getRange 而不是getDataRange,只针对工作表中的特定范围运行它。一切都按应有的方式工作。非常感谢!
    猜你喜欢
    • 2013-07-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-16
    相关资源
    最近更新 更多