Excelのチェックボックスを活用して、
「どれだけチェックされたかを数えたい」
というニーズは非常に多くあります。
ToDoリスト、アンケート集計、確認チェックシートなど、使い道は無限大です。
この記事では、チェックボックスのカウント方法を基礎から応用まで徹底解説します。
初心者の方でもすぐに実践できるよう、丁寧に説明していきます。
Contents
チェックボックスをカウントする主な方法は3つ
方法 | 特徴 |
---|---|
COUNTIF関数 | 最も簡単で確実な方法。初心者向け |
SUMPRODUCT関数 | 複数条件や範囲で柔軟な対応が可能 |
VBAマクロ | 自動化や大量データの集計に便利 |
COUNTIF関数を使ってチェックされた数をカウント

✅ 基本構文
=COUNTIF(リンクセル範囲, TRUE)
✅ 実例
例えば、チェックボックスのリンクセルが B2~B10 の場合:
=COUNTIF(B2:B10, TRUE)
これは、**チェックされている数(TRUEの数)**を数える関数です。
SUMPRODUCT関数を使った柔軟なカウント
COUNTIFが使いにくいケース(空白や複数条件がある場合)では、こちらの方が便利です。
✅ 構文例:
=SUMPRODUCT(--(B2:B10=TRUE))
配列のTRUEを「1」として扱い、合計を出すイメージです。
VBAでチェックボックスをカウント(フォームコントロール使用時)

VBAを使うと、フォームコントロールで作成したチェックボックスの状態を一括で取得できます。
✅ サンプルコード
Sub CountCheckboxes()
Dim cb As CheckBox
Dim countChecked As Integer
countChecked = 0
For Each cb In ActiveSheet.CheckBoxes
If cb.Value = xlOn Then countChecked = countChecked + 1
Next cb
MsgBox "チェックされている数は " & countChecked & " 件です"
End Sub
✅ 実行手順:
- Alt + F11 → 新しいモジュール作成
- 上記コードを貼り付け → F5で実行
応用テクニック:一括連動やカウントの補助技
✅ チェックボックスで2択を作る(はい/いいえ)
- セルに「はい」や「いいえ」を表示させ、カウント対象に応じて分ける
✅ チェックボックスを一括連動させる
複数のチェックボックスを一括でON/OFFしたい場合、以下のようなマクロが有効です:
Sub ToggleAllCheckboxes()
Dim cb As CheckBox
For Each cb In ActiveSheet.CheckBoxes
cb.Value = xlOn ' xlOff にすれば全オフ
Next cb
End Sub
よくある質問(FAQ)

Q. フォームコントロールのチェックボックスのサイズを変えられますか?
A. 変えられます。
右クリック →「サイズとプロパティ」から調整可能です。
Q. セルの内容を取得してチェック状態を反映させたい
A. リンクセルとIF関数で連動させることで制御可能です。
Q. 重複チェックを防止する方法はありますか?
A. チェックごとにIF文やデータ検証を使えば、選択数を制限することができます。
まとめ
- チェックボックスの状態はTRUE/FALSEでセルに連動させて管理可能
- COUNTIFやSUMPRODUCT関数でチェック済み数を簡単に集計できる
- VBAを使えば一括ON/OFFや個別判定も可能
- 応用として「2択表示」「一括制御」「重複制限」なども可能
ぜひ実践して、タスク管理や進捗確認を効率化してみてください!