How to Count Active Members in Excel Each Month
Question details
The user needs an Excel formula or report to calculate the number of active members per month by comparing enrollment dates and end dates (when members leave or die).

- Product
- Microsoft Excel
- Device & OS
- not provided
- Scenario
- Tracking and reporting on monthly active memberships, subscriptions, or employee statuses over time.
- Observed behavior
- A dynamic method is needed to evaluate whether a member's active date range overlaps with any given month, considering both active and ended memberships.
Ensure your dataset includes dedicated columns for the 'Enrollment Date' and 'End Date'. Verify that these columns are properly formatted as Date values, not text, so the formulas can evaluate them correctly.
Use COUNTIFS and EOMONTH Functions to Calculate Active Members
Combine the COUNTIFS and EOMONTH functions to check if a member enrolled before the month ends and either has no end date or ended their membership after the month began.
To accurately count active members, a member is considered 'active' in a specific month if their enrollment date is on or before the last day of that month, AND their end date is either blank (still active) or on or after the first day of that month.
Because some members have left and others are still active, you need to add two COUNTIFS functions together to account for both scenarios.
Organize your data with columns for 'Member ID', 'EnrollDate' (e.g., column B), and 'EndDate' (e.g., column C). If a member is currently active, leave their EndDate cell blank.
In a new area or sheet, create a column for your reporting months. Enter the first day of each month you want to track (e.g., type 1/1/2023 in cell A2, 2/1/2023 in A3, etc.).
In the cell next to your first month (e.g., cell B2), enter the following formula: =COUNTIFS(EnrollDate,"<="&EOMONTH(A2,0),EndDate,">="&A2)+COUNTIFS(EnrollDate,"<="&EOMONTH(A2,0),EndDate,""). Replace 'EnrollDate' and 'EndDate' with your actual column references (like $B$2:$B$100).
Press Enter to get the result for the first month. Click the bottom-right corner of the cell and drag the fill handle down to apply the formula to the rest of the months in your report.

Calculate Active Members Effortlessly in WPS Spreadsheet
WPS Spreadsheet provides full support for advanced date and statistical functions like COUNTIFS and EOMONTH, making it exceptionally easy to build dynamic membership and subscription reports.
- 1. Open your dataset in WPS Spreadsheet: Launch WPS Office and open your membership tracking workbook.
- 2. Format your date columns: Highlight your Enrollment Date and End Date columns, right-click, select 'Format Cells', and ensure they are set to 'Date'.
- 3. Enter the formula: Create your monthly summary table and paste the provided COUNTIFS formula to calculate your active members.
- 4. Save and share: Save your completed report in .xlsx format to maintain 100% compatibility with Microsoft Excel users.

Frequently Asked Questions
Why is my COUNTIFS formula returning zero or giving an error?
This usually happens if your dates are stored as text instead of actual date values. To fix this, select your date column, go to the Data tab, click 'Text to Columns', and click 'Finish' to convert them into valid Excel dates.
How do I handle members who leave and then rejoin later?
If a member leaves and rejoins, you should create a new row for their new enrollment period. This allows the formula to accurately count both distinct active periods without overlapping logic errors.
Can I use Pivot Tables to count active members over time instead of formulas?
Standard Pivot Tables are excellent for static counts, but counting active members over a time series based on a date range (start and end) is difficult with basic Pivot Tables. You would typically need to use Power Pivot with DAX measures, making the COUNTIFS formula method much simpler for standard use.
What if I only want to count active members for the current month?
You can replace the cell reference (A2) in the formula with the TODAY() function. For example, use EOMONTH(TODAY(),0) to find the end of the current month automatically.




