【Excel】エクセルでチェックボックスをカウントする方法(チェック済みの数を集計)
Excelでアンケートの回答数、作業の完了件数、持ち物の確認状況などを管理していると、チェック済みのチェックボックスだけを数えたい場面があります。
見た目はチェックマークでも、チェックボックスの種類によってはセルに直接値が入らないため、単純にCOUNTIF関数だけでは集計できないことがあります。
この記事では、フォームコントロールのチェックボックスを中心に、リンクするセル、COUNTIF関数、TRUEとFALSEを使ってチェック済みの数を正確に集計する方法を解説します。
チェックボックスをカウントする基本手順
・チェックボックスにリンクするセルを設定します。
・リンク先に表示されたTRUEをCOUNTIF関数で数えます。
・表示用のセルと集計用のセルを分けると、表が見やすくなります。
サンプルデータでは、1行目を見出し行として、B列に作業名、C列にチェックボックス、D列にリンクするセル、F列に集計結果を配置するものとします。
それでは、チェック済みの数を集計するための基本操作から確認していきましょう。
エクセルでチェックボックスをカウントする方法1【リンクするセルとCOUNTIF関数】
それではまず、フォームコントロールのチェックボックスをリンクするセルへ接続し、COUNTIF関数でチェック済み件数を求める方法について解説していきます。
| A | B | C | D | E | F |
|---|---|---|---|---|---|
| 1 | 作業名 | 完了 | 判定値 | 完了件数 | |
| 2 | 資料作成 | ☑ | TRUE | 2 | |
| 3 | 内容確認 | □ | FALSE | =COUNTIF(D2:D5,TRUE) | |
| 4 | 上長確認 | ☑ | TRUE | ||
| 5 | 送信処理 | □ | FALSE |
フォームコントロールのチェックボックス配置
最初に、Excelのリボンで開発タブを表示し、挿入からフォームコントロールのチェックボックスを選択します。
開発タブが表示されていない場合は、ファイル、オプション、リボンのユーザー設定を開き、右側の一覧で開発にチェックを入れると表示できます。
ActiveXコントロールにもチェックボックスがありますが、通常の表で件数を集計するだけなら、扱いやすいフォームコントロールを選ぶ方法が基本です。
選択後にシート上をドラッグするとチェックボックスが配置されます。
作成直後にはチェックボックス1のような文字が表示されますが、文字部分を選んでDeleteキーを押すか、右クリックしてテキストを編集すると、四角いチェック欄だけを残せます。
1個目を配置したら、セルC2の中央付近へ大きさを整え、コピーしてC3からC5にも貼り付けると、行ごとの操作欄をそろえやすくなります。
セルの枠線とチェックボックスの位置をそろえると、入力者がどの作業項目にチェックすべきかを迷いにくくなります。
リンクするセルの設定
続いては、クリックした状態を数式で利用できるように、チェックボックスごとにリンクするセルを設定していきます。
チェックボックスを右クリックしてコントロールの書式設定を選び、コントロールタブにあるリンクするセルへD2と入力します。
OKを押したあとにチェックボックスをクリックすると、D2にはTRUE、チェックを外すとFALSEが表示されます。
TRUEはチェック済み、FALSEは未チェックを表す論理値です。
見た目のチェックボックス自体はセルの中にあるデータではないため、このリンクするセルを作る操作が集計の土台になります。
C3のチェックボックスにはD3、C4にはD4、C5にはD5をリンクさせます。
コピーしたチェックボックスでもリンク先が自動で適切に変わるとは限らないため、各行で右クリックし、リンク先が対応する行になっているか確認しましょう。
COUNTIF関数によるチェック済み件数
続いては、リンクするセルに並んだTRUEをCOUNTIF関数で数える方法を確認していきます。
=COUNTIF(D2:D5,TRUE)
F2などの集計結果を表示したいセルに、この数式を入力します。
D2からD5の中でTRUEになっているセルだけが数えられるため、サンプルでは2という結果になります。
TRUEは文字列ではなく論理値なので、条件にはダブルクォーテーションを付けずにTRUEと入力するのが分かりやすい書き方です。
ただし、リンク先のセルにTRUEという文字を手入力した表を集計する場合は、条件の扱いが異なることがあります。
チェックボックスから自動表示されたTRUEを対象にするなら、=COUNTIF(範囲,TRUE)で問題ありません。
行が増える予定の表では、D2:D1000のように余裕を持たせるか、テーブル機能で対象範囲を管理すると、後から集計範囲を修正する手間を減らせます。
【操作のポイント】リンクするセルは、表の右側や非表示の列など、入力者の操作を妨げない位置に用意します。
チェックボックスとTRUE・FALSEの関係
続いては、チェックボックスの状態とTRUE・FALSEの関係を確認していきます。
| 状態 | チェックボックス | リンク先セル | 集計への反映 |
|---|---|---|---|
| 完了 | ☑ | TRUE | 1件として加算 |
| 未完了 | □ | FALSE | 加算しない |
論理値を表示する理由
フォームコントロールのチェックボックスは、チェックを入れた図形のように見えますが、計算用の値をセルへ直接書き込むものではありません。
そこでリンクするセルを設定し、Excelに状態をTRUEまたはFALSEとして渡します。
この仕組みを理解すると、カウントだけでなく、チェック済みの行だけを抽出する操作や、進捗率を計算する操作にも応用できます。
例えばE2に=IF(D2,”完了”,”未完了”)と入力すれば、D2がTRUEなら完了、FALSEなら未完了と表示できます。
=IF(D2,”完了”,”未完了”)
同じ式を下の行へコピーすれば、各チェックボックスの状態を文章で表示できます。
論理値を見えない場所へ置く工夫
リンク先のTRUEとFALSEを利用者に見せたくない場合は、D列の列幅を狭くする、または列を非表示にする方法があります。
列記号Dを右クリックし、非表示を選ぶと、チェックボックスの裏側にある計算用データを隠せます。
ただし、後から数式の不具合を確認するときにはリンク先の値を見る必要があります。
そのため、管理者用のシートにリンク先をまとめるか、列を非表示にする前に、どのチェックボックスがどのセルに連動しているか記録しておくと安心です。
非表示は値を削除する操作ではなく、表示だけを隠す操作です。
COUNTIF関数は非表示のセルも通常どおり参照するため、集計結果への影響はありません。
チェック状態を変更したときの再計算
チェックボックスをクリックしてTRUEとFALSEが切り替わると、COUNTIF関数が入ったセルも通常は自動で再計算されます。
件数が変化しない場合は、数式タブの計算方法の設定が手動になっていないかを確認しましょう。
手動計算では、F9キーを押すまで数式の結果が更新されないことがあります。
また、チェックボックスとリンク先セルの対応が違っていると、見た目と集計結果が一致しません。
特に行の追加やコピー後は、チェックボックスごとのリンク先セルを確認することが大切です。
【操作のポイント】TRUEとFALSEの列を残しておくと、チェック状態と集計結果が合わないときの原因を確認しやすくなります。
チェック済み数と進捗率の集計
続いては、チェック済み数だけでなく、進捗率や未完了数を同時に求める方法を確認していきます。
| F | G | H |
|---|---|---|
| チェック済み数 | 未チェック数 | 進捗率 |
| =COUNTIF(D2:D5,TRUE) | =COUNTIF(D2:D5,FALSE) | =F2/COUNTA(B2:B5) |
未チェック数の算出
チェックが入っていない件数を知りたい場合は、FALSEを条件にしてCOUNTIF関数を使います。
=COUNTIF(D2:D5,FALSE)
この数式では、D2からD5のうちFALSEとなっているセルの数を返します。
作業の残件数、未提出者数、未確認の項目数などを表示したいときに便利です。
チェックボックスがある行だけを集計対象にするため、作業名が空白の行まで含めないよう、範囲は実際のデータに合わせて指定します。
完了数と未完了数を並べて表示すると、表を開いた瞬間に進捗を把握できます。
進捗率の計算
進捗率は、チェック済み数を対象件数で割ることで計算できます。
=F2/COUNTA(B2:B5)
F2にチェック済み数があり、B2からB5に作業名が入力されている場合、COUNTA関数で作業名の入ったセル数を数えられます。
数式を入力したセルを選択し、ホームタブのパーセントスタイルをクリックすると、0.5のような値を50パーセントとして表示できます。
| A | B | C | D | E | F | G | H | |
|---|---|---|---|---|---|---|---|---|
| 1 | 作業名 | 完了 | 判定値 | 完了数 | 未完了数 | 進捗率 | ||
| 2 | 資料作成 | ☑ | TRUE | 2 | 2 | 50% |
分母にCOUNTA関数を使うと、B列に入力された作業名の数に合わせて進捗率が変わります。
ただし、見出し行を含めないように、数式ではB2から下のデータ範囲を指定してください。
全件完了時の表示
進捗率が100パーセントになったことを分かりやすくするには、IF関数と組み合わせる方法があります。
=IF(F2=COUNTA(B2:B5),”すべて完了”,”対応中”)
この式は、チェック済み数と作業名の件数が等しいときにすべて完了と表示します。
一部だけ完了している間は対応中と表示されるため、チェックリストの上部に状態表示を置く場合に役立ちます。
件数だけでなく進捗率と状態表示を組み合わせると、管理表の読み取りやすさが上がります。
【操作のポイント】進捗率の分母は、チェックボックスの数ではなく、実際に管理したい作業項目数に合わせて設定します。
複数条件でのチェックボックス集計
続いては、担当者や期限などの条件を加えながら、チェック済みの数を集計する方法を確認していきます。
| 担当者 | 作業名 | 判定値 | 集計条件 |
|---|---|---|---|
| 田中 | 資料作成 | TRUE | 田中かつチェック済み |
| 佐藤 | 内容確認 | FALSE | 佐藤かつチェック済み |
COUNTIFS関数による担当者別集計
担当者別に完了数を出すなら、複数の条件を指定できるCOUNTIFS関数が便利です。
=COUNTIFS(A2:A10,”田中”,D2:D10,TRUE)
この数式は、A2からA10で田中となっており、なおかつD2からD10がTRUEの行を数えます。
担当者の氏名をセルG2へ入力している場合は、条件を”田中”ではなくG2にすると、氏名を変更するだけで集計対象を切り替えられます。
COUNTIFS関数は、担当者別、部署別、期限別の完了件数を表示したいときに有効です。
条件範囲と集計範囲は必ず同じ行数にそろえましょう。
期限別の完了件数
期限の列がE2からE10にあり、今日までに完了した件数を調べる場合も、COUNTIFS関数を利用できます。
=COUNTIFS(D2:D10,TRUE,E2:E10,”<=”&TODAY())
この式では、判定値がTRUEであり、期限が今日以前である行を数えます。
期限を過ぎている未完了件数を知りたい場合は、TRUEをFALSEに変更します。
日付が文字列として入力されていると正しく比較できないことがあるため、期限列はExcelで認識される日付形式で入力してください。
作業の優先順位を判断する表では、期限切れの未完了数を別セルに表示する設計も役立ちます。
フィルター表示と集計の注意点
表にフィルターを設定して担当者だけを表示しても、通常のCOUNTIF関数は非表示の行を含めて数えます。
画面に表示されている行だけを集計したい場合は、SUBTOTAL関数やAGGREGATE関数など、フィルターとの連動を考慮した方法を検討します。
一方で、常に全件のチェック済み数を出したい管理表なら、COUNTIF関数で全行を対象にする方法が安定します。
表示上の絞り込みと、数式が数える範囲は別の考え方です。
何を集計した数字なのかを見出しへ明記することで、共有した表の誤解を防げます。
【操作のポイント】条件付き集計では、担当者列、期限列、リンクするセル列の開始行と終了行を統一します。
チェックボックス集計で起こりやすい不具合
続いては、チェックボックスをカウントしても結果が合わないときに確認したい不具合を解説していきます。
| 症状 | 主な原因 | 確認箇所 |
|---|---|---|
| チェックしても件数が増えない | リンクするセル未設定 | コントロールの書式設定 |
| 別の行の件数が変わる | リンク先の重複 | 各チェックボックスのリンク先 |
| 数式が更新されない | 手動計算 | 計算方法の設定 |
リンクするセルが空白のままの場合
チェックボックスをクリックしてもCOUNTIF関数の結果が変わらない場合、リンクするセルが設定されていない可能性があります。
チェックボックスを右クリックし、コントロールの書式設定、コントロールの順に開いて、リンクするセルを確認します。
設定欄が空白なら、対応する行のセル番地を入力してください。
チェックボックスの見た目だけでは、数式は状態を判定できません。
リンク先にTRUEまたはFALSEが表示されることを確認してから、COUNTIF関数の範囲を見直しましょう。
コピー後に同じセルへ連動する場合
最初のチェックボックスをコピーして複数行に貼り付けたあと、どれをクリックしても同じリンク先セルだけが変わることがあります。
この状態では複数のチェックボックスが同じTRUEとFALSEを共有するため、正しい件数にはなりません。
各チェックボックスを右クリックし、リンクするセルをD2、D3、D4のように1行ずつ設定し直します。
作成後に一つずつチェックを切り替え、対応する行の判定値だけが変わるかを確認すると、早い段階でミスに気付けます。
行を追加する頻度が高いシートでは、行追加後のリンク設定も作業手順に含めておくとよいでしょう。
記号のチェックマークとの違い
セルへ☑や✓の記号を入力しているだけの場合は、フォームコントロールのチェックボックスとは仕組みが異なります。
記号を数えるなら、セルに入れた文字を条件にしてCOUNTIF関数を使います。
=COUNTIF(C2:C10,”☑”)
この方法は入力が簡単ですが、クリックだけでTRUEとFALSEを切り替える操作や、リンクするセルを利用した数式連携はできません。
共有相手がExcelの機能に慣れていない場合や、印刷用のチェック表では記号入力も選択肢になります。
ただし、入力する記号が☑、✓、レ点などで混在すると集計漏れが起きやすいため、使用する記号は統一しましょう。
【操作のポイント】フォームコントロールとセル内の記号を混在させる場合は、それぞれ別の数式で集計します。
まとめ チェック済みの数をエクセルで集計する方法
Excelでチェックボックスをカウントするには、フォームコントロールのチェックボックスにリンクするセルを設定し、TRUEをCOUNTIF関数で数える方法が基本です。
リンク先のセルでは、チェック済みがTRUE、未チェックがFALSEとして表示されます。
チェック済み数は=COUNTIF(D2:D5,TRUE)、未チェック数は=COUNTIF(D2:D5,FALSE)のように求められます。
担当者や期限も条件に加える場合はCOUNTIFS関数を使うと、実務向けの進捗管理表へ発展させられます。
リンク先の設定漏れ、コピー後のリンク先重複、記号入力との混同は、集計が合わなくなる主な原因です。
チェックボックスを置いた後は、各行でTRUEとFALSEが正しく切り替わることを確認し、見やすい場所に完了数と進捗率を表示して活用しましょう。