在Google电子表格中,想要根据另一个单元格中的值减去一个单元格与另一个单元格。
示例:
If cell A1 = "Yes"
subtract B1 from C1
If cell A1 = "No"
subtract B1 from D1
If cell A1 = ""
subtract B1 from C1
我认为必须为这个构建一个小脚本(不确定)并提出这个:
function sub() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sh = ss.getActiveSheet();
var nRange = ss.getRangeByName("sub");
var group = nRange.getValues();;
var range;
if ( group == "Yes" ) {
range = '=Q15-N15' }
else if ( group == "No" ) {
range = "=Q15-M15"}
else if ( group == "" ) {
range = "=Q15-M15"}
return range
}
现在它返回适当的范围,但公式不会生效。该脚本按字面顺序在单元格中粘贴范围。
答案 0 :(得分:0)
如果使用.getValues()
来读取范围的内容,您将收到一个二维数组值 - 即使该范围中只有一个单元格。如果您真的只想要一个值,请改用.getValue()
。
由于您获得了一个数组,因此所有三个if
测试都评估为false
,而没有为range
设置值。尝试给range
一个默认值开始:
var range = 'Range not set';
注意:Custom functions返回值,他们无法设置单元格的公式。您的函数可以返回计算结果或要在单元格中显示的文本行。如果必须设置公式,则必须使用以其他方式调用的函数,并使用Range.setFormula()
。