# Offset function

E

#### Eva

I have the data in sheet 1 as follows
col A - blank or "new"
col B - name
col c - number

I need to create in sheet2 report that takes only "new" data from column A
col B - name
col c - number

I thought about the offset function - any ideas?

J

#### Jacob Skaria

In sheet2 A1 try the below formula...Copy/drag the formula to cells to the
right ColB/C and then copy the formula down as required. Please note that
this is an array formula. An array formula can perform multiple calculations
and then return either a single result or multiple results.You create array
formulas in the same way that you create other formulas, except you press
CTRL+SHIFT+ENTER to enter the formula. If successful in 'Formula Bar' you can
notice the curly braces at both ends like "{=<formula>}"

=IF(ROW(A1)<=COUNTIF(Sheet1!\$A:\$A,"?*"),INDEX(Sheet1!A:A,SMALL(IF(Sheet1!\$A\$1:\$A\$100<>"",ROW(\$A\$1:\$A\$100)),ROW(A1))),"")

If this post helps click Yes

E

#### Eva

it is so brilliant!
Thank you very much

M

#### Ms-Exl-Learner

Try this...

Using Indirect
=INDIRECT("Sheet1!A1")
=INDIRECT("Sheet1!B1")
=INDIRECT("Sheet1!C1")

Using Offset
=OFFSET(Sheet1!A1,0,0)
=OFFSET(Sheet1!A1,0,1)
=OFFSET(Sheet1!A1,0,2)

If this post helps, Click Yes!

T

#### T. Valko

Try this...

Assume the data on Sheet1 is in the range A2:C20

Enter this array formula** on Sheet2 in cell A2:

=IF(ROWS(A\$2:A2)>COUNTIF(Sheet1!\$A:\$A,"new"),"",INDEX(Sheet1!B:B,SMALL(IF(Sheet1!\$A\$2:\$A\$20="new",ROW(Sheet1!A\$2:A\$20)),ROWS(A\$2:A2))))

** array formulas need to be entered using the key combination of
CTRL,SHIFT,ENTER (not just ENTER). Hold down both the CTRL key and the SHIFT
key then hit ENTER.

Copy across to B2 then down until you get blanks meaning all relative data
has been extracted.

E

#### Eva

One more question. Everything work very well, but I was trying to get rid of
the headings - so I would like to start my formula in sheet2 from A2 Sheet1.
I was trying to change the formula myself but it didn't work. Can you have a
look at this once again? Thank you very much

E

#### Eva

Hi Ms-Exl-Learner - this doesnt' work, but the formula made by Jacob works
perfectly, so thank you for your time

A

#### Ashish Mathur

Hi,

Try this

1. Say your data is in range B5 10 (Sheet1)
2. In B4 4, type headings - Status, Name and Number
3. In B12, type Status
4. In B13, type New
5. In Sheet2, type Name and number in B4:C4
6. Click on cell B6 of sheet2
7. Go to Data > Filter > Advanced Filter
8. In Action, select "Copy to another location"
9. In the list box, select B4 10 of sheet1;
10. In criteria, select b12:B13 of sheet1
11. In the copy to box, select B4:C4 of sheet2
12. Click on Finish

Hope this helps

--
Regards,

Ashish Mathur
Microsoft Excel MVP
www.ashishmathur.com

J

#### Jacob Skaria

To get only the entries with "new" try the below.. in sheet2 A2 and copy
across/down as required

=IF(ROW(A1)<=COUNTIF(Sheet1!\$A:\$A,"new"),INDEX(Sheet1!A:A,SMALL(IF(Sheet1!\$A\$1:\$A\$100="new",ROW(\$A\$1:\$A\$100)),ROW(A1))),"")

If this post helps click Yes

E

#### Eva

Thank you Ashish, but I prefer the formula. I know about this option E

#### Eva

Hi Jacob
I tried already to change the formula with "new", but it doesn't work, but
it realy is not a big problem, so I will leave it as it is.

E

#### Eva

Thanks, it is great!
--
Greatly appreciated
Eva

T. Valko said:
Try this...

Assume the data on Sheet1 is in the range A2:C20

Enter this array formula** on Sheet2 in cell A2:

=IF(ROWS(A\$2:A2)>COUNTIF(Sheet1!\$A:\$A,"new"),"",INDEX(Sheet1!B:B,SMALL(IF(Sheet1!\$A\$2:\$A\$20="new",ROW(Sheet1!A\$2:A\$20)),ROWS(A\$2:A2))))

** array formulas need to be entered using the key combination of
CTRL,SHIFT,ENTER (not just ENTER). Hold down both the CTRL key and the SHIFT
key then hit ENTER.

Copy across to B2 then down until you get blanks meaning all relative data
has been extracted.

--
Biff
Microsoft Excel MVP

.