محاسبه جمع کارانه پرسنل با چند شرط همزمان در اکسل با تابع Dsum
وقتی لیست پرداخت کارانه پرسنل چند ستون شرط دارد (بخش، ماه، وضعیت استخدام) و باید هم زمان روی چند تای آنها فیلتر بزنید، نوشتن یک SUMIFS طولانی با آرگومان های زیاد دست و پاگیر می شود و هر بار برای تغییر شرط باید خود فرمول را ویرایش کنید. تابع DSUM همان جمع چندشرطی را با یک جدول شرط جداگانه و یک فرمول کوتاه انجام می دهد؛ برای اضافه یا تغییر شرط ها فقط کافی است سلول های جدول شرط را عوض کنید، نه فرمول را.
سینتکس تابع Dsum
=DSUM(database, field, criteria)
| آرگومان | توضیح |
|---|---|
| database | محدوده کامل جدول داده شامل ردیف سرستون (لیست پرداخت کارانه). |
| field | ستونی که باید جمع زده شود؛ نام ستون داخل گیومه (مثل «مبلغ کارانه») یا شماره ستون (1 برای اولین ستون و به همین ترتیب). |
| criteria | محدوده جدول شرط؛ شامل ردیف سرستون و حداقل یک ردیف مقدار شرط. |
قانون مهم جدول شرط: عنوان ستون های آن باید دقیقا همان عنوان ستون های دیتابیس باشد (حتی یک حرف اضافه یا فاصله باعث می شود Dsum آن ستون را نشناسد). در نسخه های فارسی و منطقه ای اکسل، جداکننده آرگومان ها به جای ویرگول معمولا «نقطه ویرگول» ( ; ) است.
ساخت جدول شرط و جمع کارانه با یک مثال بیمارستانی
لیست پرداخت کارانه پرسنل در محدوده A1 تا E21 قرار دارد؛ ستون ها: نام و نام خانوادگی، بخش، ماه، وضعیت استخدام و مبلغ کارانه:

فرض کنید مسئول مالی می خواهد جمع کارانه پرداختی به بخش اورژانس، در ماه خرداد و فقط برای پرسنل با وضعیت استخدام رسمی را همزمان به دست بیاورد؛ یعنی سه شرط روی سه ستون مختلف. برای این کار، این مراحل را دنبال کنید:
- در یک ناحیه خالی از همان برگه (مثلا از سلول H1)، عنوان سه ستون شرط را دقیقا مثل دیتابیس بنویسید: بخش، ماه، وضعیت استخدام.
- زیر همین سرستون ها (سلول های H2 تا J2)، مقدار شرط را بنویسید: «اورژانس»، «خرداد»، «رسمی».

- در یک سلول دیگر (مثلا J4)، فرمول زیر را بنویسید و Enter بزنید:
=DSUM(A1:E21,"مبلغ کارانه",H1:J2)
اکسل تمام ردیف هایی که هر سه شرط را همزمان دارند پیدا می کند (دو نفر: «حسین نجفی» و «زهرا صادقی») و مبلغ کارانه آنها را جمع می زند؛ بقیه ردیف های نزدیک (مثل اورژانس در ماه های دیگر، بخش های دیگر در خرداد، یا اورژانس-خرداد اما با وضعیت پیمانی/

اگر بعدا خواستید همین جمع را برای «بخش جراحی» یا «ماه فروردین» بگیرید، کافی است مقدار سلول های H2 یا I2 را عوض کنید؛ فرمول J4 دست نمی خورد و خودش با شرط جدید دوباره محاسبه می شود.
چند نکته کاربردی
- عنوان ستون های جدول شرط باید حرف به حرف با عنوان ستون های دیتابیس یکسان باشد؛ اگر یکسان نباشد، Dsum آن شرط را نادیده می گیرد یا نتیجه اشتباه می دهد.
- آرگومان field را می توان به جای نام ستون، با شماره ستون هم نوشت:
=DSUM(A1:E21,5,H1:J2)(ستون پنجم یعنی مبلغ کارانه). - برای شرط «یا» (OR) بین چند مقدار در یک ستون (مثلا اورژانس یا پرستاری)، یک ردیف شرط دیگر زیر ردیف اول اضافه کنید؛ هر ردیف جدید در جدول شرط یعنی یک ترکیب شرط دیگر که هم زمان با بقیه ردیف ها جمع زده و به نتیجه اضافه می شود.
- اگر یک ستون از جدول شرط را خالی بگذارید، یعنی روی آن ستون هیچ محدودیتی نیست (هر مقداری قبول است)؛ مثلا اگر سلول ماه را خالی بگذارید، جمع برای همه ماه ها با همان بخش و وضعیت استخدام حساب می شود.
- در سلول های شرط می توان از عملگرهای مقایسه هم استفاده کرد؛ مثلا برای جمع کارانه های بالای یک سقف مشخص:
>15000000. - جدول شرط باید از دیتابیس فاصله داشته باشد (حداقل یک ستون یا ردیف خالی)؛ اگر به دیتابیس بچسبد یا با آن همپوشانی داشته باشد، Dsum خطا می دهد.
- چرا Dsum به جای SUMIFS؟ وقتی ترکیب شرط ها زیاد یا در حال تغییر است، ویرایش چند سلول جدول شرط خیلی ساده تر و کم خطاتر از باز کردن و ویرایش یک فرمول SUMIFS طولانی با آرگومان های تودرتوست؛ همین جدول شرط را می توان برای DCOUNT، DAVERAGE و بقیه توابع دیتابیسی اکسل هم دوباره استفاده کرد.
📄 دانلود فایل اکسل نمونه «جمع چند شرطی کارانه با تابع Dsum» — شامل لیست پرداخت کارانه پرسنل، جدول شرط آماده، فرمول زنده Dsum با نام ستون و با شماره ستون، و یک مثال دوم با شرط OR برای تمرین گام به گام.
منبع : سایت حسابداری بیمارستان
کانال تلگرام @hospitalaccounting