فهرست مطالب
این آموزش بر نحوه انجام نمونه گیری تصادفی در اکسل بدون تکرار تمرکز دارد. راه حل هایی برای اکسل 365، اکسل 2021، اکسل 2019 و نسخه های قبلی پیدا خواهید کرد.
چند وقت پیش، چند راه مختلف برای انتخاب تصادفی در اکسل شرح دادیم. اکثر این راه حل ها به توابع RAND و RANDBETWEEN متکی هستند که ممکن است اعداد تکراری ایجاد کنند. در نتیجه، نمونه تصادفی شما ممکن است حاوی مقادیر تکرار شونده باشد. اگر به انتخاب تصادفی و بدون تکرار نیاز دارید، از روشهای توضیح داده شده در این آموزش استفاده کنید.
گزینه تصادفی اکسل از لیست بدون تکرار
فقط در اکسل 365 و اکسل 2021 که از آرایه های پویا پشتیبانی می کنند.
برای انتخاب تصادفی از یک لیست بدون تکرار، از این فرمول عمومی استفاده کنید:
INDEX(SORTBY( data, RANDARRAY(ROWS( داده)))، SEQUENCE( n))که در آن n اندازه انتخاب مورد نظر است.
به عنوان مثال، برای دریافت 5 نام تصادفی منحصر به فرد از لیست در A2:A10، فرمول مورد استفاده در اینجا آمده است:
=INDEX(SORTBY(A2:A10, RANDARRAY(ROWS(A2:A10))), SEQUENCE(5))
برای راحتی، می توانید اندازه نمونه را در یک عدد وارد کنید. سلول از پیش تعریف شده، مثلاً C2، و ارائه مرجع سلول به تابع SEQUENCE:
=INDEX(SORTBY(A2:A10, RANDARRAY(ROWS(A2:A10))), SEQUENCE(C2))
این فرمول چگونه کار می کند:
در اینجا توضیحی در سطح بالا از منطق فرمول ارائه شده است: تابع RANDARRAY آرایه ای از اعداد تصادفی ایجاد می کند، SORTBY مقادیر اصلی را بر اساس آن اعداد مرتب می کند و INDEX به همان تعداد مقادیر را بازیابی می کند.توسط SEQUENCE مشخص شده است.
یک تفکیک تفصیلی در زیر آمده است:
عملکرد ROWS تعداد سطرهای مجموعه داده شما را شمارش می کند و تعداد آن را به تابع RANDARRAY ارسال می کند، بنابراین می تواند همان تعداد ردیف را ایجاد کند. اعشار تصادفی:
RANDARRAY(ROWS(A2:C10))
این آرایه از اعشار تصادفی به عنوان آرایه "مرتب سازی بر اساس" توسط تابع SORTBY استفاده می شود. در نتیجه، دادههای اصلی شما بهطور تصادفی به هم ریخته میشوند.
از دادههای مرتبسازی شده تصادفی، نمونهای با اندازه خاص استخراج میکنید. برای این کار، آرایه به هم ریخته را به تابع INDEX می رسانید و درخواست می کنید اولین مقادیر N را با کمک تابع SEQUENCE که دنباله ای از اعداد از 1 تا N را تولید می کند، بازیابی کنید. . از آنجایی که دادههای اصلی قبلاً به ترتیب تصادفی مرتب شدهاند، ما واقعاً اهمیتی نمیدهیم که کدام موقعیتها را بازیابی کنیم، فقط کمیت مهم است.
ردیفهای تصادفی را در اکسل بدون تکرار انتخاب کنید
فقط کار میکند. در اکسل 365 و اکسل 2021 که از آرایههای پویا پشتیبانی میکنند.
برای انتخاب ردیفهای تصادفی بدون تکرار، فرمولی به این صورت بسازید:
INDEX(SORTBY( داده, RANDARRAY(ROWS( داده)))، SEQUENCE( n)، {1،2،…})که در آن n حجم نمونه است و {1،2،…} اعداد ستونی برای استخراج هستند.
به عنوان مثال، بیایید ردیفهای تصادفی را از A2:C10 بدون ورودیهای تکراری، بر اساس اندازه نمونه در F1 انتخاب کنیم. از آنجایی که داده های ما در 3 ستون هستند، این آرایه ثابت را به فرمول ارائه می کنیم:{1,2,3}
=INDEX(SORTBY(A2:C10, RANDARRAY(ROWS(A2:C10))), SEQUENCE(F1), {1,2,3})
و نتیجه زیر را دریافت کنید:
این فرمول چگونه کار می کند:
فرمول دقیقاً با همان منطق قبلی کار می کند. یک تغییر کوچک که تفاوت بزرگی ایجاد می کند این است که شما آرگومان های row_num و column_num را برای تابع INDEX مشخص می کنید: row_num توسط SEQUENCE و ارائه می شود. column_num توسط ثابت آرایه.
نحوه انجام نمونه برداری تصادفی در Excel 2010 - 2019
از آنجایی که فقط Excel برای Microsoft 365 و Excel 2021 از آرایه های پویا پشتیبانی می کند، توابع آرایه پویا در نمونههای قبلی فقط در Excel 365 کار میکنند. برای نسخههای دیگر، باید راهحل متفاوتی پیدا کنید.
فرض کنید که میخواهید یک انتخاب تصادفی از لیست A2:A10 داشته باشید. این را می توان با 2 فرمول جداگانه انجام داد:
- با فرمول رند اعداد تصادفی تولید کنید. در مورد ما، آن را در B2 وارد می کنیم و سپس به B10 کپی می کنیم:
=RAND()
- اولین مقدار تصادفی را با فرمول زیر استخراج می کنیم که در E2 وارد می کنید:
=INDEX($A$2:$A$10, RANK.EQ(B2, $B$2:$B$10) + COUNTIF($B$2:B2, B2) - 1)
- فرمول بالا را به تعداد سلولهایی که میخواهید انتخاب کنید، کپی کنید. در این مثال، ما 4 نام می خواهیم، بنابراین فرمول را از E2 تا E5 کپی می کنیم.
انجام شد! نمونه تصادفی ما بدون موارد تکراری به صورت زیر است:
این فرمول چگونه کار می کند:
مانند مثال اول، شما از تابع INDEX برای بازیابی مقادیر از ستون A بر اساس ردیف تصادفیشماره. تفاوت در نحوه بدست آوردن آن اعداد است:
تابع RAND محدوده B2:B10 را با اعداد اعشاری تصادفی پر می کند.
تابع RANK.EQ رتبه یک عدد تصادفی را در یک داده مشخص محاسبه می کند. ردیف به عنوان مثال، در E2، RANK.EQ(B2, $B$2:$B$10) عدد را در B2 در برابر همه اعداد B2:B10 رتبه بندی می کند. وقتی در E3 کپی میشود، مرجع نسبی B2 به B3 تغییر میکند و رتبه عدد را در B3 برمیگرداند، و به همین ترتیب.
عملکرد COUNTIF تعداد وقوع یک عدد معین را در سلولهای بالا پیدا میکند. به عنوان مثال، در E2، COUNTIF($B$2:B2, B2) فقط یک سلول را بررسی می کند - خود B2، و 1 را برمی گرداند. در E5، فرمول به COUNTIF($B$2:B5, B5) تغییر می کند و 2 را برمی گرداند، زیرا B5 حاوی همان مقدار B2 است (لطفاً توجه داشته باشید، این فقط برای توضیح بهتر منطق فرمول است؛ در یک مجموعه داده کوچک، شانس بدست آوردن اعداد تصادفی تکراری نزدیک به صفر است).
در نتیجه، برای همه برای اولین بار، COUNTIF عدد 1 را برمی گرداند، که برای حفظ رتبه اولیه، 1 را از آن کم می کنید. برای وقوع 2، COUNTIF 2 را برمی گرداند. با کم کردن 1، رتبه را 1 افزایش می دهید، بنابراین از تکرار رتبه ها جلوگیری می کنید.
به عنوان مثال، برای B2، RANK.EQ 1 را برمی گرداند. از آنجایی که این اولین اتفاق است، COUNTIF نیز 1 را برمی گرداند. RANK.EQ + COUNTIF 2 را می دهد. و - 1 رتبه 1 را بازیابی می کند.
اکنون، ببینید در صورت وقوع 2 چه اتفاقی می افتد. برای B5، RANK.EQ نیز 1 را برمیگرداند در حالی که COUNTIF 2 را برمیگرداند.3، که 1 را از آن کم می کنید. در نتیجه نهایی، 2 می گیرید که نشان دهنده رتبه عدد در B5 است.
رتبه به آرگومان row_num تابع INDEX می رود. ، و مقدار را از ردیف مربوطه انتخاب می کند (آگومان column_num حذف شده است، بنابراین به طور پیش فرض 1 است). به همین دلیل است که اجتناب از رتبه بندی تکراری بسیار مهم است. اگر تابع COUNTIF نبود، RANK.EQ برای هر دو B2 و B5 1 به دست میآورد و باعث میشود INDEX مقدار را از ردیف اول (اندرو) دو بار برگرداند.
چگونه از تغییر نمونه تصادفی اکسل جلوگیری کنیم.
از آنجایی که همه توابع تصادفی سازی در اکسل مانند RAND، RANDBETWEEN و RANDARRAY فرار هستند، با هر تغییر در کاربرگ دوباره محاسبه می شوند. در نتیجه، نمونه تصادفی شما به طور مداوم در حال تغییر خواهد بود. برای جلوگیری از این اتفاق، از Paste Special > مقادیر قابلیت جایگزینی فرمول ها با مقادیر ایستا را دارد. برای این کار، این مراحل را انجام دهید:
- همه سلول های فرمول خود را انتخاب کنید (هر فرمولی حاوی تابع RAND، RANDBETWEEN یا RANDARRAY) و Ctrl + C را فشار دهید تا آنها را کپی کنید.
- روی محدوده انتخاب شده کلیک راست کرده و روی Paste Special > Values کلیک کنید. همچنین، Shift + F10 و سپس V را فشار دهید، که میانبر برای ویژگی فوق الذکر است.
برای جزئیات بیشتر، لطفاً به نحوه تبدیل فرمول ها به مقادیر در اکسل مراجعه کنید.
انتخاب تصادفی اکسل: ردیف ها، ستون هایا سلول ها
در تمام نسخه های اکسل 365 تا اکسل 2010 کار می کند.
اگر مجموعه Ultimate ما را در اکسل خود نصب کرده اید، می توانید نمونه برداری تصادفی را با یک کلیک ماوس به جای فرمول به این صورت است:
- در برگه Ablebits Tools ، روی Randomize > Select Random کلیک کنید.
- انتخاب کنید محدودهای که میخواهید از آن نمونه انتخاب کنید.
- در پنجره افزونه، موارد زیر را انجام دهید:
- انتخاب کنید که آیا میخواهید ردیفها، ستونها یا سلولهای تصادفی انتخاب شوند.
- اندازه نمونه را تعریف کنید: می تواند یک درصد یا عدد باشد.
- روی دکمه انتخاب کلیک کنید.
این آی تی! همانطور که در تصویر زیر نشان داده شده است، یک نمونه تصادفی مستقیماً در مجموعه داده شما انتخاب شده است. اگر میخواهید آن را در جایی کپی کنید، فقط یک میانبر کپی معمولی (Ctrl + C) را فشار دهید.
به این ترتیب یک نمونه تصادفی در اکسل بدون تکرار انتخاب میشود. از خواندن شما سپاسگزارم و امیدوارم هفته آینده شما را در وبلاگ خود ببینیم!
دانلودهای موجود
نمونه تصادفی بدون تکرار - نمونه های فرمول (فایل xlsx.)
Ultimate Suite نسخه 14 روزه کاملا کاربردی (فایل exe)