Number of Terms in a Formula

Pradeep has a need to figure out the number of terms in any given formula. For instance, in the formula =5+80*3/6 there are four terms. He would like a formula he can use to tell him the number of terms (4) in the formula.

There is no built-in function you can use in Excel to garner this information. Thus, the cleanest approach would be to create your own function, such as the following:

Function TermsInFormula(TheCell As Range)
    Dim sFormula As String
    Dim vOps As Variant
    Dim iCount As Integer
    Dim J As Integer
    Dim AWF As WorksheetFunction

    Application.Volatile
    vOps = Array("+", "-", "*", "/", "^")

    Set AWF = Application.WorksheetFunction
    sFormula = TheCell.Formula
    iCount = 1
    For J = LBound(vOps) To UBound(vOps)
        iCount = iCount + Len(sFormula) _
          - Len(AWF.Substitute(sFormula, vOps(J), ""))
    Next

    TermsInFormula = iCount
    Set AWF = Nothing
End Function

The function checks the formula in the referenced cell to see how many of the five mathematical operators it contains. The number of terms in the formula is generally one more than the number of operators, since each term is separated by an operator.

In order to use the function, you would enter the following formula into a cell, assuming that you want to know how many terms are in the formula in cell A1:

=TermsInFormula(A1)

The function will work on formulas, numbers, and text that looks like a formula. It will not, however, consider the “/” in dates as an operator since the display of the date is not part of the Formula property that the function examines. (The display of dates is part of the Text or Value property, not the Formula property.)

Earlier I stated that the number of terms in a formula is generally one more than the number of operators. The operative word here is “generally,” as not all formulas are that simple. You’ll want to make sure that you visually examine the types of formulas with which you are working and make sure that you are seeing the results you expect.