- ベストアンサー
エクセルで入力してある数字に1/2の確率でマイナスをつけたいのですが?
エクセルで入力してある数字に1/2の確率でマイナスをつけたいのですが? できますか?
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
元の数値が、仮にA1セルに入力されているとした場合、-を付けた数値を表示させたいセルに、 =A1*IF(RAND()<0.5,-1,1) と入力すると良いと思います。
その他の回答 (3)
- nac03056
- ベストアンサー率48% (203/419)
いろいろな計算式が出ていますので、ついでです。 皆さん同様にA列に元の値、B列に結果を出しますのでB1から下に複写してください。 =A1*(INT(RAND()*2)*2-1) 乱数を2倍し小数点以下を切ることで0か1の値を作成し、それを2倍して0か2の値にし、1を引くことで-1か1の値になります。それをA列の値と掛けることで符号が付く付かないになります。あと必要ならこのB列をコピーしA列に「形式を選択貼り付け」の「値貼り付け」してやると元の値を書き換えることも可能です。 もし質問が、入力したら自動的にという意味なら、標準的な機能では無理だと思います。もちろん、条件付き書式を =RAND()>0.5 として書式を -# とでもすれば見た目は変わりますが、実際の値が変わるわけではないので、以降の計算にも反映はされませんし、入力のたびに符号がコロコロかわってしまいます。
- yone_sk
- ベストアンサー率34% (58/167)
やりたいことが合っているかわかりませんが Aの列に数字が並んでいるとして、B1セルに↓を入力。 =IF(MOD(ROUND(RAND()*10,0),2)=0,-A1,A1) あとはオートフィルドラッグでコピーすればできると思います。 ※rand関数を使っているので、更新するたびに再処理されます。
- KURUMITO
- ベストアンサー率42% (1835/4283)
A1セルから下方にデータがあるとしてB1セルには次の式を入力して下方に0-とフィルドラッグします。 =IF(RANDBETWEEN(1,2)=1,-A1,A1) F9キーを押すことで新しいデータに切り替わります。