در نرمافزار Excel مایکروسافت میتوان برخی سلولها را رنگی کرد تا تشخیص محتوا ساده شود. اکسل سلولها را با تابع count شمارش میکند ولیکن چگونه میتوان سلولهایی که رنگی هستند را شمارش کرد؟ تابعی برای این کار وجود ندارد اما با کمی دستکاری و استفاده از امکانات موجود، میتوان سلولهای رنگی را نیز شمرد.
در این مقاله به روش شمارش سلولهای رنگی در نرمافزار اکسل میپردازیم. با ما باشید.
چگونه سلولهای رنگی را در اکسل شمارش کنیم؟
در این مطلب آموزشی میخواهیم با استفاده از VBA و همینطور بدون آن، تعداد سلولهای رنگی در یک ناحیه را شماره کنیم و به این منظور دو روش جالب را بررسی میکنیم.
- استفاده از Filter و SUBTOTAL در اکسل
- ایجاد یک تابع کاستوم که به کمک VBA نوشته شده است
شمارش سلولهای رنگی در اکسل با فیلتر و تابع SUBTOTAL
ناحیهای شامل سلولهای رنگی را در نظر بگیرید. ابتدا در سلولی که قرار است تعداد سلولهای رنگی آن ستون را نمایش دهد، کلیک کرده و فرمول زیر را وارد کنید.
توجه: که برای فرمول نوشتن در سلولهای اکسل، همیشه یک = را تایپ کرده و سپس دستور خود را مینویسیم.
عدد ۱۰۲ که آرگومان اول در دستور زیر است، در حقیقت برای شمارش سلولهایی که در حاض حاضر دیده میشوند، به کار میرود و این یعنی اگر به روشی، سلولی را پنهان کنیم، در شمارش لحاظ نمیشود و این کار را در ادامه با استفاده از فیلترها انجام میدهیم.
=SUBTOTAL(102,E1:E20)
همانطور که در تصویر زیر میبینید، تعداد سلولها از سلول E1 الی E20 در سلولی که فرمول فوق را وارد کردهایم، ذکر شده است. اگر ناحیهی دیگری مدنظرتان است، به جای E1 و E20 نام سلول شروع و پایانی آن بخش را وارد نمایید.
اکنون هدرها را انتخاب کنید. سپس در منوی بالای اکسل مسیر Data > Sort and Filter > Filter را طی کنید تا ابزار فیلتر فعال شده و روی تمام هدرهایی که انتخاب کردهاید، اعمال شود. اکنون اگر روی یکی از هدرها کلیک کنید، میتوانید از منوی کرکرهای که نمایش داده میشود، گزینهی Filter by Color یا فیلتر کردن بر اساس رنگها را انتخاب کنید. قدم بعدی این است که رنگهای استفاده شده در ناحیهی موردنظر خود را یکییکی انتخاب کنید تا صرفاً سلولهای رنگی نمایش داده شوند و بقیهی سلولها، ناپدید شوند.
به محض کلیک کردن روی رنگی مثل نارنجی، فقط سلولهای نارنجی شمارش میشوند و عدد ۴ را خواهید دید. با کلیک کردن روی رنگ سبز و نمایان شدن سلولهای سبز، تعدادشان به عدد ۴ اضافه میشود و به این ترتیب میتوانید شمارش دقیقی از سلولهای رنگی داشته باشید.
شمارش سلولهای رنگی در اکسل با استفاده از تابع کاستوم
در اکسل میتوان از ویژوآل بیسیک برای برنامهنویسی و ایجاد توابع کاستم (به اشتباه کاستوم) استفاده کرد که آن را به نرمافزار قدرتمند تبدیل میکند.
برای اضافه کردن تابع جدید، روی نام شیت فعال کلیک کنید و گزینهی View Code را انتخاب کنید. با کلید ترکیبی Alt + F11 نیز پنجرهی کدنویسی نمایان میشود.
در این پنجره در سمت چپ روی شیتی که سلولهای رنگی را شامل دربرگرفته، راستکلیک کنید و Insert و سپس Module را انتخاب کنید.
یک ماژول جدید ایجاد میشود و کمی پایینتر در پوشهی Modules قرار میگیرد. روی نام آن که ماژول۱ است دبلکلیک کنید و کد زیر را در پنجرهی سمت چپ پیست کنید:
'Code created by Sumit Bansal from https://trumpexcel.com
Function GetColorCount(CountRange As Range, CountColor As Range)
Dim CountColorValue As Integer
Dim TotalCount As Integer
CountColorValue = CountColor.Interior.ColorIndex
Set rCell = CountRange
For Each rCell In CountRange
If rCell.Interior.ColorIndex = CountColorValue Then
TotalCount = TotalCount + 1
End If
Next rCell
GetColorCount = TotalCount
End Function
اکنون میتوانید پنجرهی ویژوآل بیسک را ببندید و به شیت خود در اکسل برگردید. حال روی سلولی که قرار است تعداد سلولهای سبز یا ... را نمایش دهد، کلیک کنید و سپس Shift + F3 را فشار دهید تا پنجرهی اضافه کردن تابع نمایان شود. از منوی کرکرهای، User Defined را انتخاب کنید. تنها تابع موجود، تابعی است که اخیراً اضافه کردهاید. روی آن کلیک کرده و سپس روی دکمهی OK کلیک کنید.
در پنجرهی تابع GetColorCount، روی فیلد بالایی کلیک کرده و سپس روی سلول ابتدایی محدودهی موردنظر خود کلیک کرده و درگ کنید تا به سلول انتهای محدود برسید.
اکنون روی فیلد دوم کلیک کنید و سپس روی یکی از سلولهای رنگی کلیک کنید. در نهایت روی OK کلیک کنید تا تابع در سلول انتخابی، ثبت شود. در این سلول تعداد سلولهای همرنگ با سلولی که به عنوان مرجع مشخص شده، ذکر میشود. برای هر رنگ میبایست یک سلول شمارش تعداد در نظر بگیرید. مثل نمونهای که در تصویر مشاهده میکنید.
در نهایت با استفاده از تابع SUM و انتخاب کردن دو سلول شمارش رنگهای سبز و نارنجی، مجموع سلولهای رنگی مشخص میشود. به این منظور در دستور زیر به جای I3 و I4 نام سلولهای شمارش تعداد خود را قرار دهید:
=sum(I3;I4;I5)
در صورت نیاز میتوانید نام سلولهای بیشتری را در این فرمول اضافه کنید. کافی است بعد از آخرین سلول ; و نام سلول بعدی را اضافه کنید.
توجه کنید که در صورت بسیار بزرگ بودن یک صفحهی اکسل، میتوانید تابع شمارش خانههای رنگی را به صورت دستی تایپ کنید. به عنوان مثال اگر منظور شما این باشد که جدولی با شروع از خانهی دوم در ستون اول تا خانهی ۱۰۰۰ در ستون چهارم بررسی شده و تعداد خانههای رنگی شمارش شود، میتوانید فرمول زیر را تایپ کنید:
=GetColorCount(A2:D1000,D2)
و همانطور که در تصویر مشاهده میکنید، در مثال ما خروجی این تابع به سرعت محاسبه میشود و سلولهای آبیرنگ در هر چهار ستون را نمایش میدهد:
trumpexcelسیارهی آیتی