در محل کار، مارک به طور مرتب نیاز به شمارش تعداد کاما در محدوده سلول های انتخاب شده دارد. او نمی تواند یک تابع اکسل برای انجام این نوع کارها پیدا کند و به این فکر می کند که آیا یک ماکرو می تواند این کار را انجام دهد یا خیر.
در حالی که هیچ تابع کاربرگ وجود ندارد که تعداد مورد نظر را ایجاد کند، یک یا دو فرمول وجود دارد که می توانید استفاده کنید. اگر فقط می خواهید تعداد سلول هایی را بدانید که حداقل یک کاما در آنها وجود دارد، فرمول زیر به خوبی کار می کند:
=COUNTIF(A1:A10,"*,*")
اگر در عوض، باید تعداد کاماها را در محدوده زمانی که ممکن است چندین کاما در هر سلول وجود داشته باشد، مشخص کنید، باید از فرمول دیگری استفاده کنید:
=SUM(LEN(A1:A10))-SUM(LEN(SUBSTITUTE(A1:A10,",","")))
این فرمول باید به عنوان فرمول آرایه وارد شود، به این معنی که برای وارد کردن فرمول باید از Ctrl+Shift+Enter استفاده کنید . اگر می خواهید تعداد محدوده متفاوتی را استخراج کنید، کافی است محدوده را در دو مکان در فرمول تغییر دهید.
اگر ترجیح می دهید، می توانید یک تابع تعریف شده توسط کاربر نیز برای شمارش تعداد کاما ایجاد کنید. راه های متعددی برای نزدیک شدن به چنین کاری وجود دارد. موارد زیر فقط یک نمونه است.
Function CountComma(rng As Range)
Dim iCount As Integer
Dim rCell As Range
Dim sTemp As String
Application.Volatile
iCount = 0
For Each rCell In rng
sTemp = Replace(rCell.Value, ",", "")
iCount = iCount + _
(Len(rCell.Value) - Len(sTemp))
Next
CountComma = iCount
Set rCell = Nothing
Set rng = Nothing
End Function
برای استفاده از تابع در کاربرگ، موارد زیر را در یک سلول وارد کنید:
=CountComma(A1:A10)
تمام این روش هایی که تاکنون توضیح داده شد، کاماهایی را که واقعاً در سلول هستند، می شمارند. آنها کاماهایی را که به دلیل قالب بندی در سلول به نظر می رسند، نمی شمارند. به عنوان مثال، اگر عددی به صورت "1234" در یک سلول ظاهر شود، به دلیل نحوه قالب بندی سلول، به احتمال زیاد کاما وجود دارد. واقعاً در خود سلول نیست. این گونه ویرگول ها به حساب نمی آیند.
البته، اگر تنها کاری که باید انجام دهید این است که تعداد کاماها را بدانید و به مقدار آن در کاربرگ خود نیازی ندارید، می توانید استفاده از فرمول ها و ماکروها را با هم دور بزنید. این مراحل کلی را دنبال کنید:
- محدوده سلول هایی را که می خواهید در آنها کاما بشمارید انتخاب کنید.
- Ctrl+H را فشار دهید تا تب Replace در کادر محاوره ای Find and Replace نمایش داده شود.
- در کادر Find What، یک کاما وارد کنید.
- در کادر Replace With یک کاما وارد کنید.
- روی Replace All کلیک کنید.
اکسل جایگزینی را انجام می دهد و کادر محاوره ای را نمایش می دهد که نشان می دهد چند جایگزین انجام شده است.