結論:チェックボックスが反映されないのは「押せない」「値が違う」「見た目が動かない」の3系統
スプレッドシートのチェックボックスがおかしいという相談は、症状こそバラバラですが、原因は次の3系統に必ず収まります。どの系統かを先に決めてしまえば、直すのは数分です。
- 押せない系……クリックしてもチェックが入らない/入れてもすぐ戻る。原因はシートや範囲の保護、または編集権限。
- 値が違う系……チェックは入るのに
COUNTIFやSUMIFの集計が0のまま。原因はチェックボックスのカスタム値、または入力規則の上書き。 - 見た目が動かない系……チェックを入れても色が変わらない/スマホで四角が出ずTRUE・FALSEの文字になる。原因は条件付き書式の数式か、アプリ版の仕様差。
とくに多いのが2番目です。「チェックは確かに入っているのに、集計だけがずっと0」という症状は、ほぼ100%がカスタム値だと思って構いません。理由は後述しますが、この場合セルの中身はブール値のTRUEではなく、あなたが設定した文字列(「完了」など)になっているためです。
まず1分で確認する3点
原因を探る前に、データを壊さずに状況を切り分ける確認を先に済ませます。この3点だけで、上の3系統のどれかがほぼ確定します。
- 空いているセルに
=ISLOGICAL(A2)を入れる(A2はチェックボックスのセル)。TRUEが返れば既定のブール値、FALSEが返ればカスタム値です。集計が合わない原因はここでほぼ判明します。 - チェックボックスのセルを1つ選び、数式バーを見る。
TRUE/FALSEと表示されるのが既定の状態です。「完了」「はい」などの文字が見えたらカスタム値、何も表示されないなら値が空のままです。 - [データ]→[データの入力規則]を開く。そのセルにどのルールが効いているかが一覧で出ます。チェックボックスのはずの範囲に「プルダウン」や「リストを範囲で指定」が乗っていたら、入力規則が上書きされています。
この3つはいずれも既存のデータを書き換えません。確認用の数式は見終わったら削除して構いません。逆に、いきなりチェックボックスを削除して入れ直すのは避けてください。チェックボックスを消すとセルの値(TRUEやFALSE)も一緒に消えるため、集計が合わない原因を探すどころか、入力済みの状態そのものを失います。
原因別の対処6手順
① シートや範囲が保護されていて押せない
クリックしても四角が塗りつぶされない、あるいは一瞬入って戻る場合は、まずここです。保護された範囲を編集しようとすると編集が受け付けられず、チェックボックスも例外ではありません。
確認は[データ]→[シートと範囲を保護]。自分がその範囲の編集権限に入っているかを見ます。保護の権限は「自分のみ」「ドメインのみ」「カスタム」などから選ぶ形で、範囲ごとに設定されます(シートを保護する、非表示にする、編集する|Google公式ヘルプ)。
ここで注意したいのが、保護にはブロックする設定と、警告を出すだけの設定の2種類があることです。公式ヘルプは「この範囲を編集するときに警告を表示する」を選んだ場合、「本当に編集しても良いかどうかを確認するメッセージが表示されるだけで、他のユーザーによる編集をブロック」しないと明記しています。つまり警告が出るのに編集できてしまうのは仕様どおりで、逆に警告も出ずに押せないなら権限側の制限です。
あわせて公式ヘルプは「保護はセキュリティ対策ではない」とも書いています。保護をかけても、コピーを作られれば中身は自由に編集できます。押されたくない列を保護で守り切るのは無理があると考えてください。
ここで直らないなら原因は保護ではありません。[シートと範囲を保護]に何も登録されていない、あるいは自分が編集可能な状態なのにチェックが入らないなら、②以降へ進んでください。なお、そもそもファイルが閲覧権限で共有されている可能性もあります。共有の権限まわりで詰まっている場合は「権限がありません」と出て共有できないときの対処を先に確認してください。
② データの入力規則が別のルールで上書きされている
チェックボックスの正体は、書式ではなくデータの入力規則です。[挿入]→[チェックボックス]で入れたものも、内部的には「条件:チェックボックス」という入力規則として保存されています(チェックボックスを追加して使用する|Google公式ヘルプ)。
したがって、同じ範囲にあとからプルダウンなど別の入力規則を設定すると、チェックボックスは消えて別の入力欄に置き換わります。公式ヘルプも、既存のルールがあるセルに新しいプルダウンを作ると「選択したセルに既存のプルダウンが含まれている場合、選択したプルダウン リストのルールに他のセル値が追加されます」と説明しています(セル内にプルダウン リストを作成する|Google公式ヘルプ)。範囲をまとめて選んで入力規則を設定し直した結果、チェックボックス列まで巻き込んでいたというのが典型的な事故です。
直し方は次のとおりです。
- 対象の範囲を選択し、[データ]→[データの入力規則]を開く。
- 意図しないルールがあれば[ルールを削除]で外す。
- 範囲を選び直して[挿入]→[チェックボックス]で入れ直す。
ここで直らないなら原因は入力規則の上書きではありません。チェックボックスの四角がきちんと表示されていて、クリックで塗りつぶしが切り替わるなら、入力規則は正しく効いています。集計だけが合わないなら③が原因です。
③ カスタム値になっていて COUNTIF(範囲,TRUE) が0のまま
ここが本題です。チェックは入る。見た目も問題ない。なのに集計だけが0。この症状の原因はカスタム値でほぼ確定します。
既定のチェックボックスは、チェック済みのセルにブール値のTRUE、未チェックのセルにFALSEを入れます。だから=COUNTIF(A2:A100,TRUE)で数えられます。COUNTIFは公式に「範囲内で条件に一致する要素の個数を返します」と定義された関数で、構文はCOUNTIF(範囲, 条件)です(COUNTIF|Google公式ヘルプ)。条件に一致しなければ、当然0が返ります。
一方、公式ヘルプはチェックボックスに独自の値を持たせる方法をこう説明しています。[データ]→[データの入力規則]で条件を「チェックボックス」に設定したうえで「カスタムのセル値を使用する」をクリックし、「チェックマーク付き」と「チェックマークなし」の欄に値を入力する、という手順です(チェックボックスを追加して使用する|Google公式ヘルプ)。
この設定をすると、チェック済みのセルに入るのはTRUEではなく、あなたが入れた「完了」という文字列そのものになります。見た目の四角は何も変わりません。だから画面上は正常に見えるのに、=COUNTIF(A2:A100,TRUE)は一致するものを1つも見つけられず0を返し続けます。「チェックが入るのに集計が0」=カスタム値という切り分けは、ここから来ています。
対処は2択です。
- 集計式のほうを合わせる……
=COUNTIF(A2:A100,"完了")のように、設定したカスタム値をそのまま条件に書く。SUMIFやSUMIFS、FILTER、QUERYの条件も同じく書き換える。 - カスタム値をやめて既定に戻す……[データの入力規則]で「カスタムのセル値を使用する」のチェックを外し、
TRUE/FALSEに統一する。集計式を将来いじる予定があるならこちらが安全です。
さらにやっかいなのが混在です。運用の途中でカスタム値に切り替えると、切り替え前に入力されたセルには古いTRUEが残ったままになることがあります。この状態では、どちらの条件で数えても件数が足りません。=COUNTA(A2:A100)(空でないセルの数)と=COUNTIF(A2:A100,TRUE)+COUNTIF(A2:A100,"完了")を並べ、数が一致するかを突き合わせてください。合わなければ第3の値が紛れています。
ここで直らないなら原因はカスタム値ではありません。=ISLOGICAL()が全行TRUEを返し、COUNTIF(範囲,TRUE)も正しい件数を返すのに、集計表の数字だけが合わないなら、集計側の参照範囲がずれているか、行の並べ替えで数式がずれています。フィルタが他の人にも影響するときの対処で触れているとおり、並べ替えをしても数式の参照はついて来ません。
④ 条件付き書式がチェックに連動しない
チェックを入れたら行に色を付けたい、取り消し線を引きたい、という設定が効かないケースです。原因はほぼ数式の書き方です。
公式ヘルプの手順は、範囲を選択して[表示形式]→[条件付き書式]、「セルの書式設定の条件」から[カスタム数式]を選び、値または数式の欄に数式を入れる、というものです(条件付き書式ルールを使用する|Google公式ヘルプ)。ここで押さえるべきは次の2点です。
- 列だけを固定する……行全体を塗りたいなら
=$A2=TRUEのように、列に$を付けて行には付けません。=$A$2=TRUEと両方固定すると、A2の1セルの状態だけで範囲全体が塗られます。 - カスタム値なら条件も文字列にする……③でカスタム値にしている場合、
=$A2=TRUEは永久に成立しません。=$A2="完了"と書きます。
「適用範囲」が塗りたい範囲全体(例:A2:F100)になっているかも必ず見てください。範囲がA列だけのまま数式を直しても、色が付くのはA列だけです。
ここで直らないなら原因は条件付き書式ではありません。同じ範囲に複数のルールが重なっていると、上にあるルールが優先されて下のルールが見えなくなります。条件付き書式のサイドバーでルールの並び順を確認し、不要なものを削除してください。
⑤ スマホアプリ版で挙動が違う
「パソコンでは普通なのに、スマホで開くとチェックボックスが出ず TRUE / FALSE の文字だけが並ぶ」「スマホからチェックボックスを追加できない」という相談も定番です。これは不具合ではなく、プラットフォームごとの機能差です。
- iPhone・iPad……公式ヘルプは「パソコンでチェックボックスを追加すると、iPhone や iPad でセルのチェックボックスをオンまたはオフにできるようになります」と書いています(チェックボックスを追加して使用する(iPhone と iPad)|Google公式ヘルプ)。追加はパソコンが必要で、iOSアプリでできるのはオン・オフの切り替えまでです。
- Android……アプリからも追加できます。スプレッドシートを開いてセルを選択し、右上のその他アイコン→[データの入力規則]→条件のリストで[チェックボックス]をタップします(チェックボックスを追加して使用する(Android)|Google公式ヘルプ)。[挿入]メニューではなく入力規則から入るのがパソコンとの違いです。
ここで直らないなら原因はアプリ版の仕様ではありません。パソコンのブラウザで開いてもチェックボックスが表示されず文字だけが並ぶなら、入力規則そのものが失われています。②に戻ってください。
⑥ コピー&貼り付けでチェックボックスだけ消える
行を追加しようとして上の行をコピーしたのに、チェックボックスが付いてこない。あるいは別のシートから貼り付けたらチェックボックスが消えて文字になった。これも入力規則の性質で説明できます。
チェックボックスは値ではなく入力規則なので、「値のみ貼り付け」では運ばれません。逆に通常の貼り付け(Ctrl+V)なら入力規則ごとコピーされます。行を増やすときは、チェックボックスのある行をまるごとコピーして貼り付けるか、貼り付け後に[編集]→[特殊貼り付け]→[データの入力規則のみ貼り付け]で入力規則だけを足してください。それでも面倒なら、対象範囲を選び直して[挿入]→[チェックボックス]で入れ直すのが確実です。
削除したいときは、公式ヘルプのとおり削除するチェックボックスを選択して[削除]を押します(チェックボックスを追加して使用する|Google公式ヘルプ)。前述のとおりこの操作はセルの値も消します。集計の元データを消してしまわないよう、先にどこかへ値をコピーしておいてください。
ここで直らないなら原因は貼り付け方法ではありません。貼り付け直後は正常でも、あとから範囲全体に別の入力規則をかけ直すと再び消えます。②の入力規則の重なりを疑ってください。
チェックが入るのに集計が0のままのときの、最短の切り分け
ここまでを、集計が合わないケースに絞って手順化するとこうなります。3分で終わります。
=ISLOGICAL(A2)を空きセルに入れる。FALSEならカスタム値が原因(③へ)。TRUEだったら=COUNTIF(A2:A100,TRUE)を入れ、目視の件数と合うか見る。合えばチェックボックス側は正常。- 合わないなら
=COUNTA(A2:A100)と比べ、値の混在(一部だけ古いTRUE、一部だけカスタム値)を疑う。 - チェックボックス側が正常なのに集計表が0なら、集計式の参照範囲・シート名・条件の型(文字列か数値か)を見る。
この順で見れば、原因は必ずどこかで止まります。逆にこの順を飛ばして「とりあえずチェックボックスを入れ直す」から始めると、値が消えて原因が分からなくなります。
毎週このトラブルが起きるなら、チェックボックスで進捗を管理していること自体が限界
ここまでの6つは、どれも数分で直せます。それでも同じ相談が毎月のように出てくるのは、直し方を知らないからではなく、チェックボックスを「ステータス管理の代わり」に使っているからです。
チェックボックスが表せるのは、本来オンとオフの2状態だけです。ところが実務の進捗は「未着手・作業中・確認待ち・差し戻し・完了」のように多段階で、しかも誰が・いつ変えたのかが後から分からないと困るものです。これを2状態で表そうとすると、列がどんどん増えます。「確認済」「請求済」「入金済」と横に並び、どれかのチェックが漏れているのに誰も気づかない、という状態になります。カスタム値を入れたくなるのも、2状態では足りないという同じ理由からです。
加えて、チェックボックス・条件付き書式・入力規則はいずれも表示のたびに評価される設定です。行数が増えると体感で分かるほど重くなります(スプレッドシートが重い・開かない原因と軽くする対処法)。複数人で同時に触っていれば、誰かの一括操作でチェックボックスごと入力規則が飛ぶ事故も起きます(複数人で使うスプレッドシートが壊れる原因と対策)。
正直なところ、ここまでの症状が月に何度も出ているシートは、直し方を覚えるより入力する画面だけを別に用意するほうが早いことがほとんどです。シートを作り直す必要はありません。いま使っているスプレッドシートをデータの置き場として残したまま、入力と閲覧の画面をかぶせる形でも十分に機能します。
切り替えの判断材料としては、次のあたりが目安になります。チェック列が5列を超えた、誰がいつチェックしたか分からなくて揉めたことがある、チェックを外すだけで集計が狂うのが怖くて触れない——どれか1つでも当てはまるなら、スプレッドシート管理の限界で整理している判断基準を見てから決めてください。見るだけの用途なら、集計結果を別の画面にまとめてしまうほうが、コストをかけずに済むこともあります。
いずれにしても、まずは今日のトラブルを止めることが先です。=ISLOGICAL()を1つ置くところから始めてください。
よくある質問
チェックは入るのにCOUNTIFの集計が0のままです。なぜですか?
チェックボックスにカスタム値が設定されている可能性が高いです。既定のチェックボックスはチェック済みのセルにブール値のTRUEを入れますが、データの入力規則で「カスタムのセル値を使用する」を設定すると、セルに入るのは「完了」などの文字列そのものになります。そのためCOUNTIF(範囲,TRUE)は一致するものを見つけられず0を返します。COUNTIF(範囲,"完了")のように条件をカスタム値に合わせるか、カスタム値をやめてTRUE/FALSEに戻してください。
カスタム値かどうかを確かめる方法はありますか?
空いているセルに =ISLOGICAL(A2) と入力してください(A2はチェックボックスのセル)。TRUEが返れば既定のブール値、FALSEが返ればカスタム値です。数式バーでセルの中身を直接見る方法でも判別できます。TRUE・FALSEと表示されれば既定、文字が見えればカスタム値です。
チェックボックスをクリックしても入りません。
シートや範囲が保護されているか、ファイル自体が閲覧権限で共有されている可能性があります。[データ]→[シートと範囲を保護]で、自分がその範囲の編集権限に入っているかを確認してください。なお公式ヘルプによると「この範囲を編集するときに警告を表示する」を選んだ保護は、確認メッセージが出るだけで編集をブロックしません。警告も出ずに押せない場合は権限側の制限です。
スマホのアプリからチェックボックスを追加できません。
iPhoneとiPadでは追加できません。公式ヘルプは「パソコンでチェックボックスを追加すると、iPhone や iPad でセルのチェックボックスをオンまたはオフにできるようになります」と説明しており、iOSアプリでできるのはオン・オフの切り替えまでです。Androidアプリからは追加でき、セルを選択して右上のその他アイコン→[データの入力規則]→条件のリストで[チェックボックス]をタップします。
コピーして行を増やすとチェックボックスだけ消えます。
チェックボックスは値ではなくデータの入力規則なので、「値のみ貼り付け」では運ばれません。通常の貼り付けなら入力規則ごとコピーされます。すでに貼り付けたあとであれば、[編集]→[特殊貼り付け]→[データの入力規則のみ貼り付け]で入力規則だけを足すか、範囲を選び直して[挿入]→[チェックボックス]で入れ直してください。