スポンサーリンク

エクセルでじゃんけんゲーム MOD関数

じゃんけんゲームはちょっと大げさですが、エクセルとじゃんけんで勝負したいと思います。マクロやVBAなどは使いません。

じゃんけんはご存じない方はいらっしゃらないでしょう。お互いにぐー、ちょき、ぱーのいづれかを選んで勝ち、負け、引き分けを決めます。

ぐーはちょきにに勝ち、ちょきはぱーに勝ち、ぱーはぐーに勝つという三つ巴ですね。もちろん同じものどうしは引き分けです。

エクセルで実行するのでぐーのままでは計算できませんのでぐー、ちょき、ぱーを数値化しておきます。

仮に
ぐーを1
ちょきを2
ぱーを3
としておきます。

自分がぐーを出したいと思えば、所定のセルに1と入力します。その後エクセルが乱数を使って1か2か3の数値を所定のセルに出力します。

そしてそれぞれのセルの値を参照して勝か負けか引き分けを表示してあげれば出来上がりです。

まず、自分がぐー、ちょき、ぱーの3通り、エクセルがぐー、ちょき、ぱーの3通りあるので都合9通りのパターンがあります。IF分のネストでできそうな気がします。ネストの限界超えてますか。それ以外の関数でも9パターンの総当たりができそうですね。

とりあえず、関数の使用は横に置いて単純に数値で考えたいです。自分の数値とエクセルの数値が同じ場合引き分けです。引き分けの3つのパターンは自分の手の数値からエクセルの手の数値を引いて0の時になります。

もし、自分がぱー(3)でエクセルがちょき(2)なら
3-2=1
なので自分の手から空いての手を引いて1なら負けでいいでしょうか。

もし、自分がぱー(3)でエクセルがちょき(1)なら
3-1=2
なので自分の手から空いての手を引いて2なら勝ちでいいでしょうか。

表にしてみました。自分の手がC列です。エクセルの手が3行目です。自分手からエクセルの手を引いてみました。価値の場合は青、負けは赤引き分けは塗りつぶしなしです。

計算結果が-2,-1,0,1,2の5パターンに減りました。しかし、じゃんけんは勝か負けか引き分けの3パターンです。

これを何とか3パターンにしてみたいです。数字を3で割ったときのあまりだけを考えるとすべての数値(整数)は3で割ったときのあまりは0か1か2の3つに分けられます。

自分の手からエクセルの手を引いた数値を3で割ったときのあまりを計算してみます。

MOD関数
数値を除数で割ったときの剰余を返します。 戻り値は除数と同じ符号になります。

スポンサーリンク

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です