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

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.

*Note:*

If you would like to know how to use the macros described on this page (or on any other page on the *ExcelTips* sites), I've prepared a special page that includes helpful information. Click here to open that special page in a new browser tab.

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

**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!

If you have a lot of values in a single row, you might want to pull the last non-zero value from that row. There are a ...

Discover MoreWhen analyzing your numeric data, you may need to figure out the largest and smallest numbers in a set of values. If you ...

Discover MoreNeed to pull just a limited amount of information from a large list? Here are a few approaches you might be able to use ...

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

2015-05-23 11:07:51

Rick Rothstein

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

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.

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.

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

Copyright © 2019 Sharon Parq Associates, Inc.

## Comments