What is needed is a formula based on relative references to the current and previous rows. The idea is to increment the block counter when the Person Number is different from the previous. The conditional format should paint the cells yellow if the block counter is an odd number.
I loved your use of FREQUENCY; it took me a while to understand its role in the calculation. The version below builds from the same basis but uses SIGN and ISODD functions instead of value comparisons =ISODD(SUM(SIGN(FREQUENCY(C$2:C3,C$2:C3)))
Because, unlike the rest of humanity, I can neither read, nor see the relevance of direct cell referencing, I defined a Named range 'above' to refer to =Table1[[#Headers],[Person Number]]:Table1[@[Person Number]]
(or a dynamic array equivalent =top:"@"PNum)
To my mind, this allows a further 'simplification' (or, to others, adds 'complexity') = ISODD( SUM( SIGN( FREQUENCY(above, above) ) ) )
Another thought is that it would be far easier to move away from the alternating colour fills and, instead, use conditionally formatted borders between the data blocks.
Based Your previous threads more realistic ~1200 rows data this could do same time by [ Do It ]. ... and same time I found one missing line from code, which would give more correct results for Your previous thread too.
Interesting that I normally avoid VBA to speed a workbook up whereas you seem to move in the opposite direction.
In this case you would gain by avoiding the partial summations at every row, an O(n²) operation, and presumably also avoid the volatile nature of conditional formatting (your VBA project seemed to be password protected)
Following up on the idea of lower key conditional formatting the example below requires only that the row with a new person ID is formatted, which is far easier to achieve.
Speed? I'm interesting the result.
I refer to original data, which You could see from my file.
Conditional formatting with large data ... the original data has 332 rows and 'normally' there are ~1200 rows.
... and same time could do other 'duties' too with one run.