Data Import & Export

How to Create a Monthly Excel To-Do List from a Calendar

Aamir Naveed AkramAamir Naveed Akram Nov 11, 2026 869 views

Question details

The user needs to automatically collect tasks scattered across a calendar grid into a separate, centralized monthly to-do list that supports filtering and conditional formatting.

How to Extract Calendar Tasks into a Monthly Excel To-Do List
Product
Excel
Device & OS
not provided
Scenario
Managing tasks entered into individual date cells on a visual calendar layout and needing to consolidate them for easier tracking.
Observed behavior
Tasks are currently entered directly below dates in a calendar format, making it difficult to sort, filter, or apply continuous list-based conditional formatting.
Before you start

Ensure your calendar is structured with consistent spacing between dates and tasks. We recommend using a modern spreadsheet version that supports dynamic array functions like FILTER for the most automated result.

Solution 1Recommended

Use Dynamic Array Formulas to Filter Tasks

Create a normalized helper table and use the FILTER function to automatically extract non-blank tasks from your calendar.

If your calendar has a consistent layout, you can map the cells to a standard two-column table (Date and Task) on a hidden sheet. Then, you can use a dynamic array formula to pull only the cells that actually contain tasks.

1
Create a Helper Table

On a new worksheet, create two columns named 'Date' and 'Task'. Reference the respective cells from your calendar sheet to systematically populate this table.

2
Format as a Table

Select the two columns and press Ctrl+T to format them as an official Excel Table. Name it 'TaskTable' in the Table Design tab.

3
Apply the FILTER Function

In your desired Monthly To-Do List sheet, select the top-left cell where you want the list to begin and type: =FILTER(TaskTable, TaskTable[Task]<>"").

4
Generate the List

Press Enter. The formula will automatically spill the results, creating a clean list of dates and tasks while ignoring any blank entries.

Use Dynamic Array Formulas to Filter Tasks
Dynamic Updates: Because the FILTER function is dynamic, any new tasks you type into your calendar grid will automatically appear on your new to-do list.
Easily Manage Data with WPS Office

Build Dynamic To-Do Lists with WPS Spreadsheet

WPS Spreadsheet fully supports advanced array formulas like FILTER, making it incredibly easy to extract tasks from a visual calendar and manage them in a dedicated list.

  1. 1. Open Your Workbook: Launch WPS Spreadsheet and open the document containing your calendar layout.
  2. 2. Set Up a Task List: Create a new worksheet and use the =FILTER() function to automatically pull non-blank task cells from the calendar.
  3. 3. Apply Conditional Formatting: Go to the Home tab and select Conditional Formatting to highlight urgent deadlines automatically.
  4. 4. Explore Templates: Click the 'Templates' tab to browse free, ready-to-use task trackers and automated calendars if you wish to upgrade your workflow.
Fully compatible with Microsoft Excel (.xlsx) formulas and formattingBuilt-in dynamic array functions to easily filter blank cellsRich template library featuring pre-made trackers and calendarsLightweight application with a familiar, easy-to-use interface
microsoft office alternative - wps office

Frequently Asked Questions

Can I use conditional formatting on the extracted to-do list?

Yes. Once the FILTER function generates your list, you can select the output range and go to Home > Conditional Formatting to set rules based on specific text or upcoming dates.

Why is my FILTER function returning a #CALC! or #VALUE! error?

The FILTER function requires the source array and the filter criteria array to have the exact same dimensions. Ensure your referenced table range and the condition (e.g., TaskTable[Task]<>") cover the exact same number of rows.

Is there a way to sort the filtered to-do list by date automatically?

Yes, you can wrap your FILTER formula inside a SORT function. For example: =SORT(FILTER(TaskTable, TaskTable[Task]<>""), 1, 1). This will sort the filtered results by the first column (Date) in ascending order.

What if I have an older version of Excel that doesn't support the FILTER function?

If you are using an older version of Excel, you cannot use dynamic arrays. Instead, you can use Power Query to unpivot the calendar, or use a complex combination of INDEX, MATCH, and AGGREGATE functions to extract the data.