我有一个sum单元格,我想要另一个单元格来计算一起添加的值的数量。我不确定是否可以从工作表内读取公式文本本身。
=1+4+2
在另一个单元格中,我希望它是3
。
帮助表示赞赏
答案 0 :(得分:1)
我不认为谷歌可以使用电子表格公式来做到这一点。它可以使用用户定义的函数完成。假设公式在A列中。尝试:
function countFormula() {
var ss=SpreadsheetApp.getActiveSpreadsheet()
var s=ss.getActiveSheet()
var cell=s.getActiveCell().getRow()
var f=s.getRange(cell,1).getFormula()
var args = f.replace("=","");
var x=args.split("+")
var count=x.length
return count
}
或删除任何数学符号(+, - ,/,*等):
function countFormulaNumeric() {
var ss=SpreadsheetApp.getActiveSpreadsheet()
var s=ss.getActiveSheet()
var cell=s.getActiveCell().getRow()
var f=s.getRange(cell,1).getFormula()
var args = f.replace("=","");
var myString = f.replace(/\D/g,',');
var x=myString.split(",")
var count=x.length-1
return count
}
答案 1 :(得分:0)
只需在您的细胞范围内使用= count函数!
=count(A1:A3)`
例如,将产生三个值。
答案 2 :(得分:0)
如果你有Excel 2013或更高版本,你可以使用FormulaText检查单元格中的公式,所以答案是
=LEN(FormulaText(A1))-LEN(SUBSTITUTE(FormulaText(A1),"+",""))+1
在Google工作表中没有FormulaText,但this reference显示了如何编写一个。代码是
function FORMULATEXT(A1Notation) {
return SpreadsheetApp.getActive().getRange(A1Notation).getFormula();
}
那么你可以用类似于Excel的方式使用它(除了引用单元格引用之外),就像这样
=len(FormulaText("A1"))-len(substitute(FormulaText("A1"),"+",""))+1