Champak,
mistersquirrle kindly pointed at my UDF - here it is in action:
#include <Array.au3>
#include "ArrayMultiColSort.au3"
; Set required sort list
$sList = "3-6M,3-9M,12M,12-18M,2,2T,3,3T,12,3 US,4 US,12 US"
; Get an array
$aList = StringSplit($sList, ",", 2)
; Shuffle it
_ArrayShuffle($aList)
; Make 2D (min required)
_ArrayColInsert ($aList, 1)
; And here is the result
_ArrayDisplay($aList, "Shuffled", Default, 8)
; Set list in correct format for the UDF
Global $aSortData[][] = [[0, $sList]]
; Sort the array using the required sort date
_ArrayMultiColSort($aList, $aSortData)
; And here it is
_ArrayDisplay($aList, "Sorted", Default, 8)
Good enough?
M23