You may find the methods on sorting names by the first name, even by the last name, but, do you know how to sort names by the middle name? Here, I introduce some tricks on solving this job in Excel.
![]() |
![]() |
![]() |
Sort names by middle name with formula
Here is a formula that can extract the middle name first, then you can sort by this helper column.
1. Select a cell next to the names you want to sort, type this formula =IF(ISERR(FIND(” “,A1,1+FIND(” “,A1))),””,MID(A1,FIND(” “,A1)+1,FIND(” “,A1,1+FIND(” “,A1))-FIND(” “,A1)-1)), and drag fill handle down to fill cells with this formula.
2. Keep the formula cells selected, and click Data > Sort A to Z, and check Expand the selection option in Sort Warning dialog.
3. Click Sort, the names have been sorted by middle names. See screenshot:
Sort names by middle name with Text to Columns
The Text to Columns feature also can split names into columns, then you can sort the range by the middle name column.
1. Select the names and click Data > Text to Columns.
2. In the Convert Text to Columns Wizard dialog, check Delimited option in the first one step, click Next to check Space option in Delimiters section, then click Next to go to the last step, and select a location to place new data. See screenshot:
![]() |
![]() |
![]() |
3. Click Finish, the names have been split into three columns, select the column with middle names, click Data > Sort A to Z, and check Expand the selection in the popping dialog.
4. Click Sort.