Venkataramanan نیاز به تولید اعداد تصادفی در محدوده 99- تا 99+، به استثنای اعداد تک رقمی (9- تا 9+) دارد. او فکر می کند که آیا راهی برای انجام این کار وجود دارد؟
چند تابع کاربرگ وجود دارد که اغلب برای تولید اعداد تصادفی در اکسل استفاده می شود. تابع RAND برای تولید یک عدد تصادفی بین 0 و 1 استفاده می شود، در حالی که تابع RANDBETWEEN برای تولید یک عدد تصادفی در محدوده ای از اعداد استفاده می شود.
هیچ عملکردی برای انجام کاری که Venkataramanan می خواهد انجام دهد وجود ندارد، اما می توانید فرمولی بنویسید که این کار را انجام دهد. این فرمول را در نظر بگیرید:
=IF(RAND()>0.5,1,-1)*(RANDBETWEEN(10,99))
تابع RAND اول تعیین می کند که نتیجه + یا - باشد و تابع بعدی RANDBETWEEN عدد مورد نظر را بین 10 و 99 برمی گرداند. وقتی تابع انجام شد، عدد تصادفی دو رقمی مورد نظر را خواهید داشت.
فرمول دیگری از نظر ماهیت مشابه است:
=ROUND(RAND()*89+10,0)*((RAND()
بخش اول اعداد کامل را در محدوده 0 تا 89 تولید می کند. فرمول 10 را به آن اضافه می کند و به طور موثر عددی از 10 تا 99 را می دهد. سپس قسمت دوم فرمول برای تعیین تصادفی مثبت یا منفی بودن نتیجه استفاده می شود. .
روش دیگر کاملاً به تابع RANDBETWEEN متکی است و از ضرب استفاده نمی کند:
=VALUE(IF(RANDBETWEEN(0,1)=0,"-","")&RANDBETWEEN(1,9)&RANDBETWEEN(0,9))
این فرمول رشته ای را گرد هم می آورد که از یک علامت منفی یا یک جای خالی و به دنبال آن دو رقم تشکیل شده است. سپس فرمول از تابع VALUE برای تبدیل رشته به مقدار عددی استفاده می کند. یک نسخه حتی کوتاهتر از فرمول این خواهد بود:
=VALUE(IF(RANDBETWEEN(0,1)=0,"-","")&RANDBETWEEN(10,99))
فرمول مشابه دیگر به صورت زیر است:
=RANDBETWEEN(10,99)*IF(RANDBETWEEN(0,1),1,-1)