如果B1 =空如何通过脚本使A1 =空?

时间:2014-01-14 10:19:33

标签: javascript google-apps-script

以下Google Apps脚本旨在为电子表格的每一行实现此逻辑:

If (column B is empty)
  Then: set column A empty

这是我到目前为止的非工作代码:

var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Sheet1');
      var colS = sheet.getRange(1, 2, sheet.getLastRow()-1, 1).getValues(); // col2 row1       
var ColD = sheet.getRange(1, 1, sheet.getLastRow()-1, 1).getValues();  // col1 row 1 targeted to delete


    for (var i = 0; i < columnS.length; i++)
    if (colS[i][0] == '')
      {
      var aa = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Sheet1').setActiveSelection(colD[i]);
        aa.clear({ formatOnly: true, contentsOnly: true });
      }
    else
      {
      return
      }
    }

它出了什么问题?

1 个答案:

答案 0 :(得分:2)

尝试下面的代码:

function resetValues() {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Sheet1');     
  var colS = sheet.getRange(1, 2, sheet.getLastRow()-1, 1).getValues(); // col2 row1    

  for (var i = 1; i < colS.length; i++) {
    if (colS[i-1][0] == '') {      
      sheet.getRange(i, 1).setValue("");      
    }    
  }
}

也许你的代码无效,因为:

  1. 如果您不符合if条件,那么您将打破for循环。
  2. columnS是未定义的变量。
  3. 我的代码的实时版本可以找到here