As I mentioned in my comment I think this is a bit beyond what conditional formatting is capable of.
Therefore I submit for your perusal the following Excel Macro that turns this
I accept no responsibility for your data with this. It will need fine tuning to your circumstances (row and column start numbers, etc.) and if it creates a black hole and your computer vanishes in a puff of something then all I would say is "Wow, did you get that on camera?" Because that would have been awesome.
That said, it worked for me and if you set it up right it could work for you too. Or you can modify it to better suit your needs.
'Written by Mokubai, 14/10/12
FirstColumn = "A"
LastColumn = "B"
StartRow = 2
' First we establish how far we are going down the table
NumRows = ActiveSheet.UsedRange.Rows.Count
NumCols = ActiveSheet.UsedRange.Columns.Count
'Then we start working out
RowString = ""
oldRowString = ""
numRepeated = 0
For i = StartRow To NumRows
FirstCell = FirstColumn & i
'FirstCell = "A1"
LastCell = LastColumn & i
'Create a temporary string that is the row contents
For Each Cell In Range(FirstCell, LastCell)
RowString = RowString & Cell.Value
'compare it to the previous row:
If RowString = oldRowString Then
numInGroup = numInGroup + 1
numInGroup = 0
Range(FirstCell).EntireRow.Interior.ColorIndex = 0
'now we fill in the current and all previous rows to the same colour
'I have done absolutely nothing facy with the colouring, it is simply using the value
For col = 0 To numInGroup
CellNo = FirstColumn & (i - col)
Range(CellNo).EntireRow.Interior.ColorIndex = (numInGroup)
'this next bit is so that only the last member of the group gets a value in it
'in order to help define where the groups are
EmptyColumn = "C" & i - col
If col = 0 Then
ActiveCell.Value = numInGroup + 1
ActiveCell.Value = ""
'in either case we store the current row string and clear the temporary row string and repeat
oldRowString = RowString
RowString = ""