تابع dproduct در اکسل
تابع DPRODUCT یکی از توابع دیتابیسی (Database functions) در اکسل است که محصول (ضرب) مقادیر یک فیلد مشخص از رکوردهایی را محاسبه میکند که با معیارهای تعیینشده در محدودهٔ معیار تطابق داشته باشند. این تابع زمانی مفید است که بخواهید «محصول» مقادیر فیلدی خاص برای زیرمجموعهای از دادهها را بگیرید، مثلاً ضرب فروشها برای یک منطقهٔ مشخص یا ضرب ضریب سود برای محصول خاص.
نحو (Syntax)
نحو تابع به شکل زیر است:
=DPRODUCT(database, field, criteria)شرح پارامترها به صورت خلاصه:
- database: جدول دادهها شامل ردیف هدر (رؤوس ستونها) و رکوردها.
- field: نام ستون مدنظر (بهصورت رشته مثل “Sales”) یا شمارهٔ ستون در محدودهٔ database (مثلاً 3).
- criteria: محدودهای که شامل هدر (نام ستون) و یک یا چند ردیف معیار است.
نمونهٔ ساده با جدول
| Region | Product | Sales |
|---|---|---|
| North | A | 10 |
| North | B | 5 |
| South | A | 2 |
| South | B | 4 |
فرض کنید این جدول در A1:C5 قرار دارد (A1:C1 سطر هدر).
مثال عملی
میخواهیم حاصل ضرب مقادیر ستون Sales برای رکوردهایی که Region = “North” و Product = “A” هستند را محاسبه کنیم.
=DPRODUCT(A1:C5, "Sales", E1:F2)در اینجا محدودهٔ معیار E1:F2 باید شبیه به این باشد:
| Region | Product |
|---|---|
| North | A |
توضیح: تابع DPRODUCT مقدار 10 را بهعنوان محصول رکوردهای مطابق برمیگرداند (در این مثال تنها یک رکورد وجود دارد، بنابراین محصول همان مقدار آن رکورد است).
استفاده از شمارهٔ فیلد بهجای نام
بهجای نام ستون میتوانید شمارهٔ ستون در محدودهٔ database را قرار دهید، مثلاً ستون سوم:
=DPRODUCT(A1:C5, 3, E1:F2)توضیح: عدد 3 به ستون سوم (Sales) اشاره میکند. استفاده از شماره گاهی در فرمولهای پویا راحتتر است، اما نام خواناتر و مقاومتر در برابر تغییرات ساختار جدول است.
معیارهای پیچیده — AND و OR
- برای اعمال شرطهای AND، تمام معیارها را در یک ردیف قرار دهید (مثلاً Region = “North” و Product = “A”).
- برای شرطهای OR، هر مجموعهٔ شرط OR را در ردیف جداگانه قرار دهید. مثلاً یک ردیف برای Region = “North” و ردیف دیگر برای Region = “South” که باعث میشود رکوردهایی از هر دو ردیف انتخاب شوند.
نکات و خطاهای متداول
- هدرهای محدودهٔ database و محدودهٔ criteria باید دقیقاً مطابقت داشته باشند (نام ستونها یکسان باشد). در غیر این صورت تابع ممکن است خطا یا نتیجهٔ نادرست بدهد.
- اگر فیلد انتخابی شامل مقادیر غیرعددی باشد، آنها در عملیات ضرب دخالت داده نمیشوند یا ممکن است منجر به رفتار غیرمنتظره شود؛ بهتر است پیش از استفاده دادهها را پاکسازی و از عددی بودن مطمئن شوید.
- همیشه میتوانید خروجی را با DCOUNT یا COUNTIFS پیشبررسی کنید تا مطمئن شوید رکوردی مطابق معیار وجود دارد؛ سپس DPRODUCT را اجرا کنید یا از IFERROR برای مدیریت خطا استفاده کنید.
جایگزینها و نسخههای جدید اکسل
در اکسلهای جدید (Excel 365) میتوان از ترکیب توابع دینامیک مثل FILTER و PRODUCT استفاده کرد که خواناتر و انعطافپذیرتر است. مثال زیر محصول مقادیر Sales را برای Region = “North” محاسبه میکند:
=PRODUCT(FILTER(C2:C5, A2:A5="North"))توضیح: FILTER محدودهٔ C2:C5 را بر اساس شرط A2:A5=”North” فیلتر میکند و PRODUCT حاصل را ضرب میکند. این روش در اکسلهای قدیمی نیاز به فرمول آرایهای (Ctrl+Shift+Enter) داشت؛ در Excel 365 بهطور دینامیک اجرا میشود.
جایگزین با فرمول آرایهای در نسخههای قدیمی
=PRODUCT(IF((A2:A5="North")*(B2:B5="A"), C2:C5))توضیح: این فرمول در نسخههای قدیمی باید با Ctrl+Shift+Enter وارد شود تا بهصورت آرایهای محاسبه گردد. عبارت IF بهعنوان فیلتر عمل میکند و فقط مقادیر C2:C5 که هر دو شرط را دارند در ضرب وارد میشوند.
نکات ارشادی (Expert tips)
- برای گزارشگیری مطلوب، محدودههای database و criteria را با نامهای تعریفشده (Named Ranges) مشخص کنید؛ خوانایی و نگهداری فرمول بهتر میشود.
- در جداول بزرگ، توجه داشته باشید که عملیات ضرب میتواند بهسرعت به اعداد بسیار بزرگ یا کوچک منجر شود؛ در صورت نیاز از LOG10 و جمع لگاریتمها برای جلوگیری از سرریز (overflow) استفاده کنید.
- وقتی نیاز به مدیریت خطا دارید، از IFERROR یا ترکیب COUNTIFS/DCOUNT برای پیشبررسی استفاده کنید تا رفتار پایدار و قابل پیشبینی داشته باشید.
جمعبندی
تابع DPRODUCT ابزار مناسبی برای محاسبهٔ محصول مقادیر بر اساس معیارهای دیتابیسی است؛ اما در بسیاری از موارد اکسل مدرن ترکیب FILTER و PRODUCT یا فرمولهای آرایهای انعطافپذیری و خوانایی بیشتری فراهم میکنند. قبل از استفاده حتماً صحت هدرها، عددی بودن دادهها و وجود رکوردهای مطابق معیار را بررسی کنید تا از نتایج غیرمنتظره جلوگیری شود.
آیا این مطلب برای شما مفید بود ؟




