【问题标题】:Adding existing cell values with a script in google docs在 google docs 中使用脚本添加现有单元格值
【发布时间】:2012-06-17 14:06:42
【问题描述】:

我正在 Google Docs 中制作一个电子表格,我可以在其中跟踪我的数据。我已经在单元格中输入了一些起始值,还有一些带有函数的单元格。我想制作一个脚本,将这些值添加到以前记录的列表中。

为了更清楚地解释它。

我有一个包含值的表:

[A1] [B1] [C1] [D1] 等

[24.52] [12.84] [=A1-B1] [=(100/A1)*B1] 等

按下按钮后,我希望将这些值添加到另一个工作表(首选)的列表中,或者在我已经拥有的所有内容下的同一个工作表中。编辑主表后,列表中的这些值不应再更改。

列表应该是这样的:

[.....] [.....] [.....] [......]

[24.52] [12.84] [11.68] [52.36%]

新数据将被添加到新行中。

我有一个脚本,但向单元格添加值时出现问题。当我按下该按钮时,它会添加#NAME?在带有注释“未知范围名称 A16”的单元格中,而不是它们的实际值。

我使用这个脚本 - 这个脚本只向同一张表添加新值:

function AddRecord() {

 var doc = SpreadsheetApp.getActiveSpreadsheet();
  var lastRow = doc.getLastRow();
  var cell = doc.getRange('A1').offset(lastRow, 0);
  cell.setValue('=A16');
  cell.offset(0, 1).setValue('=B16');
  cell.offset(0, 2).setValue('=C16');
  cell.offset(0, 3).setValue('=D16');
}

=A16、=B16、=C16、=D16 是包含我需要的值的单元格,但我应该如何编写这段代码才能正确添加它们?

【问题讨论】:

    标签: google-apps-script google-sheets


    【解决方案1】:

    不确定,如果我完全理解您的问题。 要将“Tabellenblatt1”中最后一行的值复制到“Tabellenblatt2”中的新行,您可以使用以下简单函数:

    function myFunction() {
      var doc = SpreadsheetApp.getActiveSpreadsheet();
      var sheetFrom = doc.getSheetByName("Tabellenblatt1");
      var sheetTo = doc.getSheetByName("Tabellenblatt2");  
      var lastRow = sheetFrom.getLastRow();
      var cell = sheetFrom.getRange('A1').offset(lastRow, 0);
      var rowTo = sheetTo.getLastRow() + 1;
      for( var i = 1; i < 5; i++) {
         sheetTo.getRange(rowTo, i).setValue( sheetFrom.getRange(lastRow, i).getValue());
      }
    }
    

    【讨论】:

    • 是的,只要我将所有必要的值都放在最后一行,实际上效果会更好。非常感谢:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多