Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.worksheet.functions
external usenet poster
 
Posts: 55
Default finding multiple parent-child relationships?

I have a list of a bunch of people (employees) (column A) and in another
column (B), their managers. Each employee has a single record, but a manager
name can show up multiple times. Not all employees are managers.

I need to identify which managers are "front line" managers, e.g. who do not
have any other managers reporting to them. I'd like to avoid going to VBA if
this is possible to do in a formula.

Basically, my logic needs to be: For every manager, check their direct
reports to see if they also show up in the manager column. If none do, then
flag this individual as a front line manager

The problem I'm having is figuring out how to get a formula to process
/every/ direct report. I'll need to use sumproduct or an array formula, but
I'm still getting stuck on the logic. Let's say I copy column A to column C,
just so I can do vlookups on either group.

=sumproduct ((A1:A1000=ThisManager)*(vlookup(B1:B1000,B1:C1000 ,2,False)....
but even here, I don't think the vlookup will necessarily be on the same row
as the first parts of my sumproduct?

Any ideas to get me started?

Thanks!
Keith


  #2   Report Post  
Posted to microsoft.public.excel.worksheet.functions
external usenet poster
 
Posts: 55
Default finding multiple parent-child relationships?

My best shot so far is the following, which doesn't work because (I think)
the last B:B is seen as a single cell (whichever row it is on) rather than
the full range for each comparison. Any ideas?

=SUMPRODUCT((B:B=A2)*(MATCH(A:A,B:B,FALSE)))

Thanks!

"Keith R" wrote in message
...
I have a list of a bunch of people (employees) (column A) and in another
column (B), their managers. Each employee has a single record, but a
manager name can show up multiple times. Not all employees are managers.

I need to identify which managers are "front line" managers, e.g. who do
not have any other managers reporting to them. I'd like to avoid going to
VBA if this is possible to do in a formula.

Basically, my logic needs to be: For every manager, check their direct
reports to see if they also show up in the manager column. If none do,
then flag this individual as a front line manager

The problem I'm having is figuring out how to get a formula to process
/every/ direct report. I'll need to use sumproduct or an array formula,
but I'm still getting stuck on the logic. Let's say I copy column A to
column C, just so I can do vlookups on either group.

=sumproduct
((A1:A1000=ThisManager)*(vlookup(B1:B1000,B1:C1000 ,2,False).... but even
here, I don't think the vlookup will necessarily be on the same row as the
first parts of my sumproduct?

Any ideas to get me started?

Thanks!
Keith



  #3   Report Post  
Posted to microsoft.public.excel.worksheet.functions
external usenet poster
 
Posts: 1,081
Default finding multiple parent-child relationships?

OK, you want to avoid VBA. Are you willing to use the MS Query tool?

To do this, you need to have a label for your employee column (maybe
something clever like "Employees") and a label for the manager column, say
"Managers" I'm going to use those labels in the example, and I named my
range MgtList

Name the entire range. Just to be safe, save your file.

Go to an empty sheet - same workbook or new - your choice.

Data-Import external data-new database query. You'll see a window for
choosing your data source. Select Excel Files and click OK. Now use the
File dialog to navigate to and double-click the saved file. You will then
see a window that will have the data's rangename listed. If you have other
names in the file, ignore them. Just select the data rangename and click on
the arrow to move all the columns to the right panel, then click on Next.
In the next 2 windows, click on Next again. In the final panel, choose to
View or Edit Query in MS Query and then click the Finish button

NOTE THAT THIS WILL ONLY FIND THOSE MANAGERS WHO HAVE only FRONT LINE
EMPLOYEES. IF A MANAGER HAS FRONT LINE EMPLOYEES AND A MANGER REPORTING TO
HIM/HER, THEY WON'T SHOW UP HERE.

In the window that comes up, select SQL from the View menu. You'll see a
window with a select statement. Delete what is there and paste this in
instead

SELECT distinct m1.Managers
FROM MgtList m1
inner join
(
select t1.employees , t1.managers
from MgtList t1
left join MgtList t2
on t1.employees = t2.managers
where t2.Managers is null
) m2
on m1.managers = m2.managers

Click on the OK button - you will see a warning that it can't be depicted
graphically. Ignore it and run the query.

When the query is done running, use the file menu and choose Return Data to
Excel


"Keith R" wrote:

I have a list of a bunch of people (employees) (column A) and in another
column (B), their managers. Each employee has a single record, but a manager
name can show up multiple times. Not all employees are managers.

I need to identify which managers are "front line" managers, e.g. who do not
have any other managers reporting to them. I'd like to avoid going to VBA if
this is possible to do in a formula.

Basically, my logic needs to be: For every manager, check their direct
reports to see if they also show up in the manager column. If none do, then
flag this individual as a front line manager

The problem I'm having is figuring out how to get a formula to process
/every/ direct report. I'll need to use sumproduct or an array formula, but
I'm still getting stuck on the logic. Let's say I copy column A to column C,
just so I can do vlookups on either group.

=sumproduct ((A1:A1000=ThisManager)*(vlookup(B1:B1000,B1:C1000 ,2,False)....
but even here, I don't think the vlookup will necessarily be on the same row
as the first parts of my sumproduct?

Any ideas to get me started?

Thanks!
Keith



  #4   Report Post  
Posted to microsoft.public.excel.worksheet.functions
external usenet poster
 
Posts: 55
Default finding multiple parent-child relationships?

Thanks Duke- I'll give that a try!
Best,
Keith

"Duke Carey" wrote in message
...
OK, you want to avoid VBA. Are you willing to use the MS Query tool?

To do this, you need to have a label for your employee column (maybe
something clever like "Employees") and a label for the manager column, say
"Managers" I'm going to use those labels in the example, and I named my
range MgtList

Name the entire range. Just to be safe, save your file.

Go to an empty sheet - same workbook or new - your choice.

Data-Import external data-new database query. You'll see a window for
choosing your data source. Select Excel Files and click OK. Now use the
File dialog to navigate to and double-click the saved file. You will then
see a window that will have the data's rangename listed. If you have
other
names in the file, ignore them. Just select the data rangename and click
on
the arrow to move all the columns to the right panel, then click on
Next.
In the next 2 windows, click on Next again. In the final panel, choose to
View or Edit Query in MS Query and then click the Finish button

NOTE THAT THIS WILL ONLY FIND THOSE MANAGERS WHO HAVE only FRONT LINE
EMPLOYEES. IF A MANAGER HAS FRONT LINE EMPLOYEES AND A MANGER REPORTING
TO
HIM/HER, THEY WON'T SHOW UP HERE.

In the window that comes up, select SQL from the View menu. You'll see a
window with a select statement. Delete what is there and paste this in
instead

SELECT distinct m1.Managers
FROM MgtList m1
inner join
(
select t1.employees , t1.managers
from MgtList t1
left join MgtList t2
on t1.employees = t2.managers
where t2.Managers is null
) m2
on m1.managers = m2.managers

Click on the OK button - you will see a warning that it can't be depicted
graphically. Ignore it and run the query.

When the query is done running, use the file menu and choose Return Data
to
Excel


"Keith R" wrote:

I have a list of a bunch of people (employees) (column A) and in another
column (B), their managers. Each employee has a single record, but a
manager
name can show up multiple times. Not all employees are managers.

I need to identify which managers are "front line" managers, e.g. who do
not
have any other managers reporting to them. I'd like to avoid going to VBA
if
this is possible to do in a formula.

Basically, my logic needs to be: For every manager, check their direct
reports to see if they also show up in the manager column. If none do,
then
flag this individual as a front line manager

The problem I'm having is figuring out how to get a formula to process
/every/ direct report. I'll need to use sumproduct or an array formula,
but
I'm still getting stuck on the logic. Let's say I copy column A to column
C,
just so I can do vlookups on either group.

=sumproduct
((A1:A1000=ThisManager)*(vlookup(B1:B1000,B1:C1000 ,2,False)....
but even here, I don't think the vlookup will necessarily be on the same
row
as the first parts of my sumproduct?

Any ideas to get me started?

Thanks!
Keith





  #5   Report Post  
Posted to microsoft.public.excel.worksheet.functions
external usenet poster
 
Posts: 150
Default finding multiple parent-child relationships?

Not quite sure whether you want to count or flag 'front line' managers.
So, assuming that...

1) you want to count

2) A2:A10 contains the employee name

3) B2:B10 contains the corresponding manager

4) D2 contains the manager of interest

Try the following formula, which needs to be confirmed with
CONTROL+SHIFT+ENTER, not just ENTER...

=SUM(IF(ISNUMBER(MATCH(IF($B$2:$B$10=D2,$A$2:$A$10 ),$B$2:$B$10,0)),1))

Hope this helps!

In article ,
"Keith R" wrote:

I have a list of a bunch of people (employees) (column A) and in another
column (B), their managers. Each employee has a single record, but a manager
name can show up multiple times. Not all employees are managers.

I need to identify which managers are "front line" managers, e.g. who do not
have any other managers reporting to them. I'd like to avoid going to VBA if
this is possible to do in a formula.

Basically, my logic needs to be: For every manager, check their direct
reports to see if they also show up in the manager column. If none do, then
flag this individual as a front line manager

The problem I'm having is figuring out how to get a formula to process
/every/ direct report. I'll need to use sumproduct or an array formula, but
I'm still getting stuck on the logic. Let's say I copy column A to column C,
just so I can do vlookups on either group.

=sumproduct ((A1:A1000=ThisManager)*(vlookup(B1:B1000,B1:C1000 ,2,False)....
but even here, I don't think the vlookup will necessarily be on the same row
as the first parts of my sumproduct?

Any ideas to get me started?

Thanks!
Keith

Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
how to display multiple children of a parent in excel LATCHALI Excel Discussion (Misc queries) 1 February 22nd 07 03:54 PM
Retrieving info from "child" to a "parent" document create button to unhide rows Excel Discussion (Misc queries) 0 January 21st 07 11:40 PM
Windows browser Parent/Child structure ERK New Users to Excel 2 December 3rd 06 01:44 AM
Excel: How to import multiple XML "Repeating child elements" same. l8vj Excel Worksheet Functions 0 May 13th 06 12:52 AM
Sorting Parent Child kcmtnbiker Excel Worksheet Functions 2 March 31st 06 01:54 AM


All times are GMT +1. The time now is 08:28 PM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright ©2004-2024 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"