ویژگی تصویر

تابع RANDBETWEEN در اکسل — تولید اعداد تصادفی صحیح به‌صورت ساده و کاربردی

  /  اکسل   /  تابع RANDBETWEEN در اکسل
بنر تبلیغاتی الف

تابع RANDBETWEEN در اکسل یکی از ساده‌ترین و پرکاربردترین توابع برای تولید اعداد صحیح تصادفی در بازه‌ای که شما تعیین می‌کنید است. این تابع برای نمونه‌سازی، تست فرمول‌ها، تخصیص‌ کارها، تولید داده‌های نمونه و کاربردهای آموزشی مناسب است. در این مقاله به صورت جامع و گام‌به‌گام سینتکس، مثال‌ها، نکات پیشرفته، محدودیت‌ها و جایگزین‌ها را بررسی می‌کنیم.

سینتکس و پارامترها

سینتکستوضیح
=RANDBETWEEN(bottom, top)بازمی‌گرداند یک عدد صحیح تصادفی بین bottom و top (هر دوی شامل)
  • bottom: کوچک‌ترین عدد صحیح در بازه.
  • top: بزرگ‌ترین عدد صحیح در بازه.
  • هرگاه bottom > top باشد، اکسل خطا می‌دهد.
  • این تابع پویا و volatile است؛ یعنی در هر بار بازفرمول‌سازی مقدار تغییر می‌کند.

مثال‌های پایه

=RANDBETWEEN(1,10)

این فرمول عددی صحیح بین 1 و 10 (شامل 1 و 10) تولید می‌کند. هر بار که کاری در شیت انجام دهید یا فرمول‌ها بازمحاسبه شوند، مقدار تغییر خواهد کرد.

=RANDBETWEEN(0,1)

خروجی یا 0 خواهد بود یا 1 — معمولا برای شبیه‌سازی دو حالت (مانند سکه) کاربرد دارد.

تولید اعداد اعشاری

=RANDBETWEEN(1,100)/100

این روش برای دریافت اعشاری با دو رقم اعشار بین 0.01 تا 1.00 مناسب است. اما دقت کنید که RANDBETWEEN همیشه عدد صحیح تولید می‌کند و برای پیوسته‌سازی باید تقسیم یا ترکیب با RAND انجام شود.

=RAND()*(Top-Bottom)+Bottom

برای تولید عدد تصادفی پیوسته (اعشاری) بین Bottom و Top از تابع RAND استفاده کنید. مثال بالا مقدار اعشاری بین Bottom و Top برمی‌گرداند.

تولید تاریخ تصادفی

=RANDBETWEEN(DATE(2025,1,1), DATE(2025,12,31))

این فرمول یک تاریخ تصادفی در سال 2025 تولید می‌کند. سلول را با فرمت تاریخ نمایش دهید تا مقدار به شکل صحیح دیده شود.

انتخاب تصادفی از فهرست

=INDEX(A2:A20, RANDBETWEEN(1, COUNTA(A2:A20)))

این ترکیب یک مقدار تصادفی از محدوده A2:A20 انتخاب می‌کند. COUNTA تعداد موارد را به‌دست می‌دهد و RANDBETWEEN ایندکس تصادفی انتخاب می‌کند.

نمونه‌گیری بدون تکرار (بدون جایگزینی)

اگر می‌خواهید نمونه‌ای بدون تکرار بگیرید، بهترین روش در نسخه‌های جدید اکسل استفاده از توابع آرایه‌ای است. دو روش برای نسخه‌های متفاوت آورده شده است:

=SORTBY(A2:A20, RANDARRAY(ROWS(A2:A20)))

در Excel 365 این فرمول لیست A2:A20 را بر اساس یک آرایه تصادفی مرتب می‌کند و خروجی را به‌صورت آرایه خواهد داد؛ اولین n سطر، نمونه بدون تکرار هستند.

1) در ستون کناری B2:B20 بنویسید =RAND()
2) سپس جدول را بر اساس ستون B مرتب کنید و n سطر اول را بردارید.

در نسخه‌های قدیمی‌تر که تابع‌های آرایه‌ای پیشرفته وجود ندارد، می‌توانید در ستون کمکی RAND() تولید کنید و سپس بر اساس آن Sort کنید تا نمونه بدون تکرار دریافت کنید.

نکات مربوط به Volatility و کارایی

  • RANDBETWEEN یک تابع volatile است؛ یعنی هر بار که شیت بازنویسی یا فرمول‌ها بازمحاسبه شوند، مقادیر تغییر می‌کنند.
  • برای ثابت نگه داشتن مقادیر، پس از تولید، محدوده را کپی و Paste Special → Values کنید.
  • اگر تعداد زیادی تابع RANDBETWEEN دارید، ممکن است عملکرد شیت کاهش یابد؛ در این حالت از روش‌های غیرvolatile یا محاسبات براساس یک ستون RAND کمکی استفاده کنید.

محدودیت‌ها و امنیت

  • RANDBETWEEN برای کاربردهای آماری و نمون‌گیری عمومی مناسب است اما برای مقاصد رمزنگاری یا تولید اعداد امن مناسب نیست.
  • قابلیت تعیین seed (بذر) برای تکرارپذیری نتایج در RANDBETWEEN وجود ندارد. برای تکرارپذیری باید مقادیر را ذخیره کنید یا از ابزارهای آماری خارج از اکسل استفاده کنید.
  • در نسخه‌های خیلی قدیمی اکسل (قبل از Excel 2007) تابع RANDBETWEEN ممکن بود در Analysis ToolPak قرار داشته باشد و لازم باشد افزونه فعال شود؛ در نسخه‌های جدید به‌صورت پیش‌فرض در دسترس است.

ترفندها و نکات حرفه‌ای

  • تولید شماره تلفن یا کد با صفرهای پیشرو:
    =TEXT(RANDBETWEEN(0,999999),"000000")

    این فرمول یک کد شش‌رقمی تولید می‌کند و با TEXT صفرهای پیشرو را حفظ می‌کند.

  • تولید زمان تصادفی:
    =TIME(RANDBETWEEN(0,23), RANDBETWEEN(0,59), RANDBETWEEN(0,59))

    یک زمان تصادفی در طول شبانه‌روز می‌سازد؛ سلول را با فرمت Time نمایش دهید.

  • ترکیب با INDEX برای ایجاد رمز عبور ساده یا انتخاب تصادفی کاربران:

خطاها و رفع‌شان

  • اگر #NAME? دیدید: احتمالاً تابع در نسخه خیلی قدیمی نیاز به Analysis ToolPak دارد یا تابع به درستی تایپ نشده است.
  • اگر bottom بزرگ‌تر از top باشد، اکسل خطای عددی یا غیرمنتظره خواهد داشت؛ ترتیب پارامترها را بررسی کنید.

مثال‌های عملی و سناریوها

چند کاربرد متداول:

  • ایجاد داده‌های نمونه برای گزارش‌ها
  • تخصیص تصادفی وظایف به اعضای تیم (با INDEX)
  • شبیه‌سازی احتمالات ساده (آزمایش سکه، تاس)
  • تست پرفورمنس فرمول‌ها با داده‌های متغیر

جایگزین‌ها و ترکیب‌ها

  • برای اعداد اعشاری از RAND یا RANDARRAY استفاده کنید.
  • در Excel 365 توابع جدید مثل RANDARRAY و SORTBY کارها را سریع‌تر و با قابلیت آرایه‌ای انجام می‌دهند.

جمع‌بندی کوتاه

RANDBETWEEN توابع بسیار ساده ولی قدرتمندی را برای تولید اعداد صحیح تصادفی در اکسل فراهم می‌کند. با ترکیب‌های هوشمندانه (INDEX، RAND، RANDARRAY، TEXT و DATE) می‌توانید انواع داده‌های تصادفی مانند تاریخ، زمان، کدهای قالب‌بندی‌شده و نمونه‌های بدون تکرار بسازید. فقط به یاد داشته باشید که این تابع volatile است و برای کاربردهای حساس به امنیت یا نیازمند تکرارپذیری مناسب نیست.

آیا این مطلب برای شما مفید بود ؟

خیر
بله
موضوعات شما در انجمن: