チェックボックスの作成 ~ フォームコントロールを使う ~

ェブ上のアンケートなどによくあるチェックボックスやラジオボタン(オプションボタン)をExcelで利用したいと思ったことはないでしょうか?

Excelでも、よくチェックボックス形式の様式を受け取ることがありますが、クリックするだけでそのボックス(□)の中にレ点(チェックマーク)を付けることができる様式はあまり見かけません。

そのため、ボックス(□)にレ点を入れるために、わざわざそれを削除して、「チェック」と入力して「☑」に変換することがよくあります。(☑は環境依存文字のため表示されない場合があります。環境依存文字については、電子メールの書式 を参照してください)

じつはExcelでは、簡単な操作で、そうしたチェックボックスやラジオボタンを作成することができますが、あまり知られていません。

それにはもちろん理由があります。というのも、

チェックボックスなどの作成ツールはデフォルト(初期設定)で非表示になっている

からです。その理由までの考察は割愛しますが、とにかく非表示になっているので、まずはそれを表示させる作業が必要になります。この作成ツールは、

フォームコントロール

と呼ばれています。まずは、フォームコントロールを呼び起こしてみましょう。

フォームコントロールを表示させるには、まずそれらが収載された「タブ」自体の非表示を解除して表示させる必要があります。というと、もう気づかれたかもしれません。

Wordの応用操作編 ドロップダウンリストの作成 で学習した「コンテンツコントロール」が収載された「開発」タブをExcelでも表示させることになります。Wordでいう「コンテンツコントロール」がExcelの「フォームコントロール」になるわけです。(バージョン等によって呼び方が異なる場合があります)

つまり、Excelのリボンに「開発」というタブを新たに追加します。「開発」タブを表示させるには、Wordと同様に「情報」タブの「オプション」より「Excelのオプション」画面を表示させます。

「Excelのオプション」画面のイメージ

画面左のメニューより「リボンのユーザー設定」を選択し、「メインタブ」の画面で「開発」のチェックボックスにチェックを入れ、「OK」ボタンで閉じます。

「Excelのオプション」画面のイメージ

すると、Excelのリボンに「開発」タブが追加されます。

リボンに「開発」タブが追加されたイメージ

これで、準備完了です。それでは、チェックボックスを作成してみましょう。

追加された「開発」タブの「挿入」ボタンのメニューより、上側「フォームコントロール」エリアの「チェックボックス」を選択します。

「開発」タブの「挿入」ボタンのイメージ

ここで、「フォームコントロール」と「ActivXコントロール」と、同じような2種類のメニューがあります。両者の違いを大まかに言うと、細かいカスタマイズができるかどうかになります。

両者ともに、Word編の マクロを使って処理を自動化する で学習した「マクロ」を登録して呼び出しますが、フォームコントロールは、ActivXコントロールの簡易版といったイメージです。

ActivXコントロールは、VBA(Visual Basic for Applications)というマイクロソフト社のOfficeの機能を拡張するためのプログラミング言語で直接設定することができます。通常、それほど専門的なコントロールは必要ないので、本項ではフォームコントロールを使用します。

フォームコントロールのチェックボックスを選択すると、カーソルが十字「+」に変化し、チェックボックスの大きさ(外枠)を指定できるようになります。マウスで大きさを指定するか、単純にクリックすると、下図のようにチェックボックスが挿入されます。

チェックボックスが挿入されたイメージ

挿入されたフォームコントロールには番号が振られます。これは連番で数字が増えていきます。上図の「チェック1」は1番目に挿入されたチェックボックスという意味で、「オプション2」や「ボタン3」のようにコントロールの種類に関係なく増えていきます。

すべてのコントロールを削除したあとに、新たにコントロールを挿入しても削除前のコントロールからの連番が振られるため、どんどん増えていきます。そのため、この数字を気にする必要はまったくありません。

こうした文字と番号は、直接編集して書き換えることができます。例えば、チェックボックスを2つ挿入して「チェック1」を「男性」、「チェック2」を「女性」のように編集すると、簡単なアンケートフォームを作成することができます。

チェックボックスを2つ挿入したイメージ

さて、これでチェックボックスが挿入されましたが、これだけではただチェックボックスがあるだけで、Excelに挿入する意味がありません。

フォームコントロールはセルとリンクさせる

ことで、Excelに挿入する意味が出てくるのです。つまり、セルの値として認識させることで、データとして集計や関数などに利用できるようになります。

では、フォームコントロールと関数による集計を同時に処理するフォーマットを作成してみましょう。下図は、1日の使用物品をチェックして経費を算出する表です。

1日の使用物品チェックシートのイメージ

使用した品名にチェックし、使用数量をリストから選択(または手入力)することで、自動計算により経費を算出するフォーマットです。

まずは、チェックボックスの列にチェックボックスを1つ挿入します。この場合「チェック1」のテキストは不要なので削除しておきます。

チェックボックスを挿入したイメージ

テキストを削除すると、チェックボックスの枠線(外枠)が長くなりますが、枠線はセル幅に合わせてサイズを調整することができます。

ところで、このチェックボックスを編集する場合、選択しようとクリックすると、チェックボックスにチェックマークが付いてしまい、選択することができません。

右クリックして選択するか、「ホーム」タブの「検索と選択」ボタンより「オブジェクトの選択」を選択して、カーソルを矢印マークに切り替えてから、クリックして選択します。

「検索と選択」ボタンのメニューのイメージ

そうしてチェックボックスを選択した状態で、オブジェクトの選択時に表示される「書式」タブの「配置」ボタンより「枠線に合わせる」を選択します。

「書式」タブの「配置」ボタンのメニューのイメージ

この状態でチェックボックスの枠線をドラッグしてみましょう。下図のように、セルの幅や高さに合わせて枠線がピッタリ重なるように動かすことができます。

セルの枠線とオブジェクトの枠線が重なっている

ただ、セルの枠線ピッタリに重ねてしまうと、マウスでセルを選択するときにオブジェクトと重なってしまい、今度はセルを選択することができなくなります。(この場合、セルを選択するには十字キーを使って移動するしかありません)

また、チェックボックスを含め、フォームコントロールには、中央揃え(センタリング)機能がありません。そのため、セルの左右枠線に合わせてから、ピッタリ中央にセンタリングさせるといった方法が使えません。

この例のようにセンタリングしたい場合は、枠線をドラッグして微調整するか、オブジェクトを選択して十字キーで移動するなど、手作業による調整が必要になります。

チェックボックスをセルの中央位置に微調整している

ひとまず、チェックボックス1つを上図のようにセルの中央位置に微調整して移動させましょう。

次に、チェックボックスとセルをリンクさせます。セルとリンクさせるには、チェックボックスを右クリックして、メニューより「コントロールの書式設定」を選択します。

右クリックメニューのイメージ

すると、「コントロールの書式設定」画面が表示されます。「コントロール」タブより「リンクするセル」にリンクさせたいセルを指定します。

「コントロールの書式設定」画面のイメージ

その他の項目、「値」は、既定値(最初の状態)を指定することができます。「オン」はチェックが付いている状態、「オフ」はチェックが無い状態、「淡色表示」はチェックが入らないグレーの状態になります。したがって、通常は「オフ」の状態になります。

では、リンクさせたいセルはどのセルを指定したらよいでしょうか?

そもそも、フォームコントロールとセルをリンクさせるとどうなるのかというと、チェックボックスの場合、チェックが「有り」の場合は指定したセルに「TRUE」を返し、チェックが「無し」の場合は「FALSE」を返します。

つまり、セルに「TRUE」か「FALSE」の値が認識されるということになり、これによって集計や関数での利用が可能になります。したがって、どのセルにこの値を表示させるかを考えればよいということです。

通常はチェックボックスを合わせたセルを指定しますが、重複するため、隣のセルとリンクさせてみます。この場合、チェックボックスは「C3」セルにありますが、リンク先は「D3」セルを指定します。

「コントロールの書式設定」画面のイメージ

セルをクリックすると、上記のように自動的に絶対参照されます。(絶対参照については、基本操作編 数式の複写(1) を参照してください)

フォームコントロールはオートフィルコピーすることができますが、ここで絶対参照を解除してコピーしても「リンクするセル」の値はコピーにともなって変化してくれません。そのため、ここは絶対参照でも相対参照でもどちらでもかまいません。

設定すると、下図のように、チェックボックスにチェックが入ると「D3」セルに「TRUE」、チェック外すと「FALSE」が表示されるようになります。

「D3」セルに「TURE」と「FALSE」が表示されている

次に、このチェックボックスをC列の下方向にオートフィルでコピーします。

オートフィルでセルをコピーしたイメージ

ただ、先述のように、フォームコントロールではリンク先のセル「D3」は変化せず、どのセルでも「D3」のままです。面倒ですが、ひとつずつ手作業でリンク先のセルを変更していく必要があります。

リンク先のセルを変更したイメージ

リンク先のセルをすべて変更すると、上図のように、チェックマークの有無に応じて隣のセルに「TRUE」か「FALSE」が表示されるようになります。

これで、ようやくチェックボックスが統計や関数に利用できるようになりました。

では、「TRUE」のときに「経費」を計算するように関数を設定してみましょう。これまでは、説明のためにリンク先のセルを「D列」に指定していましたが、「C列」に変更してチェックボックスと重ねます。

チェックボックスとリンク先のセルが同一なイメージ

そして、「数量」の列には、前項で学習した「入力規則」で「1~10」までのリストを設定します。そして「経費」の列に関数式を記述します。関数は「IF関数」で、

=IF(C3=TRUE,B3*D3,"")

としました。「C3」セルの値が「TRUE」のとき「B3×D3」を計算し、「TRUE」以外のとき(「FALSE」のとき)は「""(空白)」を返します。(IF関数については、基本操作編 IF関数 を参照してください)

式もオートフィルでコピーして、チェックボックスにチェックを付けた行の「数量」を適当に選択(または手打ち)します。すると、下図のように、チェックが付いた品名は「単価×数量」が「経費」として計算され、チェックがない品名は空白のままとなり、「合計」も正しく計算されました。

「TRUE」の品名だけ計算されたイメージ

最後に「C列」のフォント色を「白」にして「TRUE」と「FALSE」の文字を消すと、すっきりとしたフォーマットになります。

フォント色を白にして文字を消したイメージ

フォント色を白にする方法以外では、リンク先のセルを別の列にしてその列を非表示にする方法もあります。特に値の文字が気にならない場合は、別の列に表示させたままでもいいでしょう。

補足として、マウス操作によってチェックボックスが中心からズレてしまったり、縦の列が乱れたりした場合は、まとめて揃えることも可能です。

先述のとおり、「検索と選択」ボタンから「オブジェクトの選択」にカーソルを切り替えて、挿入したチェックボックスを範囲指定するように囲んで、すべてを選択状態にします。

複数のオブジェクトをドラッグして囲んでいるイメージ

この状態で「書式」タブの「配置」ボタンより、適当なレイアウトで揃えることができます。

「書式」タブの「配置」ボタンのイメージ

すると、選択しているすべてのオブジェクトの位置が揃います。

複数のオブジェクトの位置が揃っている

では、次のフォームコントロールを作成してみましょう。

やはり、フォームコントロールを利用してよく作成するのはアンケート形式のフォーマットです。

紙に印刷するのであればフォームコントロールを挿入する必要はありませんが、Excelは、ファイルで配布することができるメリットがあるので、メール等でどこへでも瞬時に送れます。

アンケートというものは、なかなか回答率と回収率が悪いもので、入力が負担になるようなフォーマットは避けなければなりません。チェックボックスのようなコントロールを使うことでかなり省力化が期待できます。

ただし、チェックボックスでは、先述の「男性」と「女性」のチェックボックスのように、どちらか一方(または数あるうちのひとつ)だけを選択する「択一選択」を設定することができません。(フォームコントロールの場合)そのため、どうしても複数チェックできてしまいます。

択一選択を設定したい場合は、「オプションボタン」が有効です。オプションボタンは「ラジオボタン」とも呼ばれる黒丸の点を付けるフォームコントロールです。

下図のようなアンケートフォームを作成してみましょう。

アンケートフォームのイメージ

どの問いも択一形式の選択肢になります。チェックボックスと同様に、「フォームコントロール」の「オプションボタン」を選択して挿入します。

「開発」タブの「挿入」ボタンのイメージ

まず、「性別」の「男性」の位置にレイアウトを整え、今度はリンク先のセルに「E5」セルを指定します。すると、オプションボタンが「オン」になったとき、「E5」セルに「1」の値が表示されます。

オプションボタンが挿入されたイメージ

次に「女性」のオプションボタンを挿入し、レイアウトを整えます。チェックボックスと同様に、両方のオプションボタンを選択した状態で、「配置」ボタンの「上揃え」「下揃え」等で揃えることができます。

「女性」のオプションボタンを挿入したイメージ

ここで、「女性」のオプションボタンの「コントロールの書式設定」画面を見てみましょう。自動的に「リンクするセル」に「E5」セルが指定されています。

「コントロールの書式設定」画面のイメージ

つまり、オプションボタンは、自動的に連動して挿入されていくのです。すでに、「男性」と「女性」のオプションボタンは、択一選択の設定となっており、両方をオンにすることはできなくなっています。また、「女性」をオンにすると、「E5」セルには「2」の値が表示されます。

「女性」のオプションボタンをオンにしたイメージ

したがって、次の問い「年齢」のオプションボタンを挿入しても、「性別」と連動して択一選択のまま「E5」セルに「3」が表示されることになります。

別区分のオプションボタンが連動しているイメージ

では、「性別」と「年齢」のオプションボタンを区別させるにはどうしたらいいでしょうか?

ここで「年齢」のオプションボタンのリンク先を変更した場合、これまで挿入したすべてのオプションボタンのリンク先が一緒に変更されてしまいます。ではどうするのかというと、

グループボックスというフォームコントロールでグループ分けする必要がある

のです。「グループボックス」は同じフォームコントロールのメニューの中にあります。

「開発」タブの「挿入」ボタンのイメージ

これも他のコントロールと同様に、クリックか任意の範囲を指定します。それぞれの問いごとにグループボックスで囲んでグループ分けします。

「グループボックスで囲んだイメージ

このようにグループボックス区分けすることで、それぞれのグループボックスごとに「リンクするセル」を設定することが可能になります。

あとは、チェックボックスと同様に、オプションボタンの「値」を集計や関数に利用して、便利なフォームに仕上げていきましょう。

ただし、この場合は、グループボックスがそのまま表示されているとごちゃごちゃして見えづらいので、グループボックスは非表示にすることができます。

非表示にするには、グループボックスを選択した状態で、「ページレイアウト」タブより「オブジェクトの選択と表示」ボタン、または「ホーム」タブの「検索と表示」ボタンより「オブジェクトの選択と表示」を選択します。

「オブジェクトの選択と表示」ボタンのイメージ

すると、画面右側にオブジェクトの「選択」画面が表示されます。

画面右側の「選択」画面のイメージ

すべて英語で表示されますが、ここに挿入されているすべてのオブジェクトが表示されています。上図のように、グループボックスである「Group Box」の「眼」のアイコンをクリックして閉じさせると、グループボックスを非表示にすることができます。

グループボックスが非表示になったイメージ

通常は、グループボックスをまず挿入してからオプションボタンをその枠内に配置し、テキスト(グループ1など)を「性別」などに変更して、非表示にすることなくそのまま使用する場合が多いようです。

このように、オプションボタンとチェックボックスを組み合わせることで、柔軟でユーザビリティの高いアンケートフォームを作成することができます。

ただし、前述のようにフォームコントロールはActivXコントロールフォームとは異なり、細かい設定はできません。チェックボックスで択一選択ができないように、「必須入力」の項目を作成することも困難です。

必須入力とは、必ず選択もしくはマークしなければならない項目のことで、Web上のアンケートなどで、入力していない場合にエラー表示がされて次に進めないようなフォームで入力した経験があると思います。

必須入力を促す場合は、エラー表示ではなく、条件付き書式 で学習した条件付き書式を設定する方法など(未入力は赤色で表示するなど)で工夫するしかありません。

それでも、フォームコントロールは簡単で使いやすいので、アンケートに限らず、様々な場面で使いやすいフォーマットを作成してみてください。

更新履歴

2018年10月17日
ページを公開。

参考文献・ウェブサイト

当ページの作成にあたり、以下の文献およびウェブサイトを参考にさせていただきました。

文献
なし
サイト
なし