是否有一种 API 方法可以完成与人们期望调用的方法相同的sheet.getRange().getValuesOrFormulas()
功能?那是(伪代码):
for each cell in the range
if(cell.getFormula() != '')
cell.getFormula();
else cell.getValue()
如果没有,是否有人愿意分享自定义功能?
是否有一种 API 方法可以完成与人们期望调用的方法相同的sheet.getRange().getValuesOrFormulas()
功能?那是(伪代码):
for each cell in the range
if(cell.getFormula() != '')
cell.getFormula();
else cell.getValue()
如果没有,是否有人愿意分享自定义功能?
不,没有办法。
我不知道你会用这个做什么,也不知道它有什么用(因为没有方法可以立即设置它)。无论如何,这里是用公式和范围值填充数组的代码。
function valuesAndFormulas() {
var range = SpreadsheetApp.getActiveSheet().getDataRange();
var formulas = range.getFormulas();
var values = range.getValues();
var merge = new Array(formulas.length);
for( var i in formulas ) {
merge[i] = new Array(formulas[i].length);
for( var j in formulas[i] )
merge[i][j] = formulas[i][j] !== '' ? formulas[i][j] : values[i][j];
}
//now do something with it
Logger.log(merge);
}