
仕事でもExcelが使える人って重宝されますよね。子どもにも使い方を教えてあげたいけれど、どうしていいかわからない…という方のために!答え合わせまで自動でやってくれる簡単な問題集付きのExcelファイルを用意しました!
ご家庭でお子さんにExcelを教えたいときにご利用ください!
自動答え合わせ機能付きExcelクイズ

Excelのアプリケーションがあれば使用できます。無料のブラウザ版Officeでも開くことはできますが、その場合は答え合わせ機能はつけられませんので注意してくださいね。
また、クイズに答え始めるより先にコードの貼り付けを行ってくださいね!コードの貼り付けを行っていないと、自動で答え合わせすることができません。
私が子どもたちにExcelに触れてもらうために欲しくて作ったクイズですが、同じように子どもにExcelに触れてほしいと考えている誰かの役に立ったらいいなと思います♪
おすすめのバージョンは?
今回のプログラムは簡単なものなので、古いバージョンのExcelを使っていただいても大丈夫です♪
Excelを含むOfficeソフトは3年ごとに新しいバージョンが出ており、Office365はサブスクのため常に最新の機能を使うことができます。
365には1か月の無料体験版もあるのでぜひ使ってみてくださいね!
Excelクイズの使い方
読めばやり方がわかるようにそれぞれのシートに解説を付けています。シートごとにテーマが変わります。以下のテーマで作成しています。
- セルの考え方
- オートフィル
- 四則演算
- 四則演算(セルを利用)
- SUM関数
- RIGHT関数とLEFT関数
- MID関数
- SUBSTITUTE関数


お子さんが楽しく取り組めるよう、イラストを入れたり謎解きのようにしたりする工夫をしています。
お子さんだけでなく、Excelの使い方を少し学んでみたい!という大人の方も是非使ってみてください♪
保存する場合

途中で一旦やめたい時など、保存する場合は上書き保存ではなく「名前をつけて保存」から「ファイルの種類」を開き、「Excelマクロ有効ブック(*.xlsm)」を選んで保存してくださいね。
マクロ有効ブックとして保存しないと、コードをもう一度貼り付ける必要が出てきてしまいます。
関数の答え一覧
答え合わせ機能が使えない場合は、こちらの解答を参照してください。
| シート名 | 回答 |
|---|---|
| sum | (1)=SUM(C2:C10) (2)=SUM(C2,C5) (3)=SUM(C3,C9,C10) (4)=SUM(C12:C14) |
| right_left | Q7.=RIGHT(B8,2) Q8.=LEFT(B12,4) |
| mid | Q9.=MID(B8,3,2) Q10.=MID(B12,4,3) |
| substitute | =SUBSTITUTE(B11,"し","さん") |
| substitute2 | =SUBSTITUTE(B7,"た","") |
| さい終問題 | にほんあまがえる or ニホンアマガエル |
関数は直接入力か「関数ライブラリ」から

関数はイコールから直接手打ちもできますが、「substitute」なんて綴りを間違いそう!そもそも関数のカッコの中に何を書けばいいのかなんていちいち覚えてられないですよね。
そういうときの強い味方が「数式」タブの「関数ライブラリ」です。なんかこんな感じの関数名だったな~?というのだけ覚えておけば簡単に関数が使えますよ!
今回のクイズに出てくる関数だけでいえば、SUM関数は「オートSUM」または「数学/三角」の中に、その他の関数は「文字列操作」の中にあります。
※今回のクイズではsubstitute2(たぬきの問題)だけは直接入力でしか解くことができませんのでご注意ください。
操作の豆知識

セルに直接文字や関数を入力しているとき、キーボードの矢印キーで移動しようとするとセルごと移動してしまってイラッ💢としませんか?
そういうときは入力したいセルを選択してからリボンの下にある「数式バー」に入力するか、キーボードのF2キーを押して編集モードにしてから入力するといいですよ!
答え合わせ機能のVBAコード
VBEにコードを貼り付けるだけ
答え合わせ機能を付けたい場合は、以下の手順でコードの貼り付けを行ってください。

