「エクセルでランダムに表示される単語帳を作れないかな?」
こんな疑問を解消します。
単語帳を暗記カードで作る方は多いと思いますがエクセルでも作れたら便利ですよね!
実はエクセルを使えばランダムに単語が表示される単語帳を作ることが可能です。
完成形はこんなかんじです。
F9を押すたびにランダムな単語がでてきます。
意味の部分を隠せば単語テストが可能です。
今回はこのエクセルを使った単語帳の作成方法を解説します。
動画でも解説していますので、実際に作成しているところを見たい方は参考にしてみてください(YouTubeで直接見たい方はこちら)
エクセルで単語帳を作る方法
以下がエクセルで単語帳を作る手順です。
表を作成
まずこのような表を作成します。
設定値は以下にしました
・フォントサイズ:24px
・A列の幅:200px
・B列の幅:600px
・高さ:200px
表の作り方がよくわからない方はこちらの記事を参考にしてみてください。
続けて単語の登録をしていきます。
新しいシートを作成し、名前を「単語一覧」とします。
続いて「単語一覧」シートに以下のように単語と意味を記載していきます。
ここまでできたら元のシートに戻ります。
元のシートに戻ったらB2のセルに、
=INDIRECT("単語一覧!A"&RANDBETWEEN(1,COUNTA(A:A))))
と記載します。
これで単語をランダムに表示できますが、いきなりこれをみても難しいと思うので解説します。
単語の取得をするためにINDIRECT関数を使用します。
このINDIRECT関数では引数に指定したセルの値を取得できます。
例えば、
=INDIRECT("単語一覧!A1")
と書くと単語一覧シートのA1セルの値を表示できます。
ただこれだと常にA1セルの値が取得されてしまうので、この「A1」の部分をランダムにしていきます。
ランダムにするためにはRANDBETWEEN関数を使用します。
例えば、
=RANDBETWEEN(1,3)
と書くと1から3の中でいずれかの値がランダムで取得できます。
これを先ほどのINDIRECT関数と組み合わせると、
=INDIRECT("単語一覧!A"&RANDBETWEEN(1,3))
となります。
これでランダムな値を取得可能です。
ただし現在は3が固定になっているため、1行目から3行目までしかランダムな表示ができません。
これでは単語が増えた時に対応できないため、行数の全てを指定するためにCOUNTA関数を使用します。
これら全てを組み合わせると、
=INDIRECT("単語一覧!A"&RANDBETWEEN(1,COUNTA(単語一覧!A:A)))
となります。
これで単語がランダムで取得されるようになりました。
F9を押すと単語の値が切り替わるはずです。
続いて「意味」の部分も動的に取得できるようにします。
「意味」の部分に関しては、「単語」にランダムで出力された値を元にして対応する「意味」を表示させる必要があります。
このように特定のキーに対応する値を求めるためにはVLOOKUP関数を使用します。
B2のセルに、
=VLOOKUP(B1,単語一覧!A1:B3,2,0)
と入力します。
上記のように書くことで「単語」に対応する「意味」を取得できます。
これでランダムで出力される単語帳が完成です。
F9を押してみると単語と意味が切り替わることが確認できます。
まとめ
今回はエクセルで単語帳を作る方法を解説しました。
うまくいかない方はひとつひとつの手順を説明している動画をご覧になってもらえると理解しやすいかと思います。
この記事が参考になれば幸いです。