チェックボックスは、セルに ON / OFF のスイッチを置く機能です。
Excelでは図形として扱われ、セルとの紐付けが面倒でしたが、スプレッドシートではセルの値そのものになります。この違いが集計のしやすさを生みます。
作り方
セルを選択して「挿入 → チェックボックス」。これだけです。
範囲を選択してから実行すれば、まとめて挿入できます。
削除するときは、セルを選択して Delete キーではなく、「データ → データの入力規則 → 削除」から行ってください。Delete だとチェックが外れるだけで、ボックス自体は残ります。
中身は TRUE / FALSE
ここが最も重要です。
チェックボックスの実体は、TRUE か FALSE という論理値です。図形ではなく、セルの値です。
=A2 → TRUE または FALSE
=IF(A2, "済", "未") → チェック済みなら「済」
IF(A2 = TRUE, ...) と書く必要はありません。IF(A2, ...) で足ります。
この性質のおかげで、そのまま計算に使えます。
チェック数を数える
=COUNTIF(A2:A100, TRUE)
TRUE はクォートで囲みません。文字列ではなく論理値だからです。
未チェックを数えるなら次の形です。
=COUNTIF(A2:A100, FALSE)
進捗率を出すなら割ります。
=COUNTIF(A2:A100, TRUE) / COUNTA(A2:A100)
セルの表示形式を「パーセント」にすれば、進捗率が自動で更新されるタスクリストになります。
チェックした行だけ集計する
SUMIF の条件に使えます。
=SUMIF($A$2:$A$100, TRUE, $C$2:$C$100)
チェックが入っている行の金額だけを合計します。買い物リストや経費精算で使えます。
複数条件なら SUMIFS です。
=SUMIFS(C:C, A:A, TRUE, B:B, "食費")
チェックした行だけ抽出する
FILTER の条件にそのまま渡せます。
=FILTER(B2:D100, A2:A100)
= TRUE を書く必要はありません。 論理値をそのまま条件にできます。
逆にチェックが入っていない行なら、NOT を使います。
=FILTER(B2:D100, NOT(A2:A100))
条件付き書式と連動させる
チェックした行にグレーの背景を付けて、完了を視覚化できます。
「表示形式 → 条件付き書式 → カスタム数式」に次を入れます。
=$A2 = TRUE
範囲を A2:E1000 にすれば、行全体に色が付きます。
列だけを $ で固定するのがポイントです。行を固定($A$2)すると、全行がA2の値で判定されてしまいます。
打ち消し線を付けたいなら、書式で「取り消し線」を選んでください。完了したタスクが視覚的に消えるので、リストとして使いやすくなります。
チェックの値を変更する
既定は TRUE / FALSE ですが、別の値に変えられます。
「データ → データの入力規則 → チェックボックス → カスタムのセル値を使用する」
チェック時を 完了、未チェック時を 未着手 にする、といった設定ができます。
ただし、これをやると COUNTIF(A:A, TRUE) が動かなくなります。 集計する予定があるなら、既定の TRUE / FALSE のままにしておくほうが確実です。
一括操作
全部チェックする/外すには、範囲を選択して Space キーを押します。
数式で制御することはできません。チェックボックスのセルに数式を入れると、チェックボックスが消えます。 手動入力専用と考えてください。
「条件に応じて自動でチェックを入れたい」という要件は、チェックボックスでは実現できません。別のセルに IF で判定を出すか、Google Apps Script が必要になります。
プルダウンとの使い分け
チェックボックスは1クリックで切り替わるのが最大の利点です。プルダウンは開いて選ぶ2動作が必要になります。
タスクリストのように頻繁に切り替えるものは、チェックボックスのほうが圧倒的に速くなります。
実用例:進捗管理シート
| A | B | C | D | |
|---|---|---|---|---|
| 1 | 完了 | タスク | 担当 | 期限 |
| 2 | ☑ | 資料作成 | 山田 | 4/10 |
| 3 | ☐ | レビュー | 鈴木 | 4/15 |
進捗率
=COUNTIF(A2:A100, TRUE) / COUNTA(B2:B100)
未完了かつ期限切れの件数
=COUNTIFS(A2:A100, FALSE, D2:D100, "<"&TODAY())
条件付き書式(完了はグレー+取り消し線)
=$A2 = TRUE
条件付き書式(未完了かつ期限切れは赤)
=AND($A2 = FALSE, $D2 <> "", $D2 < TODAY())
$D2 <> "" を入れているのは、期限が未入力の行を赤くしないためです。空欄は0として扱われ、TODAY より小さくなるので、これがないと未入力の行が全部赤くなります。
よくある問題
チェックボックスが消えた
セルに数式や値を直接入力すると消えます。「挿入 → チェックボックス」でやり直してください。
COUNTIFで数えられない
- –
"TRUE"(クォート付き)で書いている → クォートを外す - – カスタムのセル値に変更している → その値で数える
条件付き書式が全行に適用される
参照が $A$2 になっています。$A2 にしてください。
Deleteしてもボックスが残る
「データ → データの入力規則 → 削除」から消してください。
Excelとの違い
扱いが根本的に違います。
| Excel | スプレッドシート | |
|---|---|---|
| 実体 | 図形(フォームコントロール) | セルの値 |
| セルとの紐付け | リンクセルの設定が必要 | 不要 |
| 集計 | リンクセルを参照 | そのまま参照 |
| 挿入 | 開発タブが必要 | 挿入メニューから |
Excelではチェックボックスが図形なので、値を使うには「リンクするセル」を設定する手間がありました。
スプレッドシートはセルの値そのものなので、COUNTIF や FILTER にそのまま渡せます。 この点はスプレッドシートのほうが圧倒的に扱いやすくなっています。
まとめ
- – 「挿入 → チェックボックス」で作る
- – 実体は
TRUE/FALSEの論理値。そのまま計算に使える - – 数えるのは
=COUNTIF(A:A, TRUE)。クォートは付けない - – FILTER の条件にそのまま渡せる(
= TRUE不要) - – 条件付き書式は
=$A2 = TRUE(列だけ固定) - – 数式で自動チェックはできない。手動入力専用
関連ページ
- – プルダウンの作り方 — 3択以上ならこちら
- – 条件付き書式の使い方 — 色分けの詳細
- – COUNTIF — チェック数の集計
- – FILTER — チェックした行の抽出