تابع dcounta در اکسل
تابع DCOUNTA یکی از توابع دسته «بانک اطلاعاتی» (Database) در اکسل است که برای شمارش تعداد رکوردهایی بهکار میرود که یک یا چند فیلد (ستون) آنها خالی نیست و همزمان شرایط مشخصشده برقرار است. در مقابل تابع DCOUNT که فقط سلولهای حاوی عدد را میشمارد، DCOUNTA هر نوع مقدار غیرخالی (عدد، متن، تاریخ و …) را شمارش میکند.
سینتکس و پارامترها
سینتکس تابع به صورت زیر است:
=DCOUNTA(database, field, criteria)توضیح پارامترها:
- database: بازهای شامل هدرها (نام ستونها) و دادهها. اولین ردیف باید عنوان ستونها باشد.
- field: نام ستون موردنظر (با نقلقول یا ارجاع به سلول حاوی نام) یا شماره ستون نسبت به محدودهٔ database (مثلاً 1، 2، …).
- criteria: یک بازه که شرایط متناظر را شامل میشود؛ باید حداقل یک ردیف عنوان داشته باشد و زیر آن شرط(ها) نوشته شود.
مثال پایهای
فرض کنید دادههای شما در بازهٔ A1:D6 به شکل زیر باشد:
| A | B | C | D |
|---|---|---|---|
| Name | Age | City | Score |
| Alice | 28 | Tehran | 85 |
| Behzad | 34 | Tehran | |
| Camila | 40 | Isfahan | 92 |
| Dariush | 31 | Tehran | 76 |
اگر بخواهیم تعداد ردیفهایی که مقدار ستون Score در آنها خالی نیست و همزمان City برابر “Tehran” است را بیابیم، ابتدا یک محدودهٔ criteria تعریف میکنیم، مثلاً F1:G2 به شکل زیر:
| Score | City |
|---|---|
| Tehran |
=DCOUNTA(A1:D6,"Score",F1:G2)این فرمول تعداد رکوردهایی را برمیگرداند که City = “Tehran” و در ستون Score مقدار غیرخالی دارند. در مثال بالا نتیجه 2 خواهد بود (Alice و Dariush).
استفاده از شماره ستون به جای نام
میتوانید به جای نام ستون، شمارهٔ آن نسبت به محدودهٔ database را بدهید. در مثال بالا ستون Score، چهارمین ستون دیتابیس است:
=DCOUNTA(A1:D6,4,F1:G2)این معادل استفاده از نام ستون است و همان خروجی را خواهد داشت.
شرایط AND و OR
نحوهٔ گذاشتن شروط در criteria مشخص میکند که شرطها با AND یا OR</strong
ترکیب شوند:
- شرطهایی که در یک ردیف criteria قرار میگیرند بهصورت AND ارزیابی میشوند (همه شرطها باید برقرار باشند).
- شرطهایی که در ردیفهای مختلف criteria قرار میگیرند بهصورت OR ارزیابی میشوند (هر ردیف نمایانگر یک شرط ترکیبی مجزا است).
مثال OR: شمارش رکوردهایی که City = “Tehran” یا City = “Isfahan” و Score غیرخالی باشد:
| Score | City |
|---|---|
| Tehran | |
| Isfahan |
=DCOUNTA(A1:D6,"Score",F1:G3)در اینجا دو ردیف شرط داریم: هر رکوردی که با یکی از این ردیفها مطابقت داشته باشد و ستون Score آن خالی نباشد شمارش میشود.
شرطهای مقایسهای و wildcard
برای مقایسههای عددی یا متنی میتوان از علائم مانند >، <، >=، <=، <> و wildcardها (* یا ?) استفاده کرد. مثال: شمارش رکوردهایی که Age > 30 و Score غیرخالی باشد:
| Score | Age |
|---|---|
| >30 |
=DCOUNTA(A1:D6,"Score",F1:G2)در این مثال مقدار >30 در ستون Age در criteria قرار دارد و تابع برحسب آن فیلتر میکند.
خطاها و نکات رایج
- ردیف اول criteria باید دقیقاً نام ستون (هدر) را داشته باشد؛ اشتباه در نوشتن عنوان باعث عدم یافتن شرط میشود.
- اگر field نامعتبر باشد (نه نام ستون و نه شماره صحیح) نتیجه خطای #VALUE! خواهد بود.
- DCOUNTA، سلولهای متنی و عددی را شمارش میکند؛ اگر فقط بخواهید اعداد شمارش شوند از DCOUNT استفاده کنید.
- مطابق با منطقهٔ زبان اکسل، ممکن است جداکنندهٔ آرگومانها کاما (,) یا سمیکالن (;) باشد؛ از فرمت اکسل خود استفاده کنید.
کاربردهای عملی و نکات حرفهای
- تحلیل گزارشها: وقتی بخواهید تعداد رکوردهای دارای مقدار در یک فیلد خاص با چند شرط پیچیده را سریع بدست آورید، DCOUNTA عالی است.
- گزارشگیری پویا: با استفاده از سلولهایی که شروط را نگهداری میکنند میتوانید شمارش پویا داشته باشید—کاربر شرط را تغییر میدهد و نتیجه بلافاصله بهروز میشود.
- جایگزینی با توابع جدیدتر: در نسخههای جدید اکسل (Office 365) میتوان با ترکیب توابع مانند FILTER و COUNTA نتایج مشابه و غالباً انعطافپذیرتری گرفت: مثال: =COUNTA(FILTER(Database[Score],(Database[City]=”Tehran”)*(Database[Score]””), “”))
=COUNTA(FILTER(A2:A100, (C2:C100="Tehran")*(A2:A100""), ""))در این کد، FILTER ردیفهایی را برمیگرداند که شهر آنها Tehran و ستون مورد نظر خالی نیست؛ سپس COUNTA تعداد آنها را میشمارد. این روش در جدولهای بزرگ و شرایط پیچیده خوانایی بیشتری دارد و از امکانات نسخههای جدید اکسل استفاده میکند.
نمونه خطای رایج و اصلاح آن
خطای رایج: استفاده از جدول (Table) با ارجاعات ساختاری در database بدون در نظر گرفتن محدودهٔ تمام سرستونها و دادهها. اگر از Table با نام Table1 استفاده میکنید، به جای بخشهای نادرست از کل محدودهٔ جدول استفاده کنید:
=DCOUNTA(Table1[#All],"Score",F1:G2)بهتر است مطمئن شوید هدرها دقیقاً در Table1 قرار دارند و نام ستون Score با عبارتی که در field وارد میکنید کاملاً مطابقت دارد.
جمعبندی
تابع DCOUNTA ابزار قدرتمندی برای شمارش رکوردهای دارای مقدار در یک فیلد مشخص است، به ویژه زمانی که بخواهید شرطهای ترکیبی (AND/OR) را روی دادهها اعمال کنید. با آگاهی از نحوهٔ تنظیم criteria و تفاوت آن با DCOUNT و توابع جدیدتر مانند FILTER، میتوانید گزارشهای دقیق و پویا بسازید.
اگر میخواهید من یک مثال عملی با دادههای واقعی و criteriaهای پیچیده برای فایل شما آماده کنم، داده نمونه یا ساختار جدول را ارسال کنید تا فرمول و تنظیمات را دقیقتر بنویسم.
آیا این مطلب برای شما مفید بود ؟




