You don't really need to mess with array formulas. There is technically a simpler way. Let's imagine you have a category column in A and values in B and you want the max, GROUPBY, but you don't have the latest version of EXCEL... Assuming row 1 is your headers
In C2, type "=vlookup(A2,D:E,2,FALSE)"
In D2, type "=IF(E2="","",A2)
In E2, type "=IF(COUNTIFS(A:A,A2,B:B,">"&B2)=0,B2,"")
Repeat your formulas down the sheet. What did they do?
Column C says you want to look up your current category in the contents of column D and return the value next to it in E.
Column D says you want to display your category, ready for your lookup, but ONLY where there's a value in column E next to it.
Column E says you want to look up how many records there are that share the category in column A, but have a higher value than the current one. If that total is 0, return the value, otherwise leave it blank.
Simon.