PR

 例えば大人と子供で値段が異なる料金表などを作るとき、何らかの方法で「大人」「子供」の区別を指定してもらいたい。セルにいちいち「大人」「子供」と入力してもらうのは面倒だ。そんなときは、オプションボタンを使えば、クリックするだけで大人・子供が切り替えられるようになる。

 ワークシートにオプションボタンを配置するには、Excelの設定を変更してリボンに「開発」タブを表示しなければならない。「開発」タブを表示する方法は「ワークシート上にリストボックスを配置する」を参照していただきたい。

 「開発」タブ→「コントロール」グループの「挿入」ボタンをクリックして「フォームコントロール」の「オプションボタン」ボタンをクリックする(図1)。

図1 「開発」タブを表示するにはExcelの設定を変更する。「挿入」ボタンをクリックして「フォームコントロール」の「オプションボタン」をクリックしよう

 マウスポインタが十字に変化したら、ワークシート上をドラッグしよう。これでオプションボタンが配置される(図2~5)。ここでは「大人」と「子供」を選択するために2つのオプションボタンを配置した。

図2 マウスカーソルが十字になったらドラッグ
図3 オプションボタンが表示される
図4 文字列は直接書き換えが可能
図5 2つのオプションボタンを配置した

 オプションボタンを選択して、リボンの「プロパティ」ボタンをクリックする。表示される「コントロールの書式設定」ダイアログボックスの「リンクするセル」に「A1」と入力しよう(図6)。これで準備完了。オプションボタンをクリックするたびにセルA1の数字が変化するので、現在どのオプションボタンがオンになっているかわかる仕組みだ(図7)。

図6 リボンの「プロパティ」ボタンをクリックして「コントロールの書式設定」を呼び出す。「リンクするセル」に「A1」と入力しよう。どれか1つのオプションボタンで「リンクするセル」を設定すれば、ワークシート上の他のオプションボタンも同時に設定できる。

図7 設定が完了したオプションボタン上では、マウスポインタが手の形に変わる。クリックすると「リンクしたセル」の数字が変化する。オプションボタンに表示する文字列は、オプションボタンを右クリック→「テキスト編集」で変更できる

 最後にIF関数でA1セルの数字を判定するようにしよう(図8)。ユーザーが「大人」ボタンを押したときには「大人料金」、「子供」ボタンを押したときには「子供料金」と表示するようになる。IF関数を組み合わせて料金を表示させたり、ほかにも使い道が広がるだろう。

図8 「リンクしたセル」の数字をIF関数で判定するように指定。A3セルに「=IF(A1=1,"大人料金","子供料金")」と入力すれば、ユーザーが「大人」ボタンを押したときには「大人料金」、「子供」ボタンを押したときには「子供料金」と表示される。B3セルに「=IF(A1=1,"300","150")」のように入力して、料金も表示するようにしてもいいだろう