How to Select the First Three Dates After a Specific Date in Excel
Question details
The user needs to find and extract the next three dates that occur immediately following a selected reference date from a given list.

- Product
- Excel
- Device & OS
- not provided
- Scenario
- Data analysis and reporting where upcoming milestone dates need to be automatically filtered and displayed based on a specific reference date.
- Observed behavior
- The system filters the dataset and outputs the desired number of upcoming dates seamlessly using array functions or matched indexes.
Ensure your date range consists of properly formatted date values rather than text strings, and note the specific cell reference that contains your target date.
Use Dynamic Array Formulas (TAKE, SORT, and FILTER)
This is the most robust and modern approach for Excel, seamlessly handling both sorted and unsorted date ranges.
Modern spreadsheet versions support dynamic arrays, allowing you to filter dates greater than your target, sort them properly, and take the first or last few values in a single clean formula.
You can also use the LET function to make this formula easier to read and manage.
Locate the range containing your date list (e.g., named 'ListA' or range C7:C13) and the cell with your reference date (e.g., F5).
Select the cell where you want the first result to appear and type: =TAKE(SORT(FILTER(ListA, ListA > F5, "none"), , -1), -3).
Alternatively, type: =LET(filtered, SORT(FILTER(ListA, ListA > F5, "none"), , -1), TAKE(filtered, -3)).
Press Enter. The results will automatically spill into the adjacent cells, displaying the correct three dates.

Use the AGGREGATE Function for Older Excel Versions
If your spreadsheet software does not support dynamic arrays, the AGGREGATE function offers a powerful, backward-compatible alternative.
Use INDEX and MATCH for Pre-Sorted Lists
For date lists that are already sorted in descending order, an INDEX and MATCH combination can fetch the upcoming dates highly efficiently.
Filter and Extract Dates Seamlessly with WPS Spreadsheet
WPS Spreadsheet fully supports advanced array formulas like FILTER, SORT, and TAKE, allowing you to easily extract specific dates and perform complex data analysis without compatibility issues.
- 1. Open your dataset: Launch WPS Spreadsheet and open the document containing your list of dates.
- 2. Select a destination cell: Click on the empty cell where you want the first extracted date to be displayed.
- 3. Enter the dynamic formula: Type the formula =TAKE(SORT(FILTER(A2:A20, A2:A20>D2, ""), 1, 1), 3), replacing the references with your actual ranges.
- 4. View your results: Press Enter. WPS Spreadsheet will automatically spill the calculated upcoming dates into the consecutive cells.

Frequently Asked Questions
Why does my formula return 5-digit numbers instead of dates?
Spreadsheet programs store dates as sequential serial numbers for calculation purposes. To fix this, select the result cells, right-click, choose 'Format Cells', and apply a 'Date' format.
What happens if there are fewer than three dates available after the specific date?
If you are using dynamic array formulas or wrappers like IFERROR, the formula will handle it gracefully. It will either return only the available one or two dates, or output the custom fallback text (like 'none' or a blank cell) that you defined in the formula.
Can I extract the dates BEFORE the specific date instead?
Yes. Simply change the logical operator in your FILTER or AGGREGATE formula from greater than (>) to less than (<). For instance, use FILTER(ListA, ListA < F5) to pull previous dates.
Why am I getting a #NAME? error?
A #NAME? error usually means your version of the spreadsheet software does not support the functions you are using (like FILTER, SORT, or TAKE). In this case, you should switch to the legacy AGGREGATE method, or upgrade to a modern suite like WPS Office.




