Productivity•7 min read
Google Sheets Checkboxes: Interactive To-Do Lists & Dashboards
Google Sheets checkboxes store TRUE/FALSE values you can count, format and filter to build interactive to-do lists.
SheetHub••7 min
A checkbox looks like a form control, but Google Sheets reads it as a plain TRUE or FALSE value. A Google Sheets checkbox is therefore a formula-ready switch that can count, format, and filter your data. Click a cell and its value flips from TRUE to FALSE; every formula that references it updates on the spot.
You do not need add-ons, scripts, or a paid plan. Checkboxes work in every Google account, and this guide shows how to add them and read their values. From there you get progress bars, conditional formatting, and filter-driven dashboards.
When you insert a checkbox, the cell stops behaving like a normal cell. Its value becomes a Boolean: TRUE when checked, FALSE when unchecked. If you reference the cell in a formula, you get that Boolean, not text.
That formula returns TRUE when the checkbox in A2 is ticked and FALSE when it is not. Because TRUE and FALSE are first-class values in Google Sheets, they work directly with IF, COUNTIF, SUMIF, and logical tests. The checkbox is an input your sheet can react to, exactly like any other cell value.
The fastest route takes two clicks.
Step 1: Select the cell or range. Click one cell for a single checkbox, or drag across a range to add one to every selected cell.
Step 2: Open
Once you can read a checkbox value, conditional logic follows:
When the box in A2 is checked, the formula returns "Done"; when unchecked, "Pending". This pattern is the engine behind task trackers, approval sheets, and inventory lists.
You can also combine checkboxes with other logic functions.
Because a checked box is a TRUE value, COUNTIF and SUMIF treat it like any other criterion.
That formula counts how many tasks are done. For the value of completed work, SUMIF brings the amounts in:
Given a tracker where column B holds checkboxes and column C holds task values, the result is the total value of everything completed. The same approach extends to Google Sheets checkbox totals with custom criteria when you add visibility rules or custom criteria, such as a department or priority column.
A checkbox can repaint a row the moment it is ticked, which is the visual feedback most to-do lists need.
Step 1: Select the rows you want to highlight, starting at the checkbox column.
Step 2: Open
Step 4: Set a fill color, then click Done.
Now any row whose checkbox is checked turns green. Add a strikethrough in the same rule for a finished-task look. The
A live progress percentage needs just two counting formulas.
Column B holds the checkboxes; the numerator counts completed items and the denominator counts every task row. Format the result cell as Percent and it shows 40%, 70%, or 100% as boxes get ticked.
For a text-based progress bar that needs no images, extend the same idea with REPT:
Each tick adds a block character, giving a rough bar like
Once checkboxes hold TRUE/FALSE values, FILTER can show or hide rows based on them.
That formula returns only the rows where the checkbox is checked, which is perfect for an "active tasks" view. Pair it with a second filtered range for unfinished work:
The two live ranges form a miniature dashboard: tick a box and a task moves from one table to the other with no formulas to maintain. QUERY does the same job with SQL-style clauses when you need extra control, and the advanced Google Sheets QUERY examples show how to shape and label the output.
Each widget suits a different interaction, and the choice changes how your formulas look:
Checkboxes and dropdowns are both created through data validation. Once the checkbox state drives a report, the Google Sheets pivot table guide is a useful next step for grouping and summarizing the results.
1. Dragging a checkbox range duplicates the underlying custom values, which can silently overwrite cell states. Check the destination range after filling.
2. A checkbox set to Yes/No stores "Yes", not TRUE.
Can I use checkboxes in Excel? Excel added checkbox cells for Microsoft 365 in 2023, but they work differently from Google Sheets checkboxes, and the formulas around them differ too.
How do I make progress update automatically? Divide
What a checkbox really is
=A2Adding a checkbox
Insert > Checkbox. From the menu choose Insert, then Checkbox. Every selected cell now toggles between TRUE and FALSE when clicked.
The alternative route goes through data validation, which also lets you set custom values. Select the range, open Data > Data validation, set the criteria to Checkbox, and you are done.
For a custom checkbox, use the validation panel's Use custom cell values option. Checked and unchecked boxes can then store values you choose, such as Yes/No or 1/0, instead of TRUE/FALSE.
The TRUE/FALSE engine
=IF(A2, "Done", "Pending")=AND(A2, B2) returns TRUE only when both boxes are ticked, which suits a "both tasks complete" gate. =NOT(A2) inverts the state, handy for an "exclude this row" flag.
Counting and summing with checkboxes
=COUNTIF(B2:B100, TRUE)=SUMIF(B2:B100, TRUE, C2:C100)Conditional formatting toggle
Format > Conditional formatting.
Step 3: Under Format cells if, choose Custom formula is and enter:
=$B2=TRUE$B anchor keeps the rule tied to the checkbox column while the row number moves with each row. For a broader report that summarizes filtered data, the Google Sheets QUERY guide covers PIVOT, LABEL, and FORMAT clauses.
To-do list with progress
=COUNTIF(B2:B10, TRUE) / COUNTA(B2:B10)=REPT("█", ROUND(COUNTIF(B2:B10, TRUE) / COUNTA(B2:B10) * 10, 0))███████░░░ directly inside a cell. It stays within the no-image, text-first design of this site while still reading as a visual gauge.
Checkbox-driven dashboard
=FILTER(A2:C100, B2:B100=TRUE)=FILTER(A2:C100, B2:B100=FALSE)Checkbox vs dropdown vs radio
| Widget | Use it for | Formula impact |
|---|---|---|
| Checkbox | Yes/no flags, multi-select lists | TRUE/FALSE tests, COUNTIF(TRUE) |
| Dropdown | One value from many options | Text comparisons, VLOOKUP |
| Radio-style validation | One exclusive choice | Single value per row |
Error handling and limitations
=COUNTIF(B2:B100, "Yes") counts it; =COUNTIF(B2:B100, TRUE) returns zero. Match the criterion to the value actually stored.
3. COUNTIF ignores filters and counts hidden checked boxes. To total only visible rows, switch to a SUBTOTAL-based formula such as =SUMPRODUCT(SUBTOTAL(103, OFFSET(B2, ROW(B2:B100)-ROW(B2), 0)), --(B2:B100=TRUE)), or clear the filter before reporting.
4. If the denominator range includes the header row or empty cells, the percentage inflates. Anchor both COUNTIF and COUNTA to the exact task range.
Pro Tips
- Combine checkboxes, conditional formatting, and FILTER into one mini dashboard: tick a box and the row highlights, the progress rises, and the active list updates at once.
- Use custom values for readable statuses: a "Yes/No" checkbox reads better in a printed report than TRUE/FALSE.
- Link checkboxes to a second sheet when you want a clean dashboard tab that only displays the filtered results.
- For a dashboard that summarizes checkbox-driven data, Google Sheets pivot tables can group completed work by owner, status, or date.
Common mistakes to avoid
- A checkbox is not decoration: it stores a value that formulas can act on, and ignoring that throws away the feature's purpose.
- Custom-value checkboxes and default checkboxes store different values, so they need different COUNTIF criteria.
- Without percent formatting, 0.75 reads as a fraction instead of 75%.
FAQ
=COUNTIF(range, TRUE) by =COUNTA(range), format the cell as Percent, and it recalculates with every click.
Can a checkbox change the cell color? Yes, through conditional formatting. A custom rule like =$B2=TRUE repaints the row when the box is checked.
Open a sheet, insert a checkbox in B2, and copy the progress formula from this guide. Tick it, watch the percentage move, and you have a to-do list that updates itself.Article Topics
Recommended Next Reading
Google Sheets
=GOOGLE(...)Google Sheets 20 Million Cell Limit: What It Means
Explore ↗
Excel
=EXCEL(...)Excel Watch Window: Monitor Formulas in Large Workbooks
Explore ↗
Google Sheets
=EDATE() / =TODAY()Google Sheets SEQUENCE: Generate Numbers, Dates & Grids
Explore ↗
Share this tutorial
Discussion & Community
Share questions, tips, or edge-cases about this spreadsheet formula.