【发布时间】:2015-02-12 22:14:03
【问题描述】:
我正在处理一张将数据从一张表传输到另一张表的工作表。我操纵了另一个我发现的脚本,它运行得很好。直到我需要将一些单元格作为值和一些作为公式。
我需要 Col A-Col D 作为“getValues” 我需要 Col E-Col Q 作为“getFormulas”
这是有效的公式:
function Copy(){
var origSheetObject = SpreadsheetApp.openById('Key1').getSheetByName('Daily Log');
var destSheetObject = SpreadsheetApp.openById('Key2').getSheetByName('Imported Data');
var origLastCol = origSheetObject.getLastColumn();
var arrOrigData = origSheetObject.getRange (6, 1, 1, 17).getFormulas();
var destlastRow = destSheetObject.getLastRow()+1;
var cont;
for (cont = 0; cont <origLastCol; cont++)
destSheetObject.getRange(destlastRow, 1+cont).setValue(arrOrigData[0][cont]);
我知道如果我将 getFormula 更改为 getValue,我只会得到值,而不是我需要查看的公式。这是我尝试过的,但它不正确:
function Copy(){
var origSheetObject = SpreadsheetApp.openById('Key1').getSheetByName('Daily Log');
var destSheetObject = SpreadsheetApp.openById('Key2').getSheetByName('Imported Data');
var origLastCol = origSheetObject.getLastColumn();
var arrOrigData = origSheetObject.getRange (6, 1, 1, 4).getValues();
origSheetObject.getRange (6, 5, 1, 13).getFormulas();
var destlastRow = destSheetObject.getLastRow()+1;
var cont;
for (cont = 0; cont <origLastCol; cont++)
destSheetObject.getRange(destlastRow, 1+cont).setValue(arrOrigData[0][cont]);
我不知道如何让它让我在同一行中提取值和公式。任何建议都会很棒!
【问题讨论】:
-
你应该以这种方式将它分配给一个变量: var arrOrigData = origSheetObject.getRange (6, 1, 1, 4).getValues(); var arrorigformula = origSheetObject.getRange (6, 5, 1, 13).getFormulas();
-
我了解以这种方式分配该变量的过程,但是我如何调用它将它们在 destSheetObject 中组合为一行
标签: google-apps-script google-sheets google-spreadsheet-api