Think we could use ROW() or ROWS() functions
as the incrementer for copying down*,
then add-on the necessary arithmetic adjustments to suit
the interval to be skipped and the starting cell / cell referenced
*Likewise, for copying across purposes, we could
use COLUMN() or COLUMNS() as the incrementer
For example, this was the response to the OP
in .worksheet.functions (his multi-post there)
--
One way ..
To get:
=A2
=A4
=A6
in successive cells when copying down
Put in the starting cell, say B2:
=INDIRECT("A"&ROWS($A$1:A1)*2-2+2)
B2 will return the same as: =A2
Copy B2 down to return in successive cells
(B2, B3, etc):
=A4
=A6
etc
Similarly, applied to:
=RANK(C2,C:C)
=RANK(C4,C:C)
=RANK(C6,C:C) [corrected]
Put in the starting cell, say D2:
=RANK(INDIRECT("C"&ROWS($A$1:A1)*2-2+2),C:C)
D2 will return the same as: =RANK(C2,C:C)
Copying D2 down returns in successive cells:
(D2, D3, etc):
=RANK(C4,C:C)
=RANK(C6,C:C)
Adapt this part: ... ROWS($A$1:A1)*2-2
in the starting cell's formula to suit the interval
If you want to skip 3 cells instead of 2,
i.e. get =A2, =A5, =A8, etc
just change it to: ROWS($A$1:A1)*3-3
Change the last number: ... +2)
to : ... +1)
if you want to begin in the starting cell
with: =A1 instead of : =A2
(the "+2" is just an arithmetic adjustment)
--
--
Rgds
Max
xl 97
---
GMT+8, 1° 22' N 103° 45' E
xdemechanik <atyahoo<dotcom
----
"David Jessop" wrote in message
...
Hi,
I don't think you can do this directly (or I couldn't get it to work).
The
two ways to to do this are using either =OFFSET() or =INDIRECT(). Suppose
you put 2, 4, 6 in column D, then put the formulae
=OFFSET($A$1,D1-1,0)
=OFFSET($A$1,D2-1,0)
or
=INDIRECT("A"&D1)
=INDIRECT("A"&D2)
Then this will do what you want.
Regards,
David Jessop
P.S. Obviously in the first case it would be easier to put 1, 3, 5 .. in
the
D column, but for reasons of exposition the above is, I hope, more
obvious.
|