ایجاد سوال
dark_mode
0 دوستدار 0 امتیاز منفی
11 visibility
موضوع: آفیس توسط:

بیایید بگوییم که شما لیستی از کارمندان (یا محصولات، یا ابزارک ها یا هر چیز دیگری) دارید و می خواهید به طور تصادفی دو مورد را از این لیست انتخاب کنید. چند توابع مختلف کاربرگ وجود دارد که می توانید از آنها برای انتخاب موارد از لیست استفاده کنید، مانند RAND، RANDBETWEEN، و RANDARRAY.

بسیاری از افراد از تابع RANDBETWEEN استفاده می کنند زیرا بسیار آسان است و یک عدد تصادفی را در یک محدوده ارائه می دهد. بنابراین، اگر 25 مورد در لیست خود داشته باشید، RANDBETWEEN می تواند عددی بین 1 تا 25 را برگرداند که می تواند با موارد موجود در لیست مطابقت داشته باشد.

به عنوان مثال، اجازه دهید بگوییم که لیست آیتم های شما در محدوده A2:A26 قرار دارد، و نام آیتم ها را به این محدوده می دهید. سپس می توانید فرمول زیر را در سلول C2 قرار دهید تا عددی بین 1 و تعداد آیتم ها را برگردانید:

=RANDBETWEEN(1,ROWS(Items))

این فرمول را در سلول C3 کپی کنید و اکنون دو عدد تصادفی دارید که نشان دهنده موارد از لیست هستند. در سلول های D2 و D3 می توانید فرمول هایی مانند این قرار دهید تا نام های واقعی را از لیست دریافت کنید:

=INDEX(Items,C2)

تنها مشکل این رویکرد این است که این امکان وجود دارد که هر دو نمونه RANDBETWEEN (سلول های C2 و C3) مقدار یکسانی را برگردانند، و بنابراین شما در نهایت یک مورد را دو بار از لیست خود انتخاب می کنید.

رویکردی که از RANDARRAY استفاده می کند (که فقط در نسخه Office 365 اکسل موجود است) مشمول همین موضوع است. در سلول C2 می توانید از فرمول زیر استفاده کنید:

=RANDARRAY(2,1,1,ROWS(Items),TRUE)

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

یکی از راه های حل این مشکل احتمالی با RANDBETWEEN و RANDARRAY این است که به جای دو مورد، سه مورد را از لیست انتخاب کنید. اگر دو مورد اول یکسان هستند، سومی می تواند به عنوان یک آیتم "بازگشت" برای ارائه دومین مورد منحصر به فرد استفاده شود. (برای انجام این کار با RANDARRAY، کافی است پارامتر اول را از 2 به 3 تغییر دهید.) این روش غیر قابل خطا نیست، زیرا ممکن است – اما کاملاً غیرممکن – که هر سه یکسان باشند.

یک رویکرد متفاوت برای انتخاب اقلام از لیست این است که به هر آیتم مقدار تصادفی اختصاص داده شود و سپس بر اساس بیشترین تعداد در سری انتخاب شود. تابع RANDOM یک مقدار تصادفی بین 0 و 1 برمی گرداند. در هر سلول از ستون B، درست در سمت راست هر مورد در ستون A، این فرمول را قرار دهید:

=RAND()

محدوده سلول ها (B2:B26) را انتخاب کنید و محدوده را با استفاده از نامی مانند ItemNums نامگذاری کنید. سپس می توانید با استفاده از فرمول آرایه زیر اولین نام تصادفی را از لیست تعیین کنید:

=OFFSET(A$1,SUM((LARGE(ItemNums,1)=(ItemNums))*ROW(ItemNums))-1,0)

برای اینکه نشان دهید این یک فرمول آرایه است، با فشار دادن Shift+Ctrl+Enter آن را وارد کنید . (این فقط در نسخه های اکسل قبل از نسخه با Office 365 ضروری است. در نسخه Office 365، فقط Enter را فشار دهید .) فرمول باید یک نام واحد را برگرداند. سپس می توانید از فرمول آرایه زیر برای برگرداندن نام دوم استفاده کنید:

=OFFSET(A$1,SUM((LARGE(ItemNums,2)=(ItemNums))*ROW(ItemNums))-1,0)

دلیل اینکه استفاده از رویکرد تابع RAND بهتر از استفاده از RANDBETWEEN و RANDARRAY کار می کند این است که احتمال اینکه RAND دو مقدار یکسان را برگرداند بی نهایت کوچک است، در حالی که شانس RANDBETWEEN و RANDARRAY بسیار بیشتر است.

اگر خواستی، با این لینک از ما حمایت کن

پاسخ شما

looks_5نام شما برای نمایش - اختیاری
حریم شخصی : آدرس ایمیل شما محفوظ میماند و برای استفاده های تجاری و تبلیغاتی به کار نمی رود
عدد چهار رقمی در تصویر را وارد کنید

برای جلوگیری از این تایید در آینده, لطفا وارد شده یا ثبت نام کنید.
اگر حساب گوگل دارید به راحتی وارید شوید

0 پاسخ وجود دارد

سوال مشابهی یافت نشد

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

23.2k سوال

8.5k پاسخ

608 دیدگاه

9.7k کاربر

113 نفر آنلاین
0 عضو و 113 مهمان در سایت حاضرند
بازدید امروز: 20116
بازدید دیروز: 27627
بازدید کل: 15194940
...