実用テク
完了行を取り消し線で消す
完了行を取り消し線で消す
チェックボックス × 条件付き書式で進捗を視覚化
チェックを入れると行全体に取り消し線が入り、文字がグレーになる。タスク管理・TODO表・チェックリストで「完了したことが一目でわかる」シートを作れる。
GASとの関係:onEditトリガーで自動書式変更
GASの onEdit(e) でチェックボックスの変更を検知し、range.setFontLine("line-through") で取り消し線を自動適用できます。チェックと同時にSlack通知・完了ログ記録も可能です。
目次
チェックボックスで取り消し線を引く設定
準備:チェックボックスを挿入
- A列を選択(A2:A100など)
- 「挿入」→「チェックボックス」
条件付き書式で取り消し線を設定
- 行全体に適用したい範囲を選択(例: A2:E100)
- 「表示形式」→「条件付き書式」
- 「カスタム数式」に以下を入力:
=$A2=TRUE
- 書式の設定で以下を行う:
- テキストの取り消し線をON
- 文字色をグレー(#9e9e9eなど)に変更
チェックを入れると行全体に取り消し線が入り、外すと元に戻ります。
ステータスのプルダウンと組み合わせる
// チェックボックスの代わりにプルダウンで「完了」を選んだら取り消し線
=$B2="完了"
完了行を下部に自動移動させるには
条件付き書式だけでは行の並べ替えはできません。完了行を下に移動させたい場合は以下の方法があります。
- SORT + FILTER:別シートに完了行を下にしたビューを作る
- GASのonEditトリガー:チェック時に行を自動移動
// GASで完了行を別シートに移動する例
function onEdit(e) {
const sheet = e.source.getActiveSheet();
if (sheet.getName() !== "タスク") return;
if (e.range.getColumn() !== 1) return; // A列(チェックボックス)のみ
if (e.value !== "TRUE") return;
const row = e.range.getRow();
const data = sheet.getRange(row, 1, 1, sheet.getLastColumn()).getValues();
const doneSheet = e.source.getSheetByName("完了済み");
doneSheet.appendRow(data[0]);
sheet.deleteRow(row);
}
取り消し線のバリエーション
| 効果 | 設定 |
|---|---|
| 取り消し線のみ | テキスト:取り消し線 ON |
| 取り消し線 + グレーアウト | 取り消し線 + 文字色をグレーに |
| 背景色を変更(完了行を薄緑に) | 取り消し線 + 背景色を薄緑に |
| 文字を完全に隠す | 文字色と背景色を同じ色に(非推奨) |
取り消し線 + 進捗カウンターの組み合わせ
// チェックが入った行数(完了件数)
=COUNTIF(A2:A100, TRUE)
// 進捗率
=TEXT(COUNTIF(A2:A100, TRUE)/COUNTA(B2:B100), "0%")
この知識をGASで活かす
GASのonEditトリガーと組み合わせると、チェックを入れた瞬間に「取り消し線を引く」「完了シートに移動する」「通知を送る」などを自動実行できます。手動での管理をゼロにする設計が実現します。
Free Newsletter
AIを業務に活かしたいなら
SMR-Labメルマガ
毎週火曜10時、コピペで使えるChatGPTプロンプト・
GASテンプレートをお届け。登録は1分・完全無料。
