Please Note: This article is written for users of the following Microsoft Excel versions: 97, 2000, 2002, and 2003. If you are using a later version (Excel 2007 or later), this tip may not work for you. For a version of this tip written specifically for later versions of Excel, click here: Number of Terms in a Formula.

Number of Terms in a Formula

by Allen Wyatt
(last updated May 23, 2015)

2

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 always 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.

ExcelTips is your source for cost-effective Microsoft Excel training. This tip (3265) applies to Microsoft Excel 97, 2000, 2002, and 2003. You can find a version of this tip for the ribbon interface of Excel (Excel 2007 and later) here: Number of Terms in a Formula.

Author Bio

Allen Wyatt

With more than 50 non-fiction books and numerous magazine articles to his credit, Allen Wyatt is an internationally recognized author. He  is president of Sharon Parq Associates, a computer and publishing services company. ...

MORE FROM ALLEN

Filtering to a Date Range in the Past

If you have a large number of data records, each with an associated date, you might want to filter that data so you see only ...

Discover More

Viewing Workbook Statistics

Excel keeps track of a range of stats about each workbook you use. If you want to take a look at those stats, it's easy; just ...

Discover More

Word Graphics

One effective way to enhance your documents is with Word's powerful graphics capabilities. Discover how to best utilize ...

Discover More

Create Custom Apps with VBA! Discover how to extend the capabilities of Office 2013 (Word, Excel, PowerPoint, Outlook, and Access) with VBA programming, using it for writing macros, automating Office applications, and creating custom applications. Check out Mastering VBA for Office 2013 today!

More ExcelTips (menu)

Finding the First Non-Digit in a Text Value

If you have a string of text that is composed of digits and non-digits, you may want to know where the digits stop and the ...

Discover More

Combining Cell Contents

Excel allows you to easily combine text together. The key is to understand and use the ampersand operator.

Discover More

Finding Differences Between Lists

A common task faced by Excel users is to determine whether items in one list are also found in a different list. There are a ...

Discover More
Subscribe

FREE SERVICE: Get tips like this every week in ExcelTips, a free productivity newsletter. Enter your address and click "Subscribe."

View most recent newsletter.

Comments

If you would like to add an image to your comment (not an avatar, but an image to help in making the point of your comment), include the characters [{fig}] in your comment text. You’ll be prompted to upload your image when you submit the comment. Maximum image size is 8Mpixels. Images larger than 600px wide or 1000px tall will be reduced. Up to three images may be included in a comment. All images are subject to review. Commenting privileges may be curtailed if inappropriate images are posted.

What is 5 + 0?

2015-05-23 11:07:51

Rick Rothstein

Here is a more compact UDF that will return the same results as the UDF you posted...

Function TermsInFormula(TheCell As Range) As Long
Dim S As String
Application.Volatile
S = Replace(Replace(Replace(TheCell.Formula, _
"-", "+"), "*", "+"), "/", "+")
TermsInFormula = 1 + UBound(Split(S, "+"))
End Function


2015-05-23 08:35:13

Fred Burg

Mathematically speaking, terms are added or subtracted together. So 4+x has 2 terms while 4*x only has one term.

Also, there was an Excel 4 macro named GET.CELL that, among other things, would return the contents of a cell so that one could do basically the same as .FORMULA and then use the substitute process.


This Site

Got a version of Excel that uses the menu interface (Excel 97, Excel 2000, Excel 2002, or Excel 2003)? This site is for you! If you use a later version of Excel, visit our ExcelTips site focusing on the ribbon interface.

Newest Tips
Subscribe

FREE SERVICE: Get tips like this every week in ExcelTips, a free productivity newsletter. Enter your address and click "Subscribe."

(Your e-mail address is not shared with anyone, ever.)

View the most recent newsletter.