Số thuật ngữ trong một công thức (Microsoft Excel)
Pradeep có nhu cầu tìm ra số hạng trong bất kỳ công thức nhất định nào. Ví dụ, trong công thức = 5 + 80 * 3/6 có bốn số hạng. Anh ta muốn một công thức mà anh ta có thể sử dụng để cho anh ta biết số hạng (4) trong công thức.
Không có hàm tích hợp nào bạn có thể sử dụng trong Excel để thu thập thông tin này. Do đó, cách tiếp cận rõ ràng nhất sẽ là tạo một hàm của riêng bạn, chẳng hạn như sau:
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
Hàm kiểm tra công thức trong ô được tham chiếu để xem nó chứa bao nhiêu trong số năm toán tử toán học. Số lượng các thuật ngữ trong công thức luôn nhiều hơn một số các toán tử, vì mỗi số hạng được phân tách bằng một toán tử.
Để sử dụng hàm, bạn sẽ nhập công thức sau vào một ô, giả sử rằng bạn muốn biết có bao nhiêu số hạng trong công thức trong ô A1:
=TermsInFormula(A1)
Hàm sẽ hoạt động trên các công thức, số và văn bản giống như một công thức. Tuy nhiên, nó sẽ không coi “/” trong ngày tháng như một toán tử vì hiển thị ngày không phải là một phần của thuộc tính Công thức mà hàm kiểm tra. (Việc hiển thị ngày là một phần của thuộc tính Văn bản hoặc Giá trị, không phải thuộc tính Công thức.)
Trước đó, tôi đã nói rằng số thuật ngữ trong một công thức thường nhiều hơn một số so với số toán tử. Từ hoạt động ở đây là “nói chung”, vì không phải tất cả các công thức đều đơn giản. Bạn sẽ muốn đảm bảo rằng bạn kiểm tra trực quan các loại công thức mà bạn đang làm việc và đảm bảo rằng bạn đang thấy kết quả như mong đợi.
_Lưu ý: _
Nếu bạn muốn biết cách sử dụng các macro được mô tả trên trang này (hoặc trên bất kỳ trang nào khác trên trang ExcelTips), tôi đã chuẩn bị một trang đặc biệt bao gồm thông tin hữu ích.
ExcelTips là nguồn của bạn để đào tạo Microsoft Excel hiệu quả về chi phí.
Mẹo này (3265) áp dụng cho Microsoft Excel 97, 2000, 2002 và 2003. Bạn có thể tìm phiên bản của mẹo này cho giao diện ribbon của Excel (Excel 2007 trở lên) tại đây: