How can I alternate grid background color in excel when a value of a single column changes?

How can I alternate grid background color in excel when a value of a single column changes?

Such as this:

enter image description here

I would want to do this with conditional formatting, but I can't figure out how to.


Conditional format formula

=ISODD(SUM(IF(FREQUENCY(MATCH($B$2:$B2,$B$2:$B2,0),MATCH($B$2:$B2,$B$2:$B2,0))>0,1)))

Assumptions:

  • Range to apply formatting applies from row 2 down
  • Apply above conditional format to all cells in row 2 that require shading
  • paint cell format from row 2 to all rows that require format
  • that the value to check for change is in column B.

The ISODD method kept on crashing my excel (30,000 records), so I did it another way. I ran a counter next to the variable I wanted to cond format on (so in the OP example, A=1, B=2 (each time col2 is different from one row above, add one). Then I used added a column with the formula =MOD(col2,2). Which gives an alternating 1,0,1,0 (all As 1, all Bs 0, all Cs 1). Then conditionally formatted on that column. Worked!