تابع ROUND در اکسل
تابع ROUND یکی از پایهایترین و پرکاربردترین توابع عددی در اکسل است که برای گرد کردن اعداد به یک دقت مشخص به کار میرود. ساختار کلی تابع به شکل زیر است:
ساختار تابع
=ROUND(number, num_digits)
- number: عدد یا ارجاع به سلولی که قرار است گرد شود.
- num_digits: تعداد رقمهای اعشاری که میخواهیم نگهداریم. مقدار میتواند مثبت، صفر یا منفی باشد.
معنای num_digits
- اگر num_digits > 0: گرد کردن به آن تعداد رقم اعشار (مثلاً 2 یعنی گرد کردن به صدم).
- اگر num_digits = 0: گرد کردن به عدد صحیح نزدیکترین واحد.
- اگر num_digits < 0: گرد کردن به چندهزارانگان (مثلاً -1 گرد به دهگان، -2 گرد به صدگان).
مثالهای عملی
| ورودی | فرمول | نتیجه |
|---|---|---|
| 123.456 | =ROUND(123.456,2) | 123.46 |
| 123.456 | =ROUND(123.456,0) | 123 |
| 123.456 | =ROUND(123.456,-1) | 120 |
| -2.5 | =ROUND(-2.5,0) | -3 |
نکته دقیق دربارهٔ نحوهٔ گرد کردن اعداد .5
تابع ROUND در اکسل (Worksheet function) اعداد با قسمت .5 را به سمت دور شدن از صفر (away from zero) گرد میکند: مثلاً 2.5 → 3 و -2.5 → -3. دقت کنید که تابع VBA.Round از روش متفاوتی (round half to even یا banker’s rounding) استفاده میکند و ممکن است نتیجهٔ متفاوتی بدهد.
موارد کاربردی و نکات حرفهای
- گرد کردن مبالغ پولی: برای نمایش قیمتها معمولاً از =ROUND(A1,2) استفاده میشود تا دو مقدار اعشار (سنت) نگه داشته شود.
- گرد کردن به نزدیکترین مضرب خاص: برای گرد کردن به مضربی مثل 5 یا 0.05 میتوان از تابع MROUND یا ترکیب ROUND استفاده کرد.
- کنترل نمایش در مقابل مقدار واقعی: فرمت سلول (Format Cells) فقط نمایش را تغییر میدهد؛ اگر نیاز دارید مقدار ذخیره شده هم گرد شود از تابع ROUND استفاده کنید یا گزینهٔ “Set precision as displayed” (با احتیاط) در تنظیمات اکسل فعال کنید.
- اجتناب از خطاهای اعشاری: برای حذف اثر خطاهای محاسبات داخلی ممیز شناور، استفاده از ROUND قبل از مقایسه یا شرطگذاری مفید است.
گرد کردن به نزدیکترین مضرب (مثالهای عملی)
- با MROUND (در نسخههای پشتیبانی شده): =MROUND(A1,5) برای گرد کردن به نزدیکترین 5.
- اگر MROUND موجود نیست: =ROUND(A1/5,0)*5
- گرد کردن به 0.05 (مثلاً برای نیم سنت): =MROUND(A1,0.05) یا =ROUND(A1/0.05,0)*0.05
گرد کردن به تعداد ارقام معنیدار (Significant Figures)
اگر بخواهیم عدد را به n رقم معنیدار (نه فقط رقمهای اعشاری) گرد کنیم، میتوان از فرمول زیر استفاده کرد:
=ROUND(A1, n - 1 - INT(LOG10(ABS(A1))))
این فرمول تعداد ارقام اعشاری موردنیاز برای رسیدن به n رقم معنیدار را محاسبه میکند و سپس عدد را گرد میکند.
مثال: برای گرد کردن 12345 به 3 رقم معنیدار:
=ROUND(12345, 3 - 1 - INT(LOG10(ABS(12345))))
نتیجه: 12300
توضیح: ابتدا لگاریتم پایه 10 مقدار عدد را محاسبه میکنیم تا جایگاه دستوری را مشخص کنیم، سپس مقدار num_digits مناسب را برای ROUND میسازیم.
مقایسه ROUND با توابع نزدیک
- ROUNDUP: همیشه به سمت دور از صفر گرد میکند (مثلاً ROUNDUP(2.1,0) → 3).
- ROUNDDOWN: همیشه به سمت صفر گرد میکند (مثلاً ROUNDDOWN(-2.9,0) → -2).
- MROUND: گرد کردن به نزدیکترین مضرب یک مقدار مشخص (نیاز به Analysis ToolPak یا نسخههای جدیدتر ندارد، اما رفتار با اعداد منفی نیاز به توجه دارد).
- INT و TRUNC: INT همیشه به پایین بینهایت گرد میکند (INT(-1.2) → -2)، در حالی که TRUNC قسمت اعشار را حذف میکند (TRUNC(-1.2) → -1).
نمونهٔ عملی در یک سناریوی مالی
فرض کنید لیست پرداختها دارید و میخواهید مجموع فاکتورها را به نزدیکترین 0.05 (۵ سنت) گرد کنید:
=SUM(ROUND(A2:A10,2))
توضیح: اگر میخواهید هر فاکتور جداگانه گرد شود و سپس جمع زده شود، از ROUND در داخل SUMPRODUCT یا استفادهٔ سلولی برای هر سطر استفاده کنید. اگر بخواهید کل مجموع را به 0.05 گرد کنید:
=MROUND(SUM(A2:A10),0.05)
توضیح: اولین فرمول هر سطر را جداگانه به دو رقم اعشار گرد میکند و سپس جمع میزند؛ فرمول دوم فقط مجموع نهایی را به ۵ سنت نزدیک میکند.
نکات احتیاطی و بهترین روشها
- برای مقایسهٔ اعداد (مثلاً IF) بهتر است قبل از مقایسه از ROUND استفاده کنید تا خطاهای ممیز شناور مشکلساز نشوند.
- آگاه باشید که تغییر فرمت سلول فقط نمایش را تغییر میدهد، مقدار حقیقی سلول ثابت باقی میماند.
- استفاده از توابع صحیح (INT/ TRUNC / ROUNDUP) بستگی به نیاز تجاری دارد؛ در گزارشهای مالی معمولاً ROUND یا ROUNDUP/ROUNDDOWN با قوانین خاص شرکت ترکیب میشوند.
- در خودکارسازی با ماکرو: بین رفتار ROUND در شیت و VBA تفاوت وجود دارد؛ برای سازگاری، از WorksheetFunction.Round در VBA یا تبدیلها استفاده کنید.
خلاصه
تابع ROUND ابزار ساده و قدرتمندی برای کنترل دقت عددی در اکسل است. دانستن نحوهٔ کار num_digits، تفاوت با توابع مشابه (ROUNDUP، ROUNDDOWN، MROUND، INT، TRUNC) و آگاهی از رفتار در مقابل اعداد منفی و حالات .5، به شما کمک میکند تا گزارشها و محاسبات دقیقتر و قابل اتکاتری تولید کنید.
آیا این مطلب برای شما مفید بود ؟




