How to Count People in a Microsoft Lists Person Column
Question details
The user needs to automatically calculate and display the total number of individuals assigned to a Person or Group column within a Microsoft List.

- Product
- Microsoft Lists
- Device & OS
- not provided
- Scenario
- Tracking the number of participants or attendees assigned to a single list item where multiple people are selected in the Person column.
- Observed behavior
- Microsoft Lists does not provide a native way to automatically sum or count people within a Person or Group column as a standard view total.
Ensure you have the necessary Microsoft 365 permissions to edit the target Microsoft List and create automated cloud flows in Power Automate.
Use Power Automate to Calculate and Update Participant Count
Create an automated cloud flow that counts the number of people in the Person column and updates a dedicated numeric column, allowing the List view to sum the totals.
Since Microsoft Lists cannot inherently sum arrays of users, you must translate the Person column array into an integer using a Power Automate expression.
This solution requires creating a supplementary Number column in your list to store the calculated integer so the List view's Totals feature can be applied.
Open your Microsoft List and add a new Number column named 'AttendanceCount' (or a similar descriptive name).
Log into Power Automate and create a new automated cloud flow. Select the SharePoint trigger 'When an item is created or modified' and link it to your list site and list name.
Add a 'Compose' action to your flow. In the Inputs field, insert the expression `length(triggerOutputs()?['body/Participants'])` (replace 'Participants' with the exact internal name of your Person column) to count the array items.
Add an 'Update item' SharePoint action. Map all required fields to the trigger outputs, and insert the output from your 'Compose' action into the 'AttendanceCount' field.
Save and turn on the flow. Return to Microsoft Lists, click the dropdown arrow on your 'AttendanceCount' column header, select 'Totals', and set it to 'Sum'.

Simplify Data Management with WPS Office
While Microsoft Lists requires configuring complex Power Automate workflows just to count names, WPS Spreadsheet allows you to manage and analyze data using simple, intuitive formulas. Switch to WPS Office for a lightweight, highly compatible, and completely free alternative to Microsoft 365.
- 1. Export your list data: Export your current Microsoft List as a CSV or Excel file to your local computer.
- 2. Open with WPS Spreadsheet: Launch WPS Office and open the exported file seamlessly with zero formatting loss.
- 3. Use native formulas: Use simple built-in functions like `=COUNTA()` to instantly calculate your participants without building complicated automation flows.

Frequently Asked Questions
Can I count people in a Microsoft Lists Person column without using Power Automate?
No, Microsoft Lists does not currently offer a native function or calculated column formula that can parse and count the number of individuals stored within a multiple-selection Person or Group column.
Why is the Totals feature grayed out for my Person column?
The Totals feature in Microsoft Lists only supports specific column types, such as Number or Currency. Because a Person column contains complex metadata objects (names, emails, user IDs) rather than standard numeric values, the system cannot mathematically sum them.
What if my Person column only allows single selections?
If your Person column is restricted to a single selection per list item, you do not need to count individuals within the cell. Instead, you can simply use the 'Count' total feature at the bottom of the column view to see how many rows have a person assigned.
How do I handle empty Person columns in the Power Automate expression?
If the Person column can be left blank, the `length()` expression may fail because it receives a null value instead of an array. To fix this, use the `coalesce()` function to provide a fallback empty array, like `length(coalesce(triggerOutputs()?['body/Participants'], json('[]')))`.




