【初心者向け・VBAなし】エクセルで3つの関数を使ってまるばつゲームを作ろう!

当ページのリンクには広告が含まれています。

エクセルゲームで〇×ゲームを作ったけど、勝ち負けの判定を自動でできないかな?
でも、プログラミングはわからない。

関数で勝ち負けの判定を作っちゃいましょう!

まるばつゲームの作り方と完成したゲームを1つファイルにまとめて330円(税込)販売しています。
「見本が欲しい」「すぐに遊びたい」という方は↓のボタンからファイルをゲットしてください。

前回の記事でまるばつゲームの作り方を紹介します。

とてもアナログで勝ち負けの判定を自分で行う必要がありました。

でも、せっかくパソコンでゲームを作るんだから、勝ち負けの判定くらい自動でやってほしいですよね。

実はプログラムを書かなくても、関数で勝ち負けの判定をすることができます。

前回のまるばつゲームを基に勝ち負け判定を追加する方法をご紹介します。

前回の「まるばつゲーム」の作り方が気になる方は↓の記事を見てみてください。

あわせて読みたい
【初心者向け・VBAなし】エクセルで簡単なまるばつゲームをつくろう! 子どもと一緒にエクセルで簡単なゲームを作りたい 子どもがゲームを作りたいと言うけれど、何をしたらいいのか 今回はまるばつゲームを作りましょう! この記事は、「子...

記事を読んでいただき、ありがとうございます。

しかし、こんなことを思っている方はいませんか?

「ゲームを作るVBAを知りたいんじゃない、仕事でつかえるVBAを知りたいんだ!」

「VBAを基礎から体系的に勉強したい」

「でも、勉強するまとまった時間はないし、お金もない!」

そんな方には、Youtuberとしても有名なUdemy講師のエクセル兄さんが教える

「Excel VBA エキスパート認定への道 ~マクロ初心者から資格試験レベルへ &7つの自動化 マクロ を作る15時間」の講座がおすすめです。

この講座の良いところは4つ。

  • 仕事でつかえるVBAを学べる
  • スクールに通うより圧倒的に安い
  • 買い切り
  • 隙間時間で勉強できる
  • 一度買えば、何度でも見れる

VBAを仕事で活用できるレベルになりたいという方は↓のボタンから購入し、勉強しましょう。

目次

関数を入力するためにボードを移動します

準備

関数を入力しやすいようにボードの位置を少し調整します。

A列、B列を選んで、右クリック

「挿入」を左クリック

列を挿入
列が挿入されたらOK

続いて、1行、2行を選んで、左クリック

同じく「挿入」を左クリック

行を挿入
行が挿入されたらOK

これでボードの周りに関数を入力するためのセルができました。

準備ができたので関数を入力していきましょう!

COUNTIF関数で〇と×の数を数えよう

まるばつを数えよう

COUNTIFは「決まった値の入ったセルの数を数える」関数

COUNTIFは次のように書きます。

=COUNTIF(検索する範囲,検索条件)

COUNTIFは検索する範囲内のセルのうち、検索条件に当てはまる値が入っているセルの数を表示します。

例えば、A1のセルに「=COUNTIF(A2:A6,”〇”)」と入力します。

COUNTIFを入力

A2~A6に〇が入力されていないので、A1には「0」が表示されます。

0が表示される

続いて、A2に〇を入力すると、A1には「1」が表示されます。

1が表示される

こんな感じにCOUNTIFは検索する範囲に検索条件にあったセルの数を表示します。

記事を読んでいただき、ありがとうございます。

しかし、こんなことを思っている方はいませんか?

「ゲームを作るVBAを知りたいんじゃない、仕事でつかえるVBAを知りたいんだ!」

「VBAを基礎から体系的に勉強したい」

「でも、勉強するまとまった時間はないし、お金もない!」

そんな方には、Youtuberとしても有名なUdemy講師のエクセル兄さんが教える

「Excel VBA エキスパート認定への道 ~マクロ初心者から資格試験レベルへ &7つの自動化 マクロ を作る15時間」の講座がおすすめです。

この講座の良いところは4つ。

  • 仕事でつかえるVBAを学べる
  • スクールに通うより圧倒的に安い
  • 買い切り
  • 隙間時間で勉強できる
  • 一度買えば、何度でも見れる

