Sure, using a little bit of VB code.
Sub DetermineColorCodes()
ColorBack = 1 ' Column number to store codes
DataColumn = 2 ' Column number that has colored background
For IntR = 1 To 1000
ActiveSheet.Rows(IntR).Columns(ColorBack) = ActiveSheet.Rows(IntR).Columns(DataColumn).ColorIndex
Next IntR
End Sub
Note :
ActiveSheet.Rows(IntR).Columns(ColorBack) = ActiveSheet.Rows(IntR).Columns(DataColumn).Font.ColorIndex
will determine the text color code.
Now sort by the new code created on column A including all of your data. (Skip rows in column A that go past your data or simply delete them.) All similar colors should now be grouped together. If you wish the order to be different, use column A again to manually enter and change an entire group to a new value so that when sort a second time, the list is now in the desired order.
If you want help with the VB code, let me know.