チェックボックスは、セルに 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 にそのまま渡せます。 この点はスプレッドシートのほうが圧倒的に扱いやすくなっています。
中身は真偽値であるという理解
チェックボックスは、見た目は四角い枠ですが、セルの中身は真か偽の値です。この理解があると、他の関数との組み合わせが自然にできるようになります。
チェックが入っている状態は真、入っていない状態は偽です。したがって、条件式でそのまま判定できます。チェックの有無で処理を分けたいなら、そのセルを条件にするだけで済みます。
さらに、真偽値は内部的に一と零として扱われます。つまり、チェックが入っている個数を数えたいなら、その範囲を合計するだけで済みます。件数を数える関数を使う必要はありません。
この性質を使うと、進捗率の計算も簡単になります。チェックの合計を、全体の件数で割ればよいだけです。作業の進み具合を数値で表示できます。
また、値を変更することもできます。既定は真と偽ですが、設定でカスタムの値を指定できます。チェックが入ったら特定の文字が入る、という形にもできます。ただし、この設定にすると数値としての計算ができなくなるので、集計に使うなら既定のままが便利です。
条件付き書式と組み合わせる
チェックが入った行に色を付ける、あるいは取り消し線を引く。この処理は、作業リストの見た目を大きく改善します。
設定は単純で、条件付き書式の条件にチェックボックスのセルを指定するだけです。行全体に適用したい場合は、列だけを固定して行は固定しません。
取り消し線を引く場合は、書式で文字飾りを指定します。完了した項目が視覚的に区別できるので、残りの作業が一目で分かります。
文字色を薄くする方法もあります。完了した項目を目立たなくすることで、未完了の項目に注意が向きます。
背景色を塗る方法もありますが、行数が多いと画面が色で埋まって見にくくなります。作業リストでは、取り消し線か文字色の変更のほうが実用的です。
なお、条件付き書式は表示のたびに評価されます。行数が多い場合は、適用範囲をデータのある部分に絞ってください。
一括で操作する
チェックボックスが多くなると、すべてを外す作業が面倒になります。効率的な方法があります。
範囲を選択して削除キーを押すと、すべてのチェックが外れます。チェックボックス自体は残ります。
すべてにチェックを入れたい場合は、一つにチェックを入れてからコピーし、範囲に貼り付けます。
全体を制御するチェックボックスを作ることもできます。上部に一つ置いて、そこにチェックが入ったら全部を真にする、という動きです。ただし、これは数式では実現できません。数式は自分のセルにしか値を書けないためです。実現するには、簡単な処理を書く必要があります。
代替として、全体の状態を表示するだけなら数式でできます。すべてにチェックが入っているか、一つでも入っているか、といった判定です。これだけでも進捗の把握には十分役立ちます。
作業リストとしての設計
チェックボックスを使った作業リストを作る場合、いくつか設計の要点があります。
項目、担当、期限、完了。この四列があれば、たいていの用途で足ります。ここに完了日を自動で記録したくなりますが、数式では実現できません。チェックを入れた日を記録するには、処理を書く必要があります。
進捗率は、チェックの合計を件数で割って表示します。パーセント表示にすると分かりやすくなります。
期限が近い未完了の項目を目立たせる設定も有効です。チェックが入っていない、かつ期限が近い、という二つの条件を組み合わせます。完了したものは対象外になるので、注意すべき項目だけが色付きます。
並べ替えをする場合は、チェックボックスの列も一緒に動くことを確認してください。範囲の選択が正しくないと、チェックだけが取り残されて対応が崩れます。
フィルタで未完了だけを表示する運用も便利です。チェックが偽のものだけを表示すれば、残りの作業に集中できます。
よくある質問
Q. チェックの数を数えたいのですが
範囲を合計してください。真が一として扱われるため、合計が個数になります。
Q. 進捗率を出したいのですが
チェックの合計を全体の件数で割ってください。パーセント表示にすると読みやすくなります。
Q. 全部を一度に外したいのですが
範囲を選択して削除キーを押してください。チェックボックス自体は残ります。
Q. チェックした日を記録できますか
数式ではできません。簡単な処理を書く必要があります。
Q. チェックで行に色を付けたいのですが
条件付き書式でそのセルを条件にしてください。行全体に付ける場合は、列だけを固定します。
Q. 値を変更できますか
設定でカスタムの値を指定できます。ただし数値としての集計はできなくなります。
Q. 並べ替えると対応が崩れます
範囲の選択が正しくありません。チェックボックスの列も含めて選択してください。
Q. 印刷すると表示されますか
表示されます。不要なら、印刷前に列を非表示にしてください。
まとめ
- 「挿入 → チェックボックス」で作る
- 実体は
TRUE/FALSEの論理値。そのまま計算に使える - 数えるのは
=COUNTIF(A:A, TRUE)。クォートは付けない - FILTER の条件にそのまま渡せる(
= TRUE不要) - 条件付き書式は
=$A2 = TRUE(列だけ固定) - 数式で自動チェックはできない。手動入力専用
関連ページ
- プルダウンの作り方 — 3択以上ならこちら
- 条件付き書式の使い方 — 色分けの詳細
- COUNTIF — チェック数の集計
- FILTER — チェックした行の抽出
