Question: Using this code I can add a class to divs when they get a certain amount of pixels from the top of the browser window. Is it possible to do this using % instead? so I can set it to be 50% from the top? This would mean a uniform effect on all screen sizes...

```
<script>
$(window).scroll(function() {
    $('.names').each(function(){
    var imagePos = $(this).offset().top;

    var topOfWindow = $(window).scrollTop();
        if (imagePos < topOfWindow+350) {
            $('.names').addClass("slideRight");
        }
    });
});
</script>

```

Answer: 
0 / 1
=====

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.

---

Counter
=======

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))))`

---

Formating
=========

Conditional formatting on range `A:Z` with the following formula: `=isOdd($C1)`

[![enter image description here](https://i.stack.imgur.com/ADxqU.png)](https://i.stack.imgur.com/ADxqU.png)
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