Pradeep需要找出任何给定公式中的术语数量。例如,公式= 5 + 80 * 3/6中有四个项。他想要一个公式,可以用来告诉他公式中的项数(4)。

您无法在Excel中使用内置函数来获取此信息。因此,最干净的方法是创建自己的函数,例如:

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

该函数检查引用单元格中的公式以查看其包含的五个数学运算符中的多少。公式中的项数总是比运算符数多一,因为每个项都由运算符分隔。

为了使用该功能,您需要在单元格中输入以下公式,假设您想知道单元格A1中的公式中有多少项:

=TermsInFormula(A1)

该函数将对看起来像公式的公式,数字和文本起作用。但是,由于日期的显示不是函数检查的Formula属性的一部分,因此不会将日期中的“ /”视为运算符。 (日期显示是“文本”或“值”属性的一部分,而不是“公式”属性。)

前面我曾说过,公式中术语的数量通常比运算符的数量多一个。这里的有效词通常是“一般”,因为并非所有公式都那么简单。您需要确保以视觉方式检查正在使用的公式的类型,并确保看到的是预期的结果。

注意:

如果您想知道如何使用此页面(或_ExcelTips_网站上的任何其他页面)中描述的宏,我准备了一个特殊页面,其中包含有用的信息。

_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。

本技巧(3265)适用于Microsoft Excel 97、2000、2002和2003。可以在Excel的功能区界面(Excel 2007及更高版本)中找到本技巧的版本: