![](https://kmb042303.com/wp-content/uploads/2022/08/boy_question.png)
エクセルゲームで〇×ゲームを作ったけど、勝ち負けの判定を自動でできないかな?
でも、プログラミングはわからない。
![](https://kmb042303.com/wp-content/uploads/2022/09/in192286009701108201330.png)
![](https://kmb042303.com/wp-content/uploads/2022/09/in192286009701108201330.png)
![](https://kmb042303.com/wp-content/uploads/2022/09/in192286009701108201330.png)
関数で勝ち負けの判定を作っちゃいましょう!
まるばつゲームの作り方と完成したゲームを1つファイルにまとめて330円(税込)販売しています。
「見本が欲しい」「すぐに遊びたい」という方は↓のボタンからファイルをゲットしてください。
前回の記事でまるばつゲームの作り方を紹介します。
とてもアナログで勝ち負けの判定を自分で行う必要がありました。
でも、せっかくパソコンでゲームを作るんだから、勝ち負けの判定くらい自動でやってほしいですよね。
実はプログラムを書かなくても、関数で勝ち負けの判定をすることができます。
前回のまるばつゲームを基に勝ち負け判定を追加する方法をご紹介します。
前回の「まるばつゲーム」の作り方が気になる方は↓の記事を見てみてください。
![](https://kmb042303.com/wp-content/uploads/2023/01/eyecacth_marubatsu-500x263.png)
![](https://kmb042303.com/wp-content/uploads/2023/01/eyecacth_marubatsu-500x263.png)
記事を読んでいただき、ありがとうございます。
しかし、こんなことを思っている方はいませんか?
「ゲームを作るVBAを知りたいんじゃない、仕事でつかえるVBAを知りたいんだ!」
「VBAを基礎から体系的に勉強したい」
「でも、勉強するまとまった時間はないし、お金もない!」
そんな方には、Youtuberとしても有名なUdemy講師のエクセル兄さんが教える
「Excel VBA エキスパート認定への道 ~マクロ初心者から資格試験レベルへ &7つの自動化 マクロ を作る15時間」の講座がおすすめです。
この講座の良いところは4つ。
- 仕事でつかえるVBAを学べる
- スクールに通うより圧倒的に安い
- 買い切り
- 隙間時間で勉強できる
- 一度買えば、何度でも見れる
VBAを仕事で活用できるレベルになりたいという方は↓のボタンから購入し、勉強しましょう。
関数を入力するためにボードを移動します
![準備](https://kmb042303.com/wp-content/uploads/2023/01/countif_counta_if_33.png)
![準備](https://kmb042303.com/wp-content/uploads/2023/01/countif_counta_if_33.png)
関数を入力しやすいようにボードの位置を少し調整します。
A列、B列を選んで、右クリック
「挿入」を左クリック
![列を挿入](https://kmb042303.com/wp-content/uploads/2023/01/countif_counta_if_1-800x572.png)
![列を挿入](https://kmb042303.com/wp-content/uploads/2023/01/countif_counta_if_1-800x572.png)
![列が挿入されたらOK](https://kmb042303.com/wp-content/uploads/2023/01/countif_counta_if_2-800x1037.png)
![列が挿入されたらOK](https://kmb042303.com/wp-content/uploads/2023/01/countif_counta_if_2-800x1037.png)
続いて、1行、2行を選んで、左クリック
同じく「挿入」を左クリック
![行を挿入](https://kmb042303.com/wp-content/uploads/2023/01/countif_counta_if_3-800x591.png)
![行を挿入](https://kmb042303.com/wp-content/uploads/2023/01/countif_counta_if_3-800x591.png)
![行が挿入されたらOK](https://kmb042303.com/wp-content/uploads/2023/01/countif_counta_if_4-800x884.png)
![行が挿入されたらOK](https://kmb042303.com/wp-content/uploads/2023/01/countif_counta_if_4-800x884.png)
これでボードの周りに関数を入力するためのセルができました。
準備ができたので関数を入力していきましょう!
COUNTIF関数で〇と×の数を数えよう
![まるばつを数えよう](https://kmb042303.com/wp-content/uploads/2023/01/countif_counta_if_34-800x569.png)
![まるばつを数えよう](https://kmb042303.com/wp-content/uploads/2023/01/countif_counta_if_34-800x569.png)
COUNTIFは「決まった値の入ったセルの数を数える」関数
COUNTIFは次のように書きます。
=COUNTIF(検索する範囲,検索条件)
COUNTIFは検索する範囲内のセルのうち、検索条件に当てはまる値が入っているセルの数を表示します。
例えば、A1のセルに「=COUNTIF(A2:A6,”〇”)」と入力します。
![COUNTIFを入力](https://kmb042303.com/wp-content/uploads/2023/01/countif_counta_if_5-800x707.png)
![COUNTIFを入力](https://kmb042303.com/wp-content/uploads/2023/01/countif_counta_if_5-800x707.png)
A2~A6に〇が入力されていないので、A1には「0」が表示されます。
![0が表示される](https://kmb042303.com/wp-content/uploads/2023/01/countif_counta_if_6-800x1248.png)
![0が表示される](https://kmb042303.com/wp-content/uploads/2023/01/countif_counta_if_6-800x1248.png)
続いて、A2に〇を入力すると、A1には「1」が表示されます。
![1が表示される](https://kmb042303.com/wp-content/uploads/2023/01/countif_counta_if_7-800x786.png)
![1が表示される](https://kmb042303.com/wp-content/uploads/2023/01/countif_counta_if_7-800x786.png)
こんな感じにCOUNTIFは検索する範囲に検索条件にあったセルの数を表示します。
記事を読んでいただき、ありがとうございます。
しかし、こんなことを思っている方はいませんか?
「ゲームを作るVBAを知りたいんじゃない、仕事でつかえるVBAを知りたいんだ!」
「VBAを基礎から体系的に勉強したい」
「でも、勉強するまとまった時間はないし、お金もない!」
そんな方には、Youtuberとしても有名なUdemy講師のエクセル兄さんが教える
「Excel VBA エキスパート認定への道 ~マクロ初心者から資格試験レベルへ &7つの自動化 マクロ を作る15時間」の講座がおすすめです。
この講座の良いところは4つ。
- 仕事でつかえるVBAを学べる
- スクールに通うより圧倒的に安い
- 買い切り
- 隙間時間で勉強できる
- 一度買えば、何度でも見れる
VBAを仕事で活用できるレベルになりたいという方は↓のボタンから購入し、勉強しましょう。
COUNTIFを書こう!3STEP
まるばつゲームに勝つためには「縦横斜めに3つ並んだほうが勝ち」
なので、まず縦横斜めに〇と×がそれぞれいくつあるかを数える。
C2のセルに「=COUNTIF(C$3:C$5,”〇”)」と入力します。
![](https://kmb042303.com/wp-content/uploads/2022/09/in192286009701108201330.png)
![](https://kmb042303.com/wp-content/uploads/2022/09/in192286009701108201330.png)
![](https://kmb042303.com/wp-content/uploads/2022/09/in192286009701108201330.png)
記事中の式をコピーして貼り付けると楽ですよ!
![COUNTIF(縦〇)を入力](https://kmb042303.com/wp-content/uploads/2023/01/countif_counta_if_8-800x897.png)
![COUNTIF(縦〇)を入力](https://kmb042303.com/wp-content/uploads/2023/01/countif_counta_if_8-800x897.png)
このC2の式をD2、E2にコピーしましょう。
これで縦の〇の数を数えられます。
![COUNTIF(縦〇)をコピー](https://kmb042303.com/wp-content/uploads/2023/01/countif_counta_if_9-800x788.png)
![COUNTIF(縦〇)をコピー](https://kmb042303.com/wp-content/uploads/2023/01/countif_counta_if_9-800x788.png)
次に×の数を数えるために、C6に「=COUNTIF(C$3:E$5,”×”)」を入力します。
![COUNTIF(縦×)を入力](https://kmb042303.com/wp-content/uploads/2023/01/countif_counta_if_10-800x656.png)
![COUNTIF(縦×)を入力](https://kmb042303.com/wp-content/uploads/2023/01/countif_counta_if_10-800x656.png)
そして、C6の式をD6、E6にコピーします。
これで縦の×の数も数えられます。
![COUNTIF(縦×)をコピー](https://kmb042303.com/wp-content/uploads/2023/01/countif_counta_if_11-800x419.png)
![COUNTIF(縦×)をコピー](https://kmb042303.com/wp-content/uploads/2023/01/countif_counta_if_11-800x419.png)
B3のセルに「=COUNTIF($C1:$E3,”〇”)」と入力します。
![COUNTIF(横〇)を入力](https://kmb042303.com/wp-content/uploads/2023/01/countif_counta_if_12-800x925.png)
![COUNTIF(横〇)を入力](https://kmb042303.com/wp-content/uploads/2023/01/countif_counta_if_12-800x925.png)
B3の式をB4、B5にコピーしましょう。
これで横の〇の数を数えられます。
![COUNTIF(横〇)をコピー](https://kmb042303.com/wp-content/uploads/2023/01/countif_counta_if_13-800x1020.png)
![COUNTIF(横〇)をコピー](https://kmb042303.com/wp-content/uploads/2023/01/countif_counta_if_13-800x1020.png)
続いて、F3のセルに「=COUNTIF($C1:$E3,”×”)」と入力します。
![COUNTIF(横×)を入力](https://kmb042303.com/wp-content/uploads/2023/01/countif_counta_if_14-800x749.png)
![COUNTIF(横×)を入力](https://kmb042303.com/wp-content/uploads/2023/01/countif_counta_if_14-800x749.png)
その後、F3セルをF4、F5にコピー。
![COUNTIF(横×)をコピー](https://kmb042303.com/wp-content/uploads/2023/01/countif_counta_if_15-800x1015.png)
![COUNTIF(横×)をコピー](https://kmb042303.com/wp-content/uploads/2023/01/countif_counta_if_15-800x1015.png)
これで横の×の数も数えられます。
縦横に数えられたので、次は斜めに数えます。
まずは↓の矢印の向きに〇と×を数えます。
![COUNTIF(斜め〇)](https://kmb042303.com/wp-content/uploads/2023/01/countif_counta_if_16-800x796.png)
![COUNTIF(斜め〇)](https://kmb042303.com/wp-content/uploads/2023/01/countif_counta_if_16-800x796.png)
B2のセルに「=COUNTIF($C$3,”〇”)+COUNTIF($D$4,”〇”)+COUNTIF($E$5,”〇”)」を入力しましょう。
![](https://kmb042303.com/wp-content/uploads/2022/09/in192286009701108201330.png)
![](https://kmb042303.com/wp-content/uploads/2022/09/in192286009701108201330.png)
![](https://kmb042303.com/wp-content/uploads/2022/09/in192286009701108201330.png)
斜めに数えるには縦横のときとは違い、COUNTIFの結果を3つ合計する必要があります。
縦横のときと同じように記事中の式をコピーしてください。
![COUNTIF(斜め〇)を入力](https://kmb042303.com/wp-content/uploads/2023/01/countif_counta_if_17-800x806.png)
![COUNTIF(斜め〇)を入力](https://kmb042303.com/wp-content/uploads/2023/01/countif_counta_if_17-800x806.png)
続いて、F6に「=COUNTIF($C$3,“×”)+COUNTIF($D$4,“×”) +COUNTIF($E$5,“×”)」を入力。
![COUNTIF(斜め×)を入力](https://kmb042303.com/wp-content/uploads/2023/01/countif_counta_if_18-800x786.png)
![COUNTIF(斜め×)を入力](https://kmb042303.com/wp-content/uploads/2023/01/countif_counta_if_18-800x786.png)
続いて↓の矢印の向きに〇と×を数えます。
![COUNTIF(斜め2)](https://kmb042303.com/wp-content/uploads/2023/01/countif_counta_if_19-800x796.png)
![COUNTIF(斜め2)](https://kmb042303.com/wp-content/uploads/2023/01/countif_counta_if_19-800x796.png)
A5に「=COUNTIF($C$5,”〇”)+COUNTIF($D$4,”〇”)+COUNTIF($E$3,”〇”)」を入力しましょう。
![](https://kmb042303.com/wp-content/uploads/2022/09/in192286009701108201330.png)
![](https://kmb042303.com/wp-content/uploads/2022/09/in192286009701108201330.png)
![](https://kmb042303.com/wp-content/uploads/2022/09/in192286009701108201330.png)
ほんとはB6に入力したいところですが、のちの工程でちょっと不都合があるのでA5に入力します。
![COUNTIF(斜め2〇)入力](https://kmb042303.com/wp-content/uploads/2023/01/countif_counta_if_20-800x805.png)
![COUNTIF(斜め2〇)入力](https://kmb042303.com/wp-content/uploads/2023/01/countif_counta_if_20-800x805.png)
次は、×を数えます。
G3に「=COUNTIF($C$5,”×”)+COUNTIF($D$4,”×”)+COUNTIF($E$3,”×”)」を入力します。
![COUNTIF(斜め2×)入力](https://kmb042303.com/wp-content/uploads/2023/01/countif_counta_if_21-800x639.png)
![COUNTIF(斜め2×)入力](https://kmb042303.com/wp-content/uploads/2023/01/countif_counta_if_21-800x639.png)
これでボード上のまるばつを数える作業は完了です!
IF関数で勝ち負け引き分けの判定をしよう
![勝ち負け判定](https://kmb042303.com/wp-content/uploads/2023/01/countif_counta_if_35-800x617.png)
![勝ち負け判定](https://kmb042303.com/wp-content/uploads/2023/01/countif_counta_if_35-800x617.png)
IF関数は「もし〇〇だったら、××する」関数
IF関数は次のように書きます。
=IF(論理式,論理式に当てはまるの場合の処理, 論理式に当てはまらない場合の処理)
例えば、B1に「=IF(A1=1,”〇”,”×”)」を入力します。
![IF関数説明](https://kmb042303.com/wp-content/uploads/2023/01/countif_counta_if_22-800x755.png)
![IF関数説明](https://kmb042303.com/wp-content/uploads/2023/01/countif_counta_if_22-800x755.png)
これは「もしA1に1が入力されていたら、B1に〇表示する。そうでなければ×を表示する」という意味です。
A1に「1」が入力されていない場合、「×」が表示されます。
![IF×表示](https://kmb042303.com/wp-content/uploads/2023/01/countif_counta_if_23-800x837.png)
![IF×表示](https://kmb042303.com/wp-content/uploads/2023/01/countif_counta_if_23-800x837.png)
もしA1に「1」が入力されていた場合、「〇」が表示されます。
![IF〇表示](https://kmb042303.com/wp-content/uploads/2023/01/countif_counta_if_24-800x837.png)
![IF〇表示](https://kmb042303.com/wp-content/uploads/2023/01/countif_counta_if_24-800x837.png)
このIF関数を使って勝ち負けの判断を設定していきましょう。
IF関数を書こう!3STEP
まず〇と×の勝利条件を確認します。
下図の赤枠のセルの中に「3」があれば、「〇の勝ち」、
青枠のセルの中に「3」があれば、「×の勝ち」、
どちらも当てはまらなければ「引き分け」
です。
![IF関数勝ち負け引き分け範囲](https://kmb042303.com/wp-content/uploads/2023/01/countif_counta_if_25-800x476.png)
![IF関数勝ち負け引き分け範囲](https://kmb042303.com/wp-content/uploads/2023/01/countif_counta_if_25-800x476.png)
まずは、〇について関数を作ります。
H2に「=IF(COUNTIF(A2:E5,3),”〇の勝ち”,””)」と記載します。
![IF関数(勝ち)を入力](https://kmb042303.com/wp-content/uploads/2023/01/countif_counta_if_26-800x444.png)
![IF関数(勝ち)を入力](https://kmb042303.com/wp-content/uploads/2023/01/countif_counta_if_26-800x444.png)
これで赤枠の中のセルに「3」があったら、H2に「〇の勝ち」、そうでなければ「””(空白)」が表示されるようになりました。
続いて、「””(空白)」の部分に「×の勝ち」と表示するようなIF文を加えます。
できたIF文は「=IF(COUNTIF(A2:E5,3),”〇の勝ち”,IF(COUNTIF(C3:G6,3),”×の勝ち”,””))」。
![IF関数(負け)を入力](https://kmb042303.com/wp-content/uploads/2023/01/countif_counta_if_27-800x416.png)
![IF関数(負け)を入力](https://kmb042303.com/wp-content/uploads/2023/01/countif_counta_if_27-800x416.png)
赤枠の中に「3」があれば「〇の勝ち」、青枠の中に「3」があれば「×の勝ち」、両方でなければ「””(空白)」が表示されます。
最後に引き分けも表示したいので、「””(空白)」を「”引き分け”」に変更します。
![IF関数(引き分け)を入力](https://kmb042303.com/wp-content/uploads/2023/01/countif_counta_if_28-800x383.png)
![IF関数(引き分け)を入力](https://kmb042303.com/wp-content/uploads/2023/01/countif_counta_if_28-800x383.png)
これで、勝ち負け判定の関数ができました!
COUNTA関数で試合終了の判定をしよう
![試合終了](https://kmb042303.com/wp-content/uploads/2023/01/countif_counta_if_36-800x623.png)
![試合終了](https://kmb042303.com/wp-content/uploads/2023/01/countif_counta_if_36-800x623.png)
COUNTA関数は「範囲内の値の数を数える」関数
COUNTAは次のように書きます。
=COUNTA(指定した範囲)
例えば、A1に「=COUNTA(A2:A6)」と入力します。
![](https://kmb042303.com/wp-content/uploads/2023/01/countif_counta_if_29-800x295.png)
![](https://kmb042303.com/wp-content/uploads/2023/01/countif_counta_if_29-800x295.png)
これは、「A2~A6の中の値が入力されているセルの数を表示する」を意味します。
A2~A6に何も入力されていないので、A1に「0」が表示されます。
![](https://kmb042303.com/wp-content/uploads/2023/01/countif_counta_if_30-800x321.png)
![](https://kmb042303.com/wp-content/uploads/2023/01/countif_counta_if_30-800x321.png)
つづいて、A2に値を入力すると、A1には「1」が表示されます。
![](https://kmb042303.com/wp-content/uploads/2023/01/countif_counta_if_31-800x306.png)
![](https://kmb042303.com/wp-content/uploads/2023/01/countif_counta_if_31-800x306.png)
このCOUNTA関数を勝ち負け判定の式に加えていきます。
まるばつゲームは全部のマスに入力したらゲーム終了
今のままだとゲーム中にずっと「引き分け」が表示されます。
勝負が決まっていないのに、「引き分け」はおかしいですよね。
そのため、勝負が決まったときに表示されるようにしたいです。
今回は、「9個のすべてのマスに〇か×を入力された時点をゲーム終了」となるように関数を修正していきます。
H2セルの勝ち負け判定の式に条件を加えていきます。
「=IF(COUNTA(C3:E5)<9,””,IF(COUNTIF(A2:E5,3),”〇の勝ち”,IF(COUNTIF(C3:G6,3),”×の勝ち”,”引き分け”)))」と入力します。
![](https://kmb042303.com/wp-content/uploads/2023/01/countif_counta_if_32-800x314.png)
![](https://kmb042303.com/wp-content/uploads/2023/01/countif_counta_if_32-800x314.png)
これで、ボード上のセルに値が9個未満だったらH2には「””(空白)」、
そうでなければ「IF(COUNTIF(A2:E5,3),”〇の勝ち”,IF(COUNTIF(C3:G6,3),”×の勝ち”,”引き分け”))の判定結果」を表示します。
見やすくなるように仕上げをしましょう!
![](https://kmb042303.com/wp-content/uploads/2023/02/countif_counta_if_40-800x722.png)
![](https://kmb042303.com/wp-content/uploads/2023/02/countif_counta_if_40-800x722.png)
![](https://kmb042303.com/wp-content/uploads/2022/09/in192286009701108201330.png)
![](https://kmb042303.com/wp-content/uploads/2022/09/in192286009701108201330.png)
![](https://kmb042303.com/wp-content/uploads/2022/09/in192286009701108201330.png)
このままだとボードの周りの数字があってボードが見づらいです。数字の文字色を白色に設定するとボードが見やすくなります。
最後に見やすくするために、少し装飾をします。
まずはA1にゲーム名「まるばつゲーム改」と書きます。
続いて、ボードの周りに「0」があると見づらいので、文字の色を白にしましょう。
最後に勝敗が表示されるH2セルに色を付けます。
![装飾する](https://kmb042303.com/wp-content/uploads/2023/02/countif_counta_if_38-800x467.png)
![装飾する](https://kmb042303.com/wp-content/uploads/2023/02/countif_counta_if_38-800x467.png)
これで勝ち負け判定を自動でやってくれるまるばつゲームは完成です。
![完成](https://kmb042303.com/wp-content/uploads/2023/02/countif_counta_if_39-800x683.png)
![完成](https://kmb042303.com/wp-content/uploads/2023/02/countif_counta_if_39-800x683.png)
VBAなしでも自動で勝ち負け判定はできる!
![関数でも勝ち負け判定できる](https://kmb042303.com/wp-content/uploads/2023/01/countif_counta_if_37-800x539.png)
![関数でも勝ち負け判定できる](https://kmb042303.com/wp-content/uploads/2023/01/countif_counta_if_37-800x539.png)
この記事では、COUNTIF関数、IF関数、COUNTA関数を使ってまるばつゲームの勝ち負け判定をする方法を紹介しました。
「自動で」なんて言うと難しそうですが、関数を使うことで実現できます。
本文をコピーしてもできますので、ぜひ挑戦してみてください。
今回はここまでです!
記事を読んでいただき、ありがとうございます。
しかし、こんなことを思っている方はいませんか?
「ゲームを作るVBAを知りたいんじゃない、仕事でつかえるVBAを知りたいんだ!」
「VBAを基礎から体系的に勉強したい」
「でも、勉強するまとまった時間はないし、お金もない!」
そんな方には、Youtuberとしても有名なUdemy講師のエクセル兄さんが教える
「Excel VBA エキスパート認定への道 ~マクロ初心者から資格試験レベルへ &7つの自動化 マクロ を作る15時間」の講座がおすすめです。
この講座の良いところは4つ。
- 仕事でつかえるVBAを学べる
- スクールに通うより圧倒的に安い
- 買い切り
- 隙間時間で勉強できる
- 一度買えば、何度でも見れる
VBAを仕事で活用できるレベルになりたいという方は↓のボタンから購入し、勉強しましょう。
コメント