Количество членов в формуле (Microsoft Excel)
Прадипу необходимо вычислить количество членов в любой данной формуле. Например, в формуле = 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, которое проверяет функция. (Отображение дат является частью свойства Text или Value, а не свойства Formula.)
Ранее я заявлял, что количество членов в формуле обычно на единицу больше, чем количество операторов. Ключевое слово здесь — «в целом», поскольку не все формулы настолько просты. Убедитесь, что вы визуально изучили типы формул, с которыми вы работаете, и убедитесь, что видите ожидаемые результаты.
_Примечание: _
Если вы хотите узнать, как использовать макросы, описанные на этой странице (или на любой другой странице на сайтах ExcelTips), я подготовил специальную страницу, содержащую полезную информацию.
link: / excelribbon-ExcelTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера]
.
ExcelTips — ваш источник экономичного обучения Microsoft Excel.
Этот совет (9458) применим к Microsoft Excel 2007, 2010, 2013, 2016, 2019 и Excel в Office 365. Вы можете найти версию этого совета для старого интерфейса меню Excel здесь:
link: / excel-Number_of_Terms_in_a_Formula [Количество терминов в формуле]
.