VBAを仕事で活用できるレベルになりたいという方は↓のボタンから購入し、勉強しましょう。

COUNTIFを書こう!3STEP

まるばつゲームに勝つためには「縦横斜めに3つ並んだほうが勝ち」

なので、まず縦横斜めに〇と×がそれぞれいくつあるかを数える。

STEP
縦に数える

C2のセルに「=COUNTIF(C$3:C$5,”〇”)」と入力します。

記事中の式をコピーして貼り付けると楽ですよ!

COUNTIF(縦〇)を入力

このC2の式をD2、E2にコピーしましょう。

これで縦の〇の数を数えられます。

COUNTIF(縦〇)をコピー

次に×の数を数えるために、C6に「=COUNTIF(C$3:E$5,”×”)」を入力します。

COUNTIF(縦×)を入力

そして、C6の式をD6、E6にコピーします。

これで縦の×の数も数えられます。

COUNTIF(縦×)をコピー
STEP
横に数える

B3のセルに「=COUNTIF($C1:$E3,”〇”)」と入力します。

COUNTIF(横〇)を入力

B3の式をB4、B5にコピーしましょう。

これで横の〇の数を数えられます。

COUNTIF(横〇)をコピー

続いて、F3のセルに「=COUNTIF($C1:$E3,”×”)」と入力します。

COUNTIF(横×)を入力

その後、F3セルをF4、F5にコピー。

COUNTIF(横×)をコピー

これで横の×の数も数えられます。

STEP
斜めに数える

縦横に数えられたので、次は斜めに数えます。

まずは↓の矢印の向きに〇と×を数えます。

COUNTIF(斜め〇)

B2のセルに「=COUNTIF($C$3,”〇”)+COUNTIF($D$4,”〇”)+COUNTIF($E$5,”〇”)」を入力しましょう。

斜めに数えるには縦横のときとは違い、COUNTIFの結果を3つ合計する必要があります。
縦横のときと同じように記事中の式をコピーしてください。

COUNTIF(斜め〇)を入力

続いて、F6に「=COUNTIF($C$3,“×”)+COUNTIF($D$4,“×”) +COUNTIF($E$5,“×”)」を入力。

COUNTIF(斜め×)を入力

続いて↓の矢印の向きに〇と×を数えます。

COUNTIF(斜め2)

A5に「=COUNTIF($C$5,”〇”)+COUNTIF($D$4,”〇”)+COUNTIF($E$3,”〇”)」を入力しましょう。

ほんとはB6に入力したいところですが、のちの工程でちょっと不都合があるのでA5に入力します。

COUNTIF(斜め2〇)入力

次は、×を数えます。

G3に「=COUNTIF($C$5,”×”)+COUNTIF($D$4,”×”)+COUNTIF($E$3,”×”)」を入力します。

COUNTIF(斜め2×)入力

これでボード上のまるばつを数える作業は完了です!

IF関数で勝ち負け引き分けの判定をしよう

勝ち負け判定

IF関数は「もし〇〇だったら、××する」関数

IF関数は次のように書きます。

=IF(論理式,論理式に当てはまるの場合の処理, 論理式に当てはまらない場合の処理)

例えば、B1に「=IF(A1=1,”〇”,”×”)」を入力します。

IF関数説明

これは「もしA1に1が入力されていたら、B1に〇表示する。そうでなければ×を表示する」という意味です。

A1に「1」が入力されていない場合、「×」が表示されます。

IF×表示

もしA1に「1」が入力されていた場合、「〇」が表示されます。

IF〇表示

このIF関数を使って勝ち負けの判断を設定していきましょう。

IF関数を書こう!3STEP

まず〇と×の勝利条件を確認します。

下図の赤枠のセルの中に「3」があれば、「〇の勝ち」

青枠のセルの中に「3」があれば、「×の勝ち」

どちらも当てはまらなければ「引き分け」

です。

IF関数勝ち負け引き分け範囲

まずは、〇について関数を作ります。

H2に「=IF(COUNTIF(A2:E5,3),”〇の勝ち”,””)」と記載します。

IF関数(勝ち)を入力

これで赤枠の中のセルに「3」があったら、H2に「〇の勝ち」、そうでなければ「””(空白)」が表示されるようになりました。

続いて、「””(空白)」の部分に「×の勝ち」と表示するようなIF文を加えます。

できたIF文は「=IF(COUNTIF(A2:E5,3),”〇の勝ち”,IF(COUNTIF(C3:G6,3),”×の勝ち”,””))」。

IF関数(負け)を入力

赤枠の中に「3」があれば「〇の勝ち」、青枠の中に「3」があれば「×の勝ち」、両方でなければ「””(空白)」が表示されます。

最後に引き分けも表示したいので、「””(空白)」を「”引き分け”」に変更します。

IF関数(引き分け)を入力

これで、勝ち負け判定の関数ができました!

COUNTA関数で試合終了の判定をしよう

試合終了

COUNTA関数は「範囲内の値の数を数える」関数

COUNTAは次のように書きます。

=COUNTA(指定した範囲)

例えば、A1に「=COUNTA(A2:A6)」と入力します。

これは、「A2~A6の中の値が入力されているセルの数を表示する」を意味します。

A2~A6に何も入力されていないので、A1に「0」が表示されます。

つづいて、A2に値を入力すると、A1には「1」が表示されます。

このCOUNTA関数を勝ち負け判定の式に加えていきます。

まるばつゲームは全部のマスに入力したらゲーム終了

今のままだとゲーム中にずっと「引き分け」が表示されます。

勝負が決まっていないのに、「引き分け」はおかしいですよね。

そのため、勝負が決まったときに表示されるようにしたいです。

今回は、「9個のすべてのマスに〇か×を入力された時点をゲーム終了」となるように関数を修正していきます。

H2セルの勝ち負け判定の式に条件を加えていきます。

「=IF(COUNTA(C3:E5)<9,””,IF(COUNTIF(A2:E5,3),”〇の勝ち”,IF(COUNTIF(C3:G6,3),”×の勝ち”,”引き分け”)))」と入力します。

これで、ボード上のセルに値が9個未満だったらH2には「””(空白)」、

そうでなければ「IF(COUNTIF(A2:E5,3),”〇の勝ち”,IF(COUNTIF(C3:G6,3),”×の勝ち”,”引き分け”))の判定結果」を表示します。

見やすくなるように仕上げをしましょう!

このままだとボードの周りの数字があってボードが見づらいです。数字の文字色を白色に設定するとボードが見やすくなります。

最後に見やすくするために、少し装飾をします。

まずはA1にゲーム名「まるばつゲーム改」と書きます。

続いて、ボードの周りに「0」があると見づらいので、文字の色を白にしましょう。

最後に勝敗が表示されるH2セルに色を付けます。

装飾する

これで勝ち負け判定を自動でやってくれるまるばつゲームは完成です。

完成

VBAなしでも自動で勝ち負け判定はできる!

関数でも勝ち負け判定できる

この記事では、COUNTIF関数、IF関数、COUNTA関数を使ってまるばつゲームの勝ち負け判定をする方法を紹介しました。

「自動で」なんて言うと難しそうですが、関数を使うことで実現できます。

本文をコピーしてもできますので、ぜひ挑戦してみてください。

今回はここまでです!

記事を読んでいただき、ありがとうございます。

しかし、こんなことを思っている方はいませんか?

「ゲームを作るVBAを知りたいんじゃない、仕事でつかえるVBAを知りたいんだ!」

「VBAを基礎から体系的に勉強したい」

「でも、勉強するまとまった時間はないし、お金もない!」

そんな方には、Youtuberとしても有名なUdemy講師のエクセル兄さんが教える

「Excel VBA エキスパート認定への道 ~マクロ初心者から資格試験レベルへ &7つの自動化 マクロ を作る15時間」の講座がおすすめです。

この講座の良いところは4つ。

  • 仕事でつかえるVBAを学べる
  • スクールに通うより圧倒的に安い
  • 買い切り
  • 隙間時間で勉強できる
  • 一度買えば、何度でも見れる

VBAを仕事で活用できるレベルになりたいという方は↓のボタンから購入し、勉強しましょう。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次