2桁の乱数の生成(Microsoft Excel)
ベンカタラマナンは、1桁の数字(-9から+9)を除いて、-99から+99の範囲の乱数を生成する必要があります。彼はその仕事を成し遂げる方法があるかどうか疑問に思います。
Excelで乱数を生成するためによく使用されるワークシート関数がいくつかあります。 RAND関数は、0から1までの乱数を生成するために使用され、RANDBETWEEN関数(Analysis ToolPakの一部)は、数値の範囲内で乱数を生成するために使用されます。
ヴェンカタラマナンがやりたいことをする機能はありませんが、そのトリックを行う式を書くことができます。次の式を検討してください:
=IF(RAND()>0.5,1,-1)*(RANDBETWEEN(10,99))
最初のRAND関数は、結果が「+」か「-」かを判別し、次のRANDBETWEEN関数は、10から99までの目的の数値を返します。
機能が完了すると、目的の2桁の乱数が得られます。
別の式は本質的に似ています:
=ROUND(RAND()89+10,0)((RAND()<0.5)*2-1)
最初の部分は0から89の範囲の整数を生成します。数式はこれに10を加算し、事実上10から99の数値を与えます。次に数式の2番目の部分を使用して、結果が正か負かをランダムに決定します。 。
別のアプローチは、RANDBETWEEN関数に完全に依存し、乗算を使用しません。
=VALUE(IF(RANDBETWEEN(0,1)=0,"-","")&RANDBETWEEN(1,9)&RANDBETWEEN(0,9))
この数式は、マイナス記号または空白とそれに続く2桁の数字で構成される文字列をまとめたものです。次に、数式はVALUE関数を使用して、文字列を数値に変換します。式のさらに短いバージョンは次のようになります:
=VALUE(IF(RANDBETWEEN(0,1)=0,"-","")&RANDBETWEEN(10,99))
_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。
このヒント(3403)は、Microsoft Excel 97、2000、2002、および2003に適用されます。Excel(Excel 2007以降)のリボンインターフェイス用のこのヒントのバージョンは、次の場所にあります。