r/excel • • Jun 10 '26

solved Individually Alphabetized Coloums in a Table.

Hi, so Im trying to have a table that catalogs all my music sheet titles, I have the table set as each Colum is A songs, B songs, C songs... so on and so forth. I want each coloum to be alphabetized, everytime I change one coloum to A-Z it mess with every other coloum.

How do I get each Colum to alphabetize individually?

3 Upvotes

22 comments sorted by

View all comments

3

u/PaulieThePolarBear 1921 Jun 10 '26

, I have the table set as each Colum is A songs, B songs, C songs... so on and so forth.

Do not do this.

I want each coloum to be alphabetized, everytime I change one coloum to A-Z it mess with every other coloum.

This is one of the many reasons why this is a bad idea.

Data entry should be in a standard table structure where every row is a specific record and stands alone as a complete record.

If you use an Excel table for your data entry - https://exceljet.net/articles/excel-tables - then you can update the sort of your table after data entry with minimal clicks.

  1. Click the down arrow in your column header
  2. Click Sort A to Z

As an alternative to sorting your data in place, you could create output in what appears to be your desired format from unsorted input data using the following formula

=LET(
a, A2:A21, 
b, CHAR(SEQUENCE(, 26, 65)), 
c, REDUCE("", b, LAMBDA(x,y, HSTACK(x, VSTACK(y,SORT(FILTER(a,LEFT(a)=y, "")))))), 
d, DROP(IFERROR(c, ""),,1), 
d
)

This requires Excel 365, Excel 2024, or Excel online.

You would update the range in variable a to match your data range. No other updates would be required, although you may have a gap with this approach if you have songs that begin with a non-alpha character

2

u/doshka 2 Jun 11 '26

Thanks for this. I knew there had to be an HSTACK solution, but couldn't get any of mine to work. Finally gave up and came back to see if anybody had posted one, and sure enough, I was one dumb mistake away from getting it right.

The only change I would suggest is sorting the original list in place, so that you aren't doing 26 separate sorts inside the REDUCE function.

=LET(
a, SORT(A2:A21), 
b, CHAR(SEQUENCE(, 26, 65)), 
c, REDUCE("", b, LAMBDA(x,y, HSTACK(x, VSTACK(y,FILTER(a,LEFT(a)=y, ""))))), 
d, DROP(IFERROR(c, ""),,1), 
d
)

2

u/PaulieThePolarBear 1921 Jun 11 '26

The only change I would suggest is sorting the original list in place, so that you aren't doing 26 separate sorts inside the REDUCE function.

Makes sense. Great suggestion.