نحوه تولید اعداد تصادفی در اکسل بدون تکرار

  • این را به اشتراک بگذارید
Michael Brown

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

همانطور که احتمالاً می‌دانید، مایکروسافت اکسل چندین عملکرد برای تولید اعداد تصادفی دارد. مانند RAND، RANDBETWEEN و RANDARRAY. با این حال، هیچ تضمینی وجود ندارد که نتیجه هر تابعی بدون تکرار باشد.

این آموزش چند فرمول برای ایجاد لیستی از اعداد تصادفی منحصر به فرد را توضیح می دهد. لطفاً توجه داشته باشید که برخی از فرمول ها فقط در آخرین نسخه اکسل 365 و 2021 کار می کنند در حالی که برخی دیگر را می توان در هر نسخه اکسل 2019، اکسل 2016، اکسل 2013 و قبل از آن استفاده کرد.

    دریافت کنید. فهرستی از اعداد تصادفی منحصربه‌فرد با مرحله از پیش تعریف‌شده

    فقط در Excel 365 و Excel 2021 کار می‌کند که از آرایه‌های پویا پشتیبانی می‌کنند.

    اگر آخرین نسخه اکسل را دارید، ساده‌ترین نسخه راه برای بدست آوردن لیست اعداد تصادفی منحصر به فرد ترکیب 3 تابع آرایه پویا جدید است: SORTBY، SEQUENCE و RANDARRAY:

    SORTBY(SEQUENCE( n)، RANDARRAY( n))

    جایی که n تعداد مقادیر تصادفی است که می خواهید دریافت کنید.

    به عنوان مثال، برای ایجاد لیستی از 5 عدد تصادفی، از 5 برای n :

    =SORTBY(SEQUENCE(5), RANDARRAY(5))

    فرمول را در بالاترین سلول وارد کنید، کلید Enter را فشار دهید و نتایج به طور خودکار بر رویتعداد سلول ها مشخص شده است.

    همانطور که در تصویر زیر می بینید، این فرمول در واقع اعداد را از 1 تا 5 به ترتیب تصادفی مرتب می کند . اگر به یک مولد اعداد تصادفی کلاسیک بدون تکرار نیاز دارید، لطفاً نمونه‌های دیگری را که در زیر آمده است بررسی کنید.

    در فرمول بالا، شما فقط تعیین می کنید که چند ردیف پر شود. همه آرگومان‌های دیگر به مقادیر پیش‌فرض خود رها می‌شوند، به این معنی که لیست از 1 شروع می‌شود و 1 افزایش می‌یابد. اگر می‌خواهید یک عدد اول و افزایش متفاوتی داشته باشید، سپس مقادیر خود را برای سومین تنظیم کنید ( شروع ) و آرگومان های چهارم ( step ) تابع SEQUENCE.

    به عنوان مثال، برای شروع از 100 و افزایش 10، از این فرمول استفاده کنید:

    =SORTBY(SEQUENCE(5, , 100, 10), RANDARRAY(5))

    این فرمول چگونه کار می کند:

    از داخل به بیرون کار می کند، فرمول به این صورت است:

    • تابع SEQUENCE آرایه ای از اعداد متوالی بر اساس مقدار شروع مشخص یا پیش‌فرض و اندازه گام در حال افزایش. این دنباله به آرگومان آرایه SORTBY می رود.
    • تابع RANDARRAY آرایه ای از اعداد تصادفی به همان اندازه دنباله ایجاد می کند (5 ردیف، 1 ستون در مورد ما). مقدار min و max واقعاً مهم نیست، بنابراین می‌توانیم آن‌ها را به حالت پیش‌فرض رها کنیم. این آرایه به آرگومان by_array SORTBY می رود.
    • تابع SORTBY اعداد متوالی تولید شده توسط SEQUENCE را با استفاده از آرایه ای از اعداد تصادفی تولید شده توسطRANDARRAY.

    لطفاً به خاطر داشته باشید که این فرمول ساده فهرستی از اعداد تصادفی غیر تکراری را با یک مرحله از پیش تعریف شده ایجاد می کند. برای دور زدن این محدودیت، از یک نسخه پیشرفته از فرمول شرح داده شده در زیر استفاده کنید.

    لیستی از اعداد تصادفی بدون تکرار ایجاد کنید

    فقط در Excel 365 و Excel 2021 کار می کند که از پویا پشتیبانی می کنند. آرایه ها.

    برای تولید اعداد تصادفی در اکسل بدون تکرار، از یکی از فرمول های عمومی زیر استفاده کنید.

    اعداد صحیح تصادفی :

    INDEX(UNIQUE( RANDARRAY( n ^2، 1، دقیقه ، حداکثر ، TRUE))، SEQUENCE( n ))

    اعداد اعشاری تصادفی :

    INDEX(UNIQUE(RANDARRAY( n ^2, 1, min , max , FALSE)), SEQUENCE( n ))

    جایی که:

    • N تعداد مقادیری است که باید ایجاد شود.
    • حداقل حداقل مقدار است.
    • Max حداکثر مقدار است.

    به عنوان مثال، برای ایجاد لیستی از 5 اعداد صحیح تصادفی از 1 تا 100 بدون تکرار، از این فرمول استفاده کنید:

    =INDEX(UNIQUE(RANDARRAY(5^2, 1, 1, 100, TRUE)), SEQUENCE(5))

    برای ایجاد 5 عدد تصادفی منحصر به فرد اعداد اعشاری ، FALSE را در آخرین آرگومان RANDARRAY قرار دهید یا این را حذف کنید. آرگومان:

    =INDEX(UNIQUE(RANDARRAY(5^2, 1, 1, 100)), SEQUENCE(5))

    این فرمول چگونه کار می کند:

    در fi در نگاه اول، فرمول ممکن است کمی مشکل به نظر برسد، اما با نگاهی دقیق تر، منطق آن بسیار ساده است:

    • تابع RANDARRAY آرایه ای از اعداد تصادفی را بر اساس مقادیر حداقل و حداکثری که شما مشخص کرده اید ایجاد می کند. برای تعیین تعداد مقادیراز آنجایی که آرایه به دست آمده ممکن است تعداد تکراری نداشته باشد، باید آرایه ای از مقادیر کافی برای انتخاب UNIQUE ارائه دهید. در این مثال، ما فقط به 5 عدد تصادفی منحصربه‌فرد نیاز داریم، اما به RANDARRAY دستور می‌دهیم تا 25 (5^2) تولید کند.
    • عملکرد UNIQUE همه موارد تکراری را حذف می‌کند و یک آرایه بدون تکرار را به INDEX تغذیه می‌کند.
    • از آرایه ارسال شده توسط UNIQUE، تابع INDEX اولین مقادیر n را همانطور که توسط SEQUENCE مشخص شده است استخراج می کند (در مورد ما 5 عدد). از آنجا که مقادیر از قبل به ترتیب تصادفی هستند، واقعاً مهم نیست که کدام یک باقی بمانند.

    توجه داشته باشید. در آرایه های بسیار بزرگ، این فرمول ممکن است کمی کند باشد. به عنوان مثال، برای به دست آوردن یک لیست از 1000 عدد منحصر به فرد به عنوان نتیجه نهایی، RANDARRAY باید آرایه ای از 1000000 عدد تصادفی (1000^2) را در داخل تولید کند. در چنین شرایطی، به جای افزایش قدرت، می توانید n را در مثلاً 10 یا 20 ضرب کنید. فقط به خاطر داشته باشید که آرایه کوچکتر به تابع UNIQUE (کوچک نسبت به عدد دلخواه) ارسال می شود. از مقادیر تصادفی منحصربه‌فرد)، احتمال این که همه سلول‌های محدوده ریخته‌شده با نتایج پر نشوند، بیشتر است.

    تعدادی از اعداد تصادفی غیر تکراری در اکسل ایجاد کنید

    فقط در Excel 365 و Excel 2021 کار می کند که از آرایه های پویا پشتیبانی می کنند.

    برای تولید طیف وسیعی از اعداد تصادفی بدون هیچتکرار می کند، می توانید از این فرمول استفاده کنید:

    INDEX(UNIQUE(RANDARRAY( n ^2, 1, min , max )), SEQUENCE( ردیف‌ها ، ستون‌ها ))

    جایی:

    • n تعداد سلول‌هایی است که باید پر شوند. برای جلوگیری از محاسبات دستی، می توانید آن را به صورت (تعداد ردیف * تعداد ستون) ارائه کنید. به عنوان مثال، برای پر کردن 10 سطر و 5 ستون، از 50^2 یا (10*5)^2 استفاده کنید.
    • ردیف تعداد سطرهایی است که باید پر کنید.
    • ستون‌ها تعداد ستون‌هایی است که باید پر شوند.
    • حداقل کمترین مقدار است.
    • حداکثر بالاترین مقدار است. مقدار.

    همانطور که ممکن است متوجه شوید، فرمول اساساً مانند مثال قبلی است. تنها تفاوت در تابع SEQUENCE است که در این مورد هم تعداد سطرها و هم ستون ها را تعریف می کند.

    به عنوان مثال، برای پر کردن محدوده ای از 10 سطر و 3 ستون با اعداد تصادفی منحصر به فرد از 1 تا 100، از استفاده کنید. این فرمول:

    =INDEX(UNIQUE(RANDARRAY(30^2, 1, 1, 100)), SEQUENCE(10, 3))

    و آرایه ای از اعشار تصادفی بدون تکرار اعداد تولید می کند:

    اگر به اعداد کامل نیاز دارید، آخرین آرگومان RANDARRAY را روی TRUE قرار دهید. :

    =INDEX(UNIQUE(RANDARRAY(30^2, 1, 1, 100, TRUE)), SEQUENCE(10,3))

    نحوه تولید اعداد تصادفی منحصر به فرد در اکسل 2019، 2016 و قبل از آن

    از آنجایی که هیچ نسخه ای به جز اکسل 365 و 2021 از آرایه های پویا پشتیبانی نمی کند، هیچ یک از موارد فوق راه حل ها در نسخه های قبلی اکسل کار می کنند. با این حال، این به این معنی نیست که اصلاً راه حلی وجود ندارد، فقط باید چند مرحله دیگر را انجام دهید:

    1. یک لیست از اعداد تصادفی ایجاد کنید. بر اساس شمانیاز دارد، از یکی از این موارد استفاده کنید:
      • تابع RAND برای تولید اعداد اعشاری تصادفی بین 0 و 1، یا
      • تابع RANDBETWEEN برای تولید اعداد صحیح تصادفی در محدوده ای که شما تعیین می کنید.

      مطمئن شوید که مقادیر بیشتری از آنچه واقعاً نیاز دارید تولید می کنید زیرا برخی از آنها تکراری خواهند بود و بعداً آنها را حذف خواهید کرد.

      برای این مثال، ما در حال ایجاد لیستی از 10 عدد صحیح تصادفی بین 1 و 20 توسط با استفاده از فرمول زیر:

      =RANDBETWEEN(1,20)

      برای وارد کردن فرمول در چندین سلول به صورت یکجا، تمام سلول ها را انتخاب کنید (در مثال ما A2:A15)، فرمول را در نوار فرمول تایپ کنید و Ctrl + Enter را فشار دهید. یا می‌توانید طبق معمول فرمول را در سلول اول وارد کنید، و سپس آن را به تعداد سلول‌های مورد نیاز پایین بکشید.

      به هر حال، نتیجه چیزی شبیه به این خواهد بود:

      همانطور که ممکن است توجه داشته باشید، ما فرمول را در 14 سلول وارد کرده ایم، اگرچه در نهایت فقط به 10 عدد تصادفی منحصر به فرد نیاز داریم.

    2. فرمول ها را به مقادیر تغییر دهید. از آنجایی که هم RAND و هم RANDBETWEEN با هر تغییر در کاربرگ دوباره محاسبه می‌شوند، لیست اعداد تصادفی شما به طور مداوم تغییر می‌کند. برای جلوگیری از این اتفاق، از Paste Special > مقادیر برای تبدیل فرمول ها به مقادیر همانطور که در نحوه جلوگیری از محاسبه مجدد اعداد تصادفی توضیح داده شده است.

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

    3. حذف موارد تکراری. برای داشتن آنانجام شد، همه اعداد را انتخاب کنید، به برگه داده > ابزارهای داده بروید و روی حذف موارد تکراری کلیک کنید. در کادر محاوره ای حذف موارد تکراری که ظاهر می شود، به سادگی بدون تغییر چیزی روی OK کلیک کنید. برای جزئیات بیشتر، لطفاً نحوه حذف موارد تکراری در اکسل را ببینید.

    تمام شد! همه موارد تکراری از بین رفته اند و اکنون می توانید اعداد اضافی را حذف کنید.

    نکته. به‌جای ابزار داخلی اکسل، می‌توانید از حذف کننده تکراری پیشرفته ما برای اکسل استفاده کنید.

    چگونه از تغییر اعداد تصادفی جلوگیری کنیم

    همه توابع تصادفی سازی در اکسل از جمله RAND، RANDBETWEEN و RANDARRAY فرار هستند، به این معنی که هر بار که صفحه گسترده تغییر می کند دوباره محاسبه می شود. در نتیجه با هر تغییر مقادیر تصادفی جدیدی تولید می شود. برای جلوگیری از ایجاد خودکار اعداد جدید، از Paste Special > مقادیر قابلیت جایگزینی فرمول ها با مقادیر ایستا را دارد. به این صورت است:

    1. همه سلول ها را با فرمول تصادفی خود انتخاب کنید و Ctrl + C را فشار دهید تا آنها را کپی کنید.
    2. روی محدوده انتخاب شده راست کلیک کرده و روی Paste Special کلیک کنید. > مقادیر . همچنین، می‌توانید Shift + F10 و سپس V را فشار دهید، که میانبر این گزینه است.

    برای جزئیات بیشتر، لطفاً به نحوه تغییر فرمول‌ها به مقادیر در اکسل مراجعه کنید.

    تولید کننده اعداد تصادفی برای اکسل بدون تکرار

    کاربران Ultimate Suite ما واقعاً به هیچ یک از راه حل های بالا نیاز ندارند زیراآنها قبلاً یک ژنراتور تصادفی جهانی در اکسل خود دارند. این ابزار به راحتی می تواند لیستی از اعداد صحیح غیر تکراری، اعداد اعشاری، تاریخ ها و رمزهای عبور منحصر به فرد تولید کند. به این صورت است:

    1. در برگه ابزارهای Ablebits ، روی Randomize > Random Generator کلیک کنید.
    2. انتخاب کنید محدوده ای که باید با اعداد تصادفی پر شود.
    3. در صفحه Random Generator ، موارد زیر را انجام دهید:
      • نوع مقدار مورد نظر را انتخاب کنید: عدد صحیح، عدد واقعی، تاریخ، بولی ، لیست سفارشی یا رشته (ایده آل برای ایجاد رمزهای عبور منحصر به فرد قوی!).
      • مقادیر From و To را تنظیم کنید.
      • انتخاب کنید کادر علامت مقادیر منحصر به فرد .
      • روی ایجاد کلیک کنید.

    همین! محدوده انتخاب شده با اعداد تصادفی غیر تکراری به یکباره پر می شود:

    اگر کنجکاو هستید که این ابزار را امتحان کنید و سایر ویژگی های جذاب موجود در مجموعه Ultimate ما را کشف کنید، می توانید نسخه آزمایشی آن را دانلود کنید.

    این نحوه تصادفی کردن اعداد در اکسل بدون تکرار است. از خواندن شما سپاسگزارم و امیدوارم هفته آینده شما را در وبلاگ خود ببینیم!

    کتاب کار برای دانلود تمرین کنید

    اعداد تصادفی منحصر به فرد را در Excel (فایل xlsx.) ایجاد کنید

    مایکل براون یک علاقه‌مند به فناوری است که علاقه زیادی به ساده‌سازی فرآیندهای پیچیده با استفاده از ابزارهای نرم‌افزاری دارد. او با بیش از یک دهه تجربه در صنعت فناوری، مهارت های خود را در Microsoft Excel و Outlook و همچنین Google Sheets و Docs تقویت کرده است. وبلاگ مایکل اختصاص داده شده است تا دانش و تخصص خود را با دیگران به اشتراک بگذارد و نکات و آموزش هایی را برای بهبود بهره وری و کارایی ارائه دهد. چه یک حرفه ای با تجربه باشید و چه مبتدی، وبلاگ مایکل، بینش های ارزشمند و توصیه های عملی را برای استفاده حداکثری از این ابزارهای نرم افزاری ضروری ارائه می دهد.