where custom is the named range J5:J7 that defines desired sort order. The SORTBY function allows sorting based on one or more “sort by” arrays, as long as dimensions are compatible with the source data. In this case, we can’t use the named range custom directly in SORTBY, because it only contains 3 rows while the table contains 10 rows. However, to create an array with 10 rows that can be used as a “sort by” array, we can use the MATCH function like this: Notice we are passing in the Group values in D5:D14 as lookup values, and using custom as the lookup table. The result is an array like this: Each value in the array represents the numeric position of given group value in custom, so there are 10 rows represented. This array is passed into the SORTBY function as the by_array1 argument. SORTBY sorts the table in the “red”, “blue”, “green” order and returns the result as a spill range starting in cell D5.

Dave Bruns

Hi - I’m Dave Bruns, and I run Exceljet with my wife, Lisa. Our goal is to help you work faster in Excel. We create short videos, and clear examples of formulas, functions, pivot tables, conditional formatting, and charts.