Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google sheets 使用脚本添加=';第一张';D3公式,该公式具有在脚本中提取的工作表名称_Google Sheets_Formulas - Fatal编程技术网

Google sheets 使用脚本添加=';第一张';D3公式,该公式具有在脚本中提取的工作表名称

Google sheets 使用脚本添加=';第一张';D3公式,该公式具有在脚本中提取的工作表名称,google-sheets,formulas,Google Sheets,Formulas,我有这个: var app = SpreadsheetApp; var activesheet = app.getActiveSpreadsheet().getActiveSheet(); var RecipeList = app.getActiveSpreadsheet().getSheetByName('Recipe List') var recipename = activesheet.getRange('D3').getValue(); var costperserve = activ

我有这个:

var app = SpreadsheetApp;
var activesheet = app.getActiveSpreadsheet().getActiveSheet();
var RecipeList = app.getActiveSpreadsheet().getSheetByName('Recipe List')

var recipename = activesheet.getRange('D3').getValue();
var costperserve = activesheet.getRange('J5').getValue();
var foodcostpercentage = activesheet.getRange('J6').getValue();
var sellingprice = activesheet.getRange('J7').getValue();
var grossprofit = activesheet.getRange('J10').getValue();
var spreadsheetname = activesheet.getSheetName() ;
var Last = RecipeList.getLastRow();

RecipeList.getRange(Last+1,1,1,1).setValue(recipename), {contentsOnly:true};
RecipeList.getRange(Last+1,2,1,1).setValue(costperserve), {contentsOnly:true};  
RecipeList.getRange(Last+1,3,1,1).setValue(foodcostpercentage), 
{contentsOnly:true};  
RecipeList.getRange(Last+1,4,1,1).setValue(sellingprice), {contentsOnly:true};
RecipeList.getRange(Last+1,5,1,1).setValue(grossprofit), {contentsOnly:true};
RecipeList.getRange(Last+1,6,1,1).setValue(spreadsheetname), 
{contentsOnly:true};
尽管我希望将值设置为
=(='spreadsheetname'!D3)
,作为仅设置值的姿势,以便我可以更改值并对其进行更新

有一种方法可以像
setValue()
一样使用,但这不是必需的。你在这里也可以用

看起来您正试图将
{contentsOnly:true}
的选项传递到
setValue()
,但这是无效的。正如您在链接文档中看到的,此方法不允许任何选项。此外,它不允许这个特定的选项,因为它只影响内容

请尝试以下示例代码:

function insertFormulaTest() {
  var ss = SpreadsheetApp.getActive();
  var sourceSheet = ss.getSheetByName("Source Sheet");
  var sourceCell = sourceSheet.getRange("D3");
  var formula = "='" + sourceSheet.getName() + "'!" + sourceCell.getA1Notation(); // "='Source Sheet'!D3"
  var destinationSheet = ss.getSheetByName("Destination Sheet");
  destinationSheet.getRange("A1").setValue(formula);
}

如果要设置公式,请设置公式。现在设置一个值。