View Single Post
  #4   Report Post  
Posted to microsoft.public.excel.worksheet.functions
thomaspb thomaspb is offline
external usenet poster
 
Posts: 3
Default Moving data based on specific field

WOW!! Worked Great! Just what I was looking for.

THANKS!

"Max" wrote:

How about something even better, which will also pack it up neatly at the top
in the individual ("child") sheets?

Here's an easy non-array formulas driven model which automates the copying
of lines from a "Parent" data sheet to each "Child" sheet by key col values ..

Illustrated in this sample:
http://freefilehosting.net/download/409k1
Parent to Child AutoCopy via Key Col Values.xls

Construct:
In sheet: WS1 (the "master" / parent sheet)

Assume data in cols A to E, data in row2 down,
with the key col = col B (as per your spec)

List the key col values (col B's unique values) in K1 across,
in **text** format (Just preformat K1 across as TEXT):
10,11,12, etc (the text numbers can be in any order)

Put in K2: =IF($B2="","",IF($B2=K$1+0,ROW(),""))
Copy K2 across & fill down to cover
the max expected extent of source data in the key col B

Click Insert Name Define
Put under "Names in workbook:": WSN
Put in the "Refers to:" box:
=MID(CELL("Filename",INDIRECT("A1")),FIND("]",CELL("Filename",INDIRECT("A1")
))+1,32)
Click OK

The above defines WSN as a name we can use to refer to the sheetname in
formulas. It will auto-extract the sheetname implicitly. Technique came from
a post by Harlan.

Then, in a new sheet named: 10 (one of the key col values)
Paste the same col headers into A1:E1 (these are just labels)

Put in A2:
=IF(ROWS($1:1)COUNT(OFFSET(WS1!$J:$J,,MATCH(WSN,W S1!$K$1:$IV$1,0))),"",INDEX(WS1!A:A,MATCH(SMALL(OF FSET(WS1!$J:$J,,MATCH(WSN,WS1!$K$1:$IV$1,0)),ROWS( $1:1)),OFFSET(WS1!$J:$J,,MATCH(WSN,WS1!$K$1:$IV$1, 0)),0)))
Copy A2 across to E2, fill down to say, E10
(copy down by the smallest possible range sufficient
to cover the max expected extent for any key col value.
Here, I've assumed that 9 rows (rows 2 to 10) is sufficient)

Cols A to E will return only the lines for the key col value: 10 from "WS1",
with all lines neatly packed at the top. Dress this sheet up nicely to taste,
then just make copies of it, rename as the other key col values: 11, 12, 13,
etc to get corresponding returns for all "Child" sheets. Adapt to suit ..
--
Max
Singapore
http://savefile.com/projects/236895
Downloads:18,300 Files:361 Subscribers:58
xdemechanik
---