تابع dcount در اکسل
تابع DCOUNT یک تابع پایگاهدادهای (Database) در اکسل است که برای شمارش سطرهایی از یک جدول یا محدوده داده که معیارهای خاصی را برآورده میکنند بهکار میرود. تفاوت اصلی DCOUNT با توابعی مثل COUNTIFS این است که DCOUNT از ساختار «بانک اطلاعاتی» و محدودهٔ معیار (criteria range) استفاده میکند که خواناتر و انعطافپذیرتر برای گزارشگیریهای پیچیده است.
ساختار و آرگومانها
قالب تابع به این صورت است:
=DCOUNT(database, field, criteria)توضیح آرگومانها:
- database: محدودهای که شامل سطرهای داده و یک ردیف سربرگ است (مثلاً A1:E100).
- field: ستون مورد نظر برای شمارش؛ میتواند نام ستون (متن) دقیقاً مطابق سربرگ یا شمارهٔ ستون داخل database باشد (مثلاً “Salary” یا 3).
- criteria: محدودهای که شامل حداقل یک سربرگ (نام ستون) و یک یا چند ردیف معیار است. این محدوده تعیین میکند کدام سطرها بعنوان مطابقت در نظر گرفته شوند.
چگونه DCOUNT کار میکند؟
DCOUNT فقط سطرهای مطابقتی را میشمارد که در ستون تعیینشده مقدار عددی داشته باشند. اگر بخواهید هر نوع مقدار غیرخالی را بشمارید (شامل متن)، باید از DCOUNTA استفاده کنید.
نمونه داده و جدول معیار
| Employee | Department | Salary |
|---|---|---|
| A | Sales | 5000 |
| B | HR | 4500 |
| C | Sales | 5500 |
| D | IT |
مثال معیار (در جایی مانند G1:G2):
| Department |
|---|
| Sales |
مثال عملی
=DCOUNT(A1:C5, "Salary", G1:G2)این فرمول تعداد سطرهای جدول A1:C5 را که در ستون Salary مقدار عددی دارند و مقدار Department برابر “Sales” است شمارش میکند. در مثال بالا نتیجه 2 خواهد بود (دو کارمند از بخش Sales دارای مقدار عددی در Salary هستند).
نکات کلیدی و موارد کاربرد
- تفاوت DCOUNT و DCOUNTA: DCOUNT فقط مقادیر عددی در ستون هدف را میشمارد، اما DCOUNTA هر سلول غیرخالی را میشمارد.
- AND و OR در criteria: اگر معیارها در یک ردیف قرار بگیرند، بهصورت منطقی AND اعمال میشوند؛ اگر در چند ردیف مجزا باشند، هر ردیف یک شرط OR است. (مثلاً دو ردیف برای Department = “Sales” و Department = “IT” نتیجه OR خواهد بود.)
- استفاده از عبارات: میتوانید از عبارات مانند “>=5000” یا “Sales” در سلول معیار استفاده کنید.
- مطابقت دقیق سربرگها: نام ستون در criteria باید دقیقاً با سربرگ در database یکی باشد؛ اختلاف فاصله یا نگارش باعث خطا یا شمارش اشتباه میشود.
- Wildcard: برای متن میتوانید از ? و * در criteria استفاده کنید (مثلاً “S*”).
- حسطبودن حروف: مقایسهها در اکسل معمولاً بهصورت case-insensitive انجام میشوند؛ DCOUNT نیز همینطور است.
نمونه پیچیدهتر: شرط ترکیبی
فرض کنید میخواهیم کسانی را بشماریم که در بخش Sales یا IT هستند و حقوق آنها حداقل 5000 باشد.
A1:C5 = جدول داده (همان مثال قبلی)
Criteria در G1:H3:
G1: Department H1: Salary
G2: Sales H2: >=5000
G3: IT
در این چیدمان، ردیف دوم معیار (Sales و >=5000) بهصورت AND است؛ ردیف سوم (IT) بدون شرط зарпت نشاندهنده OR با ردیف دوم است. برای شمارش مناسب از فرمول:
=DCOUNT(A1:C5, "Salary", G1:H3)این فرمول سطرهایی را میشمارد که یا (Department = Sales AND Salary >= 5000) یا (Department = IT).
ارتقاء با نامگذاری محدوده و جداول ساختاری
برای خوانایی و پایداری بهتر، از Table اکسل (Ctrl+T) یا نامگذاری محدودهها استفاده کنید:
=DCOUNT(EmployeeTable, "Salary", CriteriaTable)این شکل باعث میشود وقتی ردیفها اضافه یا حذف میشوند، فرمول همچنان صحیح کار کند و نگهداری فایل آسانتر شود.
وقایع و محدودیتها
- اگر field عددی یا نام ستون اشتباه باشد، DCOUNT خطا نمیدهد ولی ممکن است نتیجه 0 بازگرداند.
- DCOUNT برای پایگاهدادههای بسیار بزرگ و معیارهای پیچیده ممکن است کندتر از توابع مدرن مانند COUNTIFS باشد؛ در صورت نیاز به عملکرد بالاتر، بررسی کنید که آیا تبدیل معیارها به COUNTIFS امکانپذیر است.
- در صورت استفاده از فیلترهای پیشرفته یا نیاز به محاسبات بیشتر پیشنهاد میشود از PivotTable یا Power Query استفاده شود.
مثال نهایی: استفاده در گزارشهای مدیریتی
در گزارشهای ماهانه منابع انسانی ممکن است نیاز به شمارش کارمندانی باشد که شرایط چندگانهای دارند (مثلاً بخش، حداقل سابقه و حقوق). با تعریف یک جدول معیار قابل تغییر، مدیر میتواند بدون تغییر فرمولها، تنها معیار را عوض کند و آمار بهروز شود. این شیوه برای داشبوردهای پویا بسیار کاربردی است.
خلاصه و توصیههای پایانی
- از DCOUNT زمانی استفاده کنید که میخواهید با ساختار criteria کارهای پیچیده ترکیبی AND/OR انجام دهید.
- برای شمارش مقادیر غیرعددی از DCOUNTA استفاده کنید.
- برای مقیاسهای بزرگ یا نیاز به سرعت بالا، مقایسهای بین DCOUNT و COUNTIFS انجام دهید و در صورت نیاز از جداول ساختاری و Power Query بهره بگیرید.
آیا این مطلب برای شما مفید بود ؟




