∇R←PETWENTYTWO NAMES;X⍝ Receiving a 1×N matrix of name vectors,

⍝ sort the names alphabetically, and then compute the

⍝ total of their numeric counts times their sorted

⍝ positions.

R←+/(⍳↑⍴X)×+/X×~((⍴X)⍴27)=X←⎕AV[97+⍳26]⍳X[⍋X;]⊣X←⊃NAMES[⎕IO;]

∇

This is another one liner. This time I had to do some research to understand how the Grade Up and Grade Down functions work with matrix arguments. I feel like the extraction of the names and the computation of the counts is still clumsy, but I didn't think of a better way, and it's about time to move on to the next problem!