计算总和公式中的值的数量?

时间:2017-03-19 13:51:59

标签: google-sheets

我有一个sum单元格,我想要另一个单元格来计算一起添加的值的数量。我不确定是否可以从工作表内读取公式文本本身。

=1+4+2

在另一个单元格中,我希望它是3

帮助表示赞赏

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
相关问题