• ベストアンサー

エクセルで入力してある数字に1/2の確率でマイナスをつけたいのですが?

エクセルで入力してある数字に1/2の確率でマイナスをつけたいのですが? できますか?

質問者が選んだベストアンサー

  • ベストアンサー
  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.1

 元の数値が、仮にA1セルに入力されているとした場合、-を付けた数値を表示させたいセルに、 =A1*IF(RAND()<0.5,-1,1) と入力すると良いと思います。

その他の回答 (3)

  • nac03056
  • ベストアンサー率48% (203/419)
回答No.4

いろいろな計算式が出ていますので、ついでです。 皆さん同様に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)
回答No.3

やりたいことが合っているかわかりませんが Aの列に数字が並んでいるとして、B1セルに↓を入力。 =IF(MOD(ROUND(RAND()*10,0),2)=0,-A1,A1) あとはオートフィルドラッグでコピーすればできると思います。 ※rand関数を使っているので、更新するたびに再処理されます。

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.2

A1セルから下方にデータがあるとしてB1セルには次の式を入力して下方に0-とフィルドラッグします。 =IF(RANDBETWEEN(1,2)=1,-A1,A1) F9キーを押すことで新しいデータに切り替わります。

関連するQ&A