معرفی تابع MROUND
تابع MROUND در اکسل برای گرد کردن یک عدد به نزدیکترین مضربِ یک عدد دیگر استفاده میشود. یعنی شما مشخص میکنید «میخواهم عدد به نزدیکترین مضربِ 5 گرد شود» یا «به نزدیکترین مضرب 0.25» یا «به نزدیکترین 1000». این تابع وقتی بسیار کاربردی است که بخواهید اعداد را به واحدهای استاندارد (مثلاً 10، 50، 100، 1000) یا گامهای خاص (مثل 0.5 یا 0.25) گرد کنید.
نکته مهم: MROUND مثل ROUND نیست که تعداد رقم اعشار را مشخص کند؛ بلکه «مضرب» را مشخص میکند. همچنین در اکسل، عدد به نزدیکترین مضرب گرد میشود (نه همیشه رو به بالا یا رو به پایین).
مثال ساده فارسی: فرض کنید قیمت 12,300 تومان دارید و میخواهید به نزدیکترین مضرب 1,000 تومان گرد شود.
=MROUND(12300;1000)
نتیجه: 12,000 (چون 12,300 به 12,000 نزدیکتر از 13,000 است).
کاربردهای اصلی تابع MROUND
- گرد کردن مبلغها به نزدیکترین مضرب مشخص (مثلاً نزدیکترین 1000 تومان)
- استانداردسازی بستهبندی/کارتنها (مثلاً نزدیکترین مضرب 12 عدد)
- زمانبندی و شیفتبندی (مثلاً گرد کردن دقیقهها به نزدیکترین 15 دقیقه)
- محاسبات مالی و بودجهبندی با گامهای ثابت (مثلاً نزدیکترین 0.05 یا 0.1)
- گرد کردن متراژ، وزن یا تعداد به واحدهای رایج (مثلاً نزدیکترین 0.5 کیلو)
- یکسانسازی دادهها برای گزارشگیری و نمودارها
ساختار (Syntax)
ساختار کلی تابع:
=MROUND(number, multiple)
ساختار به فارسی (در اکسل فارسی/با جداکننده ;):
=MROUND(عدد;مضرب)
آرگومانها
number / عدد
عددی که میخواهید گرد شود. میتواند عدد ثابت باشد (مثل 12300) یا یک سلول (مثل A2) یا نتیجه یک فرمول.
multiple / مضرب
عددی که مشخص میکند گرد کردن به «مضربِ چه عددی» انجام شود. مثلاً اگر multiple برابر 1000 باشد، خروجی یکی از مضربهای 1000 خواهد شد (… 11000، 12000، 13000 …).
نکته کلیدی: در اکسل، علامت number و multiple باید یکسان باشد (هر دو مثبت یا هر دو منفی). اگر یکی مثبت و دیگری منفی باشد، معمولاً خطای #NUM! میگیرید.
مثالهای ساده و پایه
مثال 1: گرد کردن به نزدیکترین 10
فرض کنید عدد در سلول A2 برابر 127 است و میخواهید به نزدیکترین 10 گرد شود.
=MROUND(A2;10)
نتیجه: 130
مثال 2: گرد کردن به نزدیکترین 0.5
فرض کنید وزن در سلول B2 برابر 3.26 است و میخواهید به نزدیکترین نیم کیلو گرد شود.
=MROUND(B2;0.5)
نتیجه: 3.5
مثال 3: نزدیکترین مضرب 12 (کارتنبندی)
اگر در C2 تعداد سفارش 57 باشد و هر کارتن 12 عدد جا بگیرد، برای نزدیکترین مضرب 12:
=MROUND(C2;12)
نتیجه: 60 (نزدیکترین مضرب 12 به 57)
مثالهای کاربردی و واقعی
مثال 1: گرد کردن مجموع فروش به نزدیکترین 1000 (ترکیب با SUM)
فرض کنید فروش روزانه در بازه D2:D10 است و میخواهید مجموع را به نزدیکترین 1000 گرد کنید.
=MROUND(SUM(D2:D10);1000)
کاربرد: گزارش مدیریتی و رند کردن اعداد بزرگ برای خوانایی.
مثال 2: گرد کردن فقط اگر شرط برقرار بود (ترکیب با IF و AND)
فرض کنید مبلغ در E2 است. اگر مشتری «فعال» باشد (F2=”فعال”) و مبلغ بیشتر از 0 باشد، به نزدیکترین 500 گرد کن؛ وگرنه خالی برگردان.
=IF(AND(F2="فعال";E2>0);MROUND(E2;500);"")
مثال 3: گرد کردن قیمت بر اساس نوع کالا (ترکیب با XLOOKUP)
فرض کنید نوع کالا در G2 است و در جدول J2:K10 برای هر نوع کالا «گام گرد کردن» تعریف کردهاید (مثلاً بعضی کالاها به 1000 و بعضی به 500 گرد شوند). سپس قیمت در H2 را با آن گام گرد کنید.
=MROUND(H2;XLOOKUP(G2;J2:J10;K2:K10))
مزیت: بدون IFهای طولانی، سیاست گرد کردن را از جدول میخوانید.
مثال 4: گرد کردن فقط ردیفهایی که شرط دارند (ترکیب با COUNTIF)
فرض کنید در I2 دستهبندی دارید و اگر دستهبندی “ویژه” بود، مبلغ را به نزدیکترین 100 گرد کن، در غیر این صورت بدون تغییر نمایش بده.
=IF(COUNTIF(I2;"ویژه")>0;MROUND(H2;100);H2)
ترکیب تابع MROUND با فرمولهای دیگر
- MROUND + SUM برای رند کردن جمع کل:
=MROUND(SUM(A2:A20);1000)
- MROUND + IF برای رند کردن شرطی:
=IF(B2="تهران";MROUND(C2;500);MROUND(C2;1000))
- MROUND + OR وقتی چند حالت مجاز دارید:
=IF(OR(D2="A";D2="B");MROUND(E2;50);MROUND(E2;10))
- MROUND + XLOOKUP برای گرد کردن پویا بر اساس جدول قوانین:
=MROUND(F2;XLOOKUP(G2;J2:J10;K2:K10))
- MROUND + ROUND (اول گرد کردن به مضرب، بعد کنترل اعشار نمایش):
=ROUND(MROUND(H2;0.05);2)
خطاهای رایج و روش رفع آنها
1) خطای #NUM!
این خطا معمولاً زمانی رخ میدهد که علامت number و multiple یکسان نباشد (یکی مثبت و دیگری منفی).
راهحل: اگر عدد منفی است، مضرب را هم منفی بگذارید یا هر دو را مثبت کنید (بسته به هدف).
=MROUND(-23;-5)
2) خروجی غیرمنتظره به خاطر اعشارهای شناور (Floating)
گاهی عددهایی مثل 0.1 یا 0.05 در اکسل دقیقاً همان مقدار ذخیره نمیشوند و ممکن است نتیجه کمی عجیب به نظر برسد.
راهحل: خروجی را با ROUND کنترل کنید یا ورودی را قبل از MROUND رند کنید.
=ROUND(MROUND(A2;0.1);2)
3) گرد شدن به سمت بالا/پایین مطابق انتظار شما نیست
MROUND همیشه به نزدیکترین مضرب گرد میکند، نه همیشه رو به بالا (مثل CEILING) یا رو به پایین (مثل FLOOR).
راهحل: اگر هدف شما «همیشه رو به بالا» یا «همیشه رو به پایین» است، از CEILING یا FLOOR استفاده کنید.
4) مقدار multiple برابر 0 است
اگر مضرب را 0 بدهید، نتیجه معمولاً 0 میشود و در عمل کاربردی نیست و ممکن است باعث برداشت اشتباه شود.
راهحل: قبل از محاسبه بررسی کنید multiple صفر نباشد.
=IF(B2=0;"";MROUND(A2;B2))
نکات حرفهای و ترفندهای مهم
- برای خوانایی، «مضرب» را در یک سلول ثابت (مثلاً $K$1) نگه دارید تا اگر سیاست گرد کردن تغییر کرد، همه فرمولها با یک تغییر آپدیت شوند.
- اگر دادهها ترکیبی از مثبت و منفی هستند (مثل مانده حساب)، قبل از MROUND تصمیم بگیرید آیا میخواهید گرد کردن روی قدرمطلق انجام شود یا با علامت واقعی. در صورت نیاز میتوانید از ABS استفاده کنید.
- برای کنترل خطا و جلوگیری از نمایش خطا در گزارش، از IFERROR استفاده کنید (بهخصوص وقتی multiple از جدول میآید).
=IFERROR(MROUND(A2;XLOOKUP(B2;J2:J10;K2:K10));"قانون گرد کردن پیدا نشد")
- اگر میخواهید نتیجه دقیقاً با تعداد اعشار مشخص نمایش داده شود (مثلاً 2 رقم)، علاوه بر قالببندی سلول، میتوانید ROUND را هم اضافه کنید.
- MROUND برای «گامهای زمانی» هم عالی است: اگر زمان را به دقیقه تبدیل کنید، گرد کنید، سپس دوباره به زمان برگردانید (در پروژههای زمانبندی).
تفاوت تابع MROUND با توابع مشابه
- MROUND: گرد کردن به نزدیکترین مضرب. (ممکن است بالا یا پایین برود.)
- ROUND: گرد کردن بر اساس تعداد رقم اعشار (مضرب محور نیست).
- CEILING: گرد کردن به بالا تا نزدیکترین مضرب.
- FLOOR: گرد کردن به پایین تا نزدیکترین مضرب.
- INT: فقط بخش اعشار را حذف میکند (همیشه به سمت منفی بینهایت میرود)، ربطی به مضرب دلخواه ندارد.
سازگاری با نسخههای مختلف اکسل
تابع MROUND در بیشتر نسخههای مدرن اکسل (از جمله Excel 2007، 2010، 2013، 2016، 2019، 2021 و Microsoft 365) پشتیبانی میشود.
نکته: در برخی نصبها، این تابع ممکن است وابسته به فعال بودن افزونه Analysis ToolPak نباشد (در نسخههای جدید معمولاً به صورت پیشفرض وجود دارد). اگر در نسخههای خیلی قدیمی تابع را نمیشناسد، از مسیر Add-ins وضعیت افزونهها را بررسی کنید یا از توابع جایگزین (مثل CEILING/FLOOR/ROUND) استفاده کنید.
نکته جداکننده آرگومانها: در اکسل فارسی معمولاً از ; استفاده میشود و در محیط انگلیسی از ,.
سؤالات پرتکرار درباره تابع MROUND
آیا MROUND همیشه عدد را رو به بالا گرد میکند؟
خیر. MROUND به نزدیکترین مضرب گرد میکند. برای گرد کردن همیشه رو به بالا از CEILING استفاده کنید.
اگر عدد دقیقاً وسط دو مضرب باشد چه میشود؟
اکسل عدد را به مضربی گرد میکند که از نظر فاصله برابر است؛ در حالتهای نیمه (مثل 2.5 بین 0 و 5 با مضرب 5) معمولاً به سمت دورتر از صفر (مشابه قواعد گرد کردن رایج) میرود، اما بهتر است روی داده واقعی تست کنید چون وابسته به مقدار و نمایش اعشار هم میتواند حساس باشد.
آیا میتوانم به نزدیکترین 25 یا 250 گرد کنم؟
بله، کافی است multiple را 25 یا 250 بگذارید.
چرا با عدد منفی خطای #NUM! میگیرم؟
احتمالاً number و multiple همعلامت نیستند. هر دو را منفی (یا هر دو را مثبت) کنید.
جمعبندی و پیشنهاد یادگیری بعدی
تابع MROUND یک ابزار بسیار کاربردی برای گرد کردن بر اساس مضرب است؛ مخصوصاً در سناریوهای مالی، گزارشگیری، بستهبندی، زمانبندی و استانداردسازی دادهها. با این تابع میتوانید خروجیهای تمیزتر و حرفهایتر بسازید و قوانین گرد کردن را هم با جدولها (مثلاً با XLOOKUP) پویا کنید.
پیشنهاد یادگیری بعدی: اگر با MROUND کار میکنید، یادگیری این توابع در قدم بعدی بسیار مفید است: CEILING و FLOOR (برای گرد کردن یکطرفه)، ROUND (کنترل اعشار)، و XLOOKUP (قانونگذاری و گرد کردن پویا بر اساس نوع کالا/مشتری).