エクセルクイズのファイルを開いた状態で、キーボードの「Alt」と「F11」(キーボードの上の方にあります)を同時に押します。すると、VBEと呼ばれるウィンドウが開きます。
エクセルクイズのファイルを開いた状態で、キーボードの「Alt」と「F11」(キーボードの上の方にあります)を同時に押します。 すると、VBEと呼ばれるウィンドウが開きます。
「挿入」から「標準モジュール」をクリックします。そうすると、灰色だった部分に白い画面が開きます。あとは下にあるコードをコピー&ペーストするだけでOKです。

こんな感じになれば大丈夫です!右上のばってんを押してウインドウを閉じてください。
答え合わせ用コード(VBEにコピー&ペーストしてください)
以下のコードを先ほど開いた白い画面にコピー&ペーストしてください!
「Option Explicit」から「End sub」までをドラッグで囲んで、右クリック→コピーを選んでくださいね。
クリックして詳細をチェック
Option Explicit
Sub answer_sub2()
If Range("B9").Formula = "=SUBSTITUTE(B7,""た"","""")" Then
MsgBox "正解!(^^)!", vbOKOnly, "やったね!"
Else
MsgBox "不正解(T_T)", vbOKOnly, "ざんねん…"
End If
End Sub
Sub answer_sub()
If Range("E11").Formula = "=SUBSTITUTE(B11,""し"",""さん"")" Then
ActiveSheet.Shapes(3).Visible = True
ActiveSheet.Shapes(2).Visible = False
MsgBox "正解でつ", vbOKOnly, "やったね!"
Else
MsgBox "不正解(T_T)", vbOKOnly, "ざんねん…"
End If
End Sub
Sub answer_shisoku()
Dim i As Integer, a As Integer
For i = 1 To 4
If Not Cells(i + 4, 4).Formula = Cells(i + 29, 4).Formula Then
Cells(i + 4, 4).Interior.Color = vbYellow
a = a + 1
Else: Cells(i + 4, 4).Interior.Color = vbCyan
End If
Next i
For i = 5 To 8
If Not Cells(i + 9, 4).Formula = Cells(i + 29, 4).Formula Then
Cells(i + 9, 4).Interior.Color = vbYellow
a = a + 1
Else: Cells(i + 9, 4).Interior.Color = vbCyan
End If
Next i
If a = 0 Then
MsgBox "正解!(∩・∀・)∩", vbOKOnly, "やったね!"
Else
MsgBox "黄色のセルを見直してみよう!", vbOKOnly, "不正解!"
End If
End Sub
Sub answer_rl()
Dim a As Integer
a = 0
If Range("B9").Formula = "=RIGHT(B8,2)" Then
a = a + 1
End If
If Range("B13").Formula = "=LEFT(B12,4)" Then
a = a + 2
End If
If a = 3 Then
Range("B9").Interior.Color = vbCyan
Range("B13").Interior.Color = vbCyan
ActiveSheet.Shapes("umiusi").Visible = False
ActiveSheet.Shapes("ushi").Visible = True
ActiveSheet.Shapes("gakko").Visible = False
ActiveSheet.Shapes("syouga").Visible = True
MsgBox "正解ヽ(・∀・)ノ", vbOKOnly, "やったね!"
ElseIf a = 2 Then
Range("B9").Interior.Color = vbYellow
Range("B13").Interior.Color = vbWhite
MsgBox "黄色のセルを見直そう!", vbOKOnly, "もう一回!"
ElseIf a = 1 Then
Range("B9").Interior.Color = vbWhite
Range("B13").Interior.Color = vbYellow
MsgBox "黄色のセルを見直そう!", vbOKOnly, "もう一回!"
ElseIf a = 0 Then
Range("B9").Interior.Color = vbYellow
Range("B13").Interior.Color = vbYellow
MsgBox "黄色のセルを見直そう!", vbOKOnly, "もう一回!"
End If
End Sub
Sub answer_mid()
Dim a As Integer
a = 0
If Range("B9").Formula = "=MID(B8,3,2)" Then
a = a + 1
End If
If Range("B13").Formula = "=MID(B12,4,3)" Then
a = a + 2
End If
If a = 3 Then
ActiveSheet.Shapes("kasago").Visible = False
ActiveSheet.Shapes("kasa").Visible = True
ActiveSheet.Shapes("shiki").Visible = False
ActiveSheet.Shapes("kasyu").Visible = True
Range("B9").Interior.Color = vbCyan
Range("B13").Interior.Color = vbCyan
MsgBox "正解ヽ(・∀・)ノ", vbOKOnly, "やったね!"
ElseIf a = 2 Then
Range("B9").Interior.Color = vbYellow
MsgBox "黄色のセルを見直そう!", vbOKOnly, "もう一回!"
ElseIf a = 1 Then
Range("B13").Interior.Color = vbYellow
MsgBox "黄色のセルを見直そう!", vbOKOnly, "もう一回!"
ElseIf a = 0 Then
Range("B9").Interior.Color = vbYellow
Range("B13").Interior.Color = vbYellow
MsgBox "黄色のセルを見直そう!", vbOKOnly, "もう一回!"
End If
End Sub
Sub answer_cells()
Dim c As Integer, r As Integer, i As Integer
For r = 1 To 6
For c = 1 To 15
If Cells(c, r) = Cells(c + 27, r) Then
Cells(c, r).Interior.ColorIndex = 0
Else
Cells(c, r).Interior.Color = vbYellow
i = i + 1
End If
Next c
Next r
If i > 0 Then
MsgBox "黄色の部分を見直してみよう!" & vbCrLf & _
i & "問 まちがいがあるよ。", vbOKOnly
Else
MsgBox "正解!\(^0^)/", vbOKOnly, "やったね!"
End If
End Sub
Sub answer_shisoku3()
Dim v(4) As Variant
Dim i As Integer, a As Integer
v(0) = 83558
v(1) = 12558
v(2) = 40178
v(3) = 17660
v(4) = 70396
a = 0
i = 0
For i = 0 To 4
If Not Cells(i + 11, 3).Value = v(i) Then
Cells(i + 11, 3).Interior.Color = vbYellow
a = a + 1
Else: Cells(i + 11, 3).Interior.Color = vbCyan
End If
Next i
If a = 0 Then
MsgBox "正解!くコ:彡", vbOKOnly, "やったね!"
Else
MsgBox "黄色のセルを見直してみよう!", vbOKOnly, "不正解!"
End If
End Sub
Sub lastpage()
If Range("N30") = "にほんあまがえる" Or Range("N30") = "ニホンアマガエル" Then
MsgBox "おめでとう!", vbOKOnly, "大正解!"
Worksheets("お試しシート").Visible = True
Worksheets("問題作り").Visible = True
Worksheets("自由シート").Visible = True
With Worksheets("おめでとう!")
.Visible = True
.Select
End With
Else
MsgBox "ざんねん!", vbOKOnly, "もう一回考えてみよう!"
End If
End Sub
Sub answer_shisoku2()
Dim v(7) As Variant
Dim i As Integer, a As Integer
v(0) = 20
v(1) = 852
v(2) = 24
v(3) = 4089
v(4) = 19740
v(5) = 55225
v(6) = 2521
v(7) = 200000000
a = 0
For i = 0 To 7
If Cells(i + 3, 4).Value <> v(i) Then
Cells(i + 3, 4).Interior.Color = vbYellow
a = a + 1
Else: Cells(i + 3, 4).Interior.Color = vbCyan
End If
Next i
If a = 0 Then
MsgBox "正解☆(ゝω・)v", vbOKOnly, "やったね!"
Else
MsgBox "黄色のセルを見直してみよう!", vbOKOnly, "不正解!"
End If
End Sub
使用上の注意
イラストAC・いらすとや・イラストストックからイラスト素材をお借りしています。また、自作イラストも使用しています。著作権は放棄していません。
個人の方の利用を想定しています。団体・教育機関等での使用はご遠慮ください。再配布・加工等の利用はおやめください。