there are lots of topics about Conditional Formatting in Google Spreadsheets, but not one like what I\'m looking for.
All I want to do is set an alt
Easiest for me seems to be clear formatting from and select ColumnA and Format, Conditional formatting..., Format cells if... Custom formula is and:
=and(A1<>"",isodd(counta(unique($A$1:$A1)))=TRUE)
Then select formatting of choice and Done.
(From here.)
The only way I can see this working is to make a new column. This can be hidden if you want.
Throw this formula in any new column and autofill down:
=IFERROR(IF(A1<>INDIRECT("A"&ROW()-1),IF(INDIRECT(CHAR(COLUMN()+64)&ROW()-1)=0,1,0),INDIRECT(CHAR(COLUMN()+64)&ROW()-1)),1)
Change A1 as needed to the start of your data. You can also replace the INDIRECT(...)
with offset but then you have to tell it what column you put the formula in. So to give an example doing it that way; if you put it in column B:
=IFERROR(IF(A1<>INDIRECT("A"&ROW()-1),IF(OFFSET(B1,-1,0)=0,1,0),OFFSET(B1,-1,0)),1)
This formula gives us a column of 0's and 1's that will tell us either to make the background colored or leave it white.
So in your conditional formatting just apply it to the desired range and use "Custom formula is":
=$B1
Chose formatting as desired
I Added an additional column with the following formula: =IF($A2=$A1,$D1,$D1+1)
A2 since I have a header row D since this is the additional column
than conditional formatting on with the following formula: =isEven($D1)
the most reliable would be to use this formula:
=ISEVEN(SUMPRODUCT(--(A$1:A1<>A$2:A2)))
Please try this formula on B1:
={1;ArrayFormula(IF(OFFSET(A2,,,COUNTA(A:A)-1)<>OFFSET(A2,-1,,COUNTA(A:A)-1),1,0))}
will add one's when new value in a row occurs.
Next formula will make a counter for values in A:A.
Paste it in C1:
ArrayFormula(SUMIF(ROW(OFFSET(B1;;;COUNTA(A:A)));
"<="&ROW(OFFSET(B1;;;COUNTA(A:A)));OFFSET(B1;;;COUNTA(A:A))))
Conditional formatting on range A:Z
with the following formula: =isOdd($C1)
There's a way to do this without adding any extra rows or columns. Make a conditional formatting rule and for the "custom formula" put:
=iseven(match($A1,unique($A$1:$A$15),0))
The way this works is:
unique
produces the list ValueA,ValueB,ValueC,ValueD,ValueEmatch
looks for each value (starting with A1) in that list, note that the search option 0
is required if your values are not sorted. match
returns the index of the matching valueiseven
applies alternating row coloring based on the matching index