スプレッドシートのチェックボックスはスプレッドシートでタスク管理などを行う際に重宝します。
しかし、チェックをするだけでは完了したタスクが何件で未完了のタスクが何件なのか知ることはできません。
本記事では、チェックボックスのチェックをカウントする方法を解説しています。最後には応用テクニックも紹介していますので参考にしてみてください。
チェックボックスのチェック数をカウントする方法
チェックボックスのチェックをカウントするには、COUNTIF関数を使用します。
今回は以下のようにToDoをスプレッドシートで管理している想定で、完了したタスクと未完了のタスクをそれぞれカウントしてみましょう。
チェックした数をカウント
まずはチェックしている数をカウントする関数です。
E2
に以下の関数を入力します。
=COUNTIF(A1:A5,TRUE)
チェックをした=TRUEとなるため、このような条件でカウントすることができます。
チェックしていない数をカウント
続いてチェックをしていない数をカウントする関数です。
E3に以下の関数を入力します。
=COUNTIF(A1:A5,FALSE)
チェックがついていない=FALSEとなるため、こちらの関数でチェックをしていない数をカウントすることができます。
チェックボックスのチェックをカウントするときの注意点
COUNTIF関数の第2引数にTRUEまたはFALSEを指定することでチェックボックスをカウントすることができますが、デフォルトの設定を変更している場合は注意が必要です。
スプレッドシートのチェックボックスは、チェックをしたときの値とチェックをしていないときの値を変更することができ、これらの設定を変更している場合は上記のやり方ではカウントすることができません。
チェックボックスの設定を変更して確認
実際にチェックボックスの設定を変更して確認してみましょう。
スプレッドシートのメニューバーからデータ
>データの入力規則
を選択します。
右側に「データの入力規則」のサイドバーが表示されるので、対象のチェックボックスを選択します。
開いた詳細の「カスタムのセル値を使用する」にチェックを入れると、「チェックマーク付き」「チェックマークなし」にそれぞれ値を入力することができます。
今回は以下のように値を入力して保存してみます。
- チェックマーク付き:done
- チェックマークなし:yet
設定の変更が完了したら、先ほど関数を入力したE2
とE3
を確認してみてください。
どちらも「0」と表示されて正しくカウントされていないのがわかると思います。
COUNTIFの第2引数を指定した値に変更
このような場合は、COUNTIF関数の第2引数を指定した値に変更することで正しくカウントすることができます。
E2
とE3
の関数を以下のように変更してみましょう。
=COUNTIF(A1:A5,"done")
=COUNTIF(A1:A5,"yet")
これで正しくカウントすることができました。
「カスタムのセル値を使用する」で入力した値は文字列として扱われます。
「1」と入力しても数字の1ではなく文字列の1として扱われるので、COUNTIF関数の第2引数はダブルクオーテーションで囲むようにしましょう。
カウントする条件を追加した応用テクニック
COUNTIF関数ではなくCOUNTIFS関数を利用すれば、カウントする条件を追加することも可能です。
先ほどの例にB列の名前を追加し以下のように修正しました。
入力した名前のそれぞれの完了・未完了をカウントしてみましょう。
=COUNTIFS(A1:A5,"done",B1:B5,F1)
=COUNTIFS(A1:A5,"yet",B1:B5,F1)
=COUNTIFS(A1:A5,"done",B1:B5,G1)
=COUNTIFS(A1:A5,"yet",B1:B5,G1)
F2:G3
にこのように関数を入力することで、「田中」「高橋」それぞれの完了・未完了をカウントすることができます。