0

我正在 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 是包含我需要的那些值的单元格,但是我应该如何编写这段代码才能正确添加它们?

4

1 回答 1

2

不确定,如果我完全理解你的问题。要将“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());
  }
}
于 2012-06-17T14:26:52.857 回答