2017-03-19 20 views
0

我有一個總和單元格,我想要另一個單元格來計算一起添加的值的數量。我不確定是否可以從表格內讀取公式文本本身。計算總和公式中的值的數量?

=1+4+2 

在另一個單元格中,我希望它是3

幫助讚賞

回答

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 
} 
0

只需在您的單元格範圍內使用= count函數!

=count(A1:A3)` 

例如將產生三的值。

+0

這是一個單細胞,而不是一個區間 – ryan

0

如果您有Excel 2013年或更高版本,可以使用FormulaText檢查在單元格中的公式,所以答案應該是

=LEN(FormulaText(A1))-LEN(SUBSTITUTE(FormulaText(A1),"+",""))+1 

在谷歌牀單沒有FormulaText,但this reference展示瞭如何編寫一。該代碼是

function FORMULATEXT(A1Notation) { 
   return SpreadsheetApp.getActive().getRange(A1Notation).getFormula(); 
    } 

那麼你可以使用它以類似的方式到Excel(除了周圍的單元格引用引號),這樣

=len(FormulaText("A1"))-len(substitute(FormulaText("A1"),"+",""))+1 
+0

很高興知道!儘管我嚴格使用Google電子表格。謝謝 – ryan

+0

啊,沒有發現,對不起。所以這是GS中的一些代碼,但您可以編寫一個簡短的函數來檢索公式,如https://productforums.google.com/forum/#!topic/docs/c0RVVhH7mLU –