【问题标题】:Get reference in Google Sheets在 Google 表格中获取参考
【发布时间】:2016-07-30 20:19:38
【问题描述】:

当“1”的值添加到第 3 列时,我目前正在将 sheet1 上的一行的值复制到 sheet2。我不想复制每个单元格的值,而是引用 sheet1 上的单元格所以 sheet2当 sheet1 上的数据更新时更新。目前,我有:

function hotList(event) {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var s = event.source.getActiveSheet();
  var r = event.source.getActiveRange();

  if(s.getName() == "sheet1" && r.getColumn() == 3 && r.getValue() == "1") {
    var row = r.getRow();
    var numColumns = s.getLastColumn();
    var targetSheet = ss.getSheetByName("sheet2");
    var target = targetSheet.getRange(targetSheet.getLastRow() + 1, 1);
    s.getRange(row, 1, 1, numColumns).copyTo(target);
  }

我希望有一个简单的替代 copyTo 的方法,我可以在这里插入,但任何想法都会受到赞赏。

【问题讨论】:

  • 您是否希望 Sheet2 中的单元格中包含 =Sheet1!B3 之类的内容?如果是这样,请使用 setFormula 来执行此操作。
  • 谢谢,@bookend - 这帮助我到达了那里。 if(s.getName() == "sheet1" && r.getColumn() == 4 && r.getValue() == "1") { var row = r.getRow(); var numColumns = s.getLastColumn(); var targetSheet = ss.getSheetByName("热门列表"); var lastRow = targetSheet.getLastRow();最后一行 = 最后一行 + 1; for (i=0; i
  • 如果您已经找到解决问题的方法,请将其发布为答案。

标签: javascript google-apps-script google-sheets


【解决方案1】:

谢谢,@bookend - 这帮助我到达了那里。

    if (s.getName() == "sheet1" && r.getColumn() == 4 && r.getValue() == "1") {
   var row = r.getRow();
   var numColumns = s.getLastColumn();
   var targetSheet = ss.getSheetByName("Hot List");
   var lastRow = targetSheet.getLastRow();
   lastRow = lastRow + 1;
   for (i = 0; i <= numColumns; i++) {
      var cellCol = String.fromCharCode(97 + i);
      var formula = "=sheet1!" + cellCol + row;
      var target = targetSheet.getRange(lastRow, 1 + i);
      target.setFormula(formula);
   }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-17
    • 1970-01-01
    • 2017-12-01
    • 2017-09-01
    • 1970-01-01
    相关资源
    最近更新 更多