Vertical to Horizontal to get 3 out of 6

mrebholz72

New Member
Joined
Jan 13, 2005
Messages
4
First, I want to apologize for not even knowing what to call this. It has made searching help files rather difficult. Hopefully somebody can point me in the right direction.

I have a list of training that our staff are either enrolled in, taking, or completed (generated from our PeopleSoft System). Our 2nd level of training requires completion of 3 out of 6 courses.

I have a data file that each row is a record for an individual and a specific course. So, I have multiple rows for each person.

I want to get data in a horizontal format, so that I can have a single row for each employee, course 1 status, course 2 status, course 3 status, etc.... (I think that will be the best way to be able to get if they have completed 3 out of 6 from the course list.)

A sample data source should be below.

Thanks for any help to point me in the right direction.

{Using Windows XP - Excel 2003 SP1}

Mike Rebholz
Training Example Sheet.xls
ABCDEFG
1IDFirstNameLastNameCourseEnrollmentStartDateEndDate
2123456789JohnDoeLEV1ACOMPLETE8/12/19879/12/1989
3123456789JohnDoeLEV1BCOMPLETE8/12/19879/12/1987
4123456789JohnDoeLEV1CCOMPLETE8/12/19879/12/1987
5123456789JohnDoeLEV2ACOMPLETE9/1/199010/1/1990
6123456789JohnDoeLEV2BCURRENT1/1/2005
7123456789JohnDoeLEV2DCOMPLETE10/1/200411/1/2004
8123456789JohnDoeLEV3ACOMPLETE6/5/20017/5/2001
9123456789JohnDoeLEV3BENROLLED9/1/2005
10213456789JimSmithCOR1ACOMPLETE8/12/19879/12/1987
11213456789JimSmithCOR1BCOMPLETE8/12/19879/12/1987
12213456789JimSmithCOR1CCOMPLETE8/12/19879/12/1987
13312456789JaneWhiteCOR1ACOMPLETE2/1/19943/1/1994
14312456789JaneWhiteCOR1BCOMPLETE2/1/19943/1/1994
15312456789JaneWhiteCOR1CCOMPLETE2/1/19943/1/1994
Class Work
 

Excel Facts

Move date out one month or year
Use =EDATE(A2,1) for one month later. Use EDATE(A2,12) for one year later.
Depending on the questions/calculations you want to submit this data to, there is probably no need for re-formatting its layout.
 
Upvote 0
If you add a column headed Name and concatenate First and Last:

=B2&" "&C2

you could create a Pivot Table with Name and Enrollment as Row fields and Count of Enrollment as the Data field.
 
Upvote 0
Basically, I'm wanting to generate a list of what is complete and what is not complete. Since the Level 1 requires all courses, that is easy. But since Level 2 requires 3 out of the 6 courses to be complete, I'm not certain how to build criteria to do that.
 
Upvote 0
If I'm interpreting your question correctly, you want to normalize your data.

Try these steps:

1) Get a list of unique IDs (go to data --> filter --> advanced filter, select your range of IDs, and copy to a new place)
2) Do the same thing for courses.

Those steps explain A17:A20 and D17:H17 below.

Then, use the following formulas:
1) B18: =VLOOKUP($A18,$A$1:$G$15,MATCH(B$17,$A$1:$G$1,0),0)
2) C18 = B18 copied over
3) D18 =IF(ISERROR(INDEX($E$2:$E$15,MATCH($A18&"@"&D$17,$A$2:$A$15&"@"&$D$2:$D$15,0))),"N/A",INDEX($E$2:$E$15,MATCH($A18&"@"&D$17,$A$2:$A$15&"@"&$D$2:$D$15,0)))

D18 is an array formula, which must be confirmed with CTRL+SHIFT+ENTER

Copy D18 right for as many courses as you have.

Copy B18:H18 down through your IDs.
Book4
ABCDEFGH
1IDFirstNameLastNameCourseEnrollmentStartDateEndDate
2123456789JohnDoeLEV1ACOMPLETE3200132763
3123456789JohnDoeLEV1BCOMPLETE3200132032
4123456789JohnDoeLEV1CCOMPLETE3200132032
5123456789JohnDoeLEV2ACOMPLETE3311733147
6123456789JohnDoeLEV2BCURRENT38353
7123456789JohnDoeLEV2DCOMPLETE3826138292
8123456789JohnDoeLEV3ACOMPLETE3704737077
9123456789JohnDoeLEV3BENROLLED38596
10213456789JimSmithCOR1ACOMPLETE3200132032
11213456789JimSmithCOR1BCOMPLETE3200132032
12213456789JimSmithCOR1CCOMPLETE3200132032
13312456789JaneWhiteCOR1ACOMPLETE3436634394
14312456789JaneWhiteCOR1BCOMPLETE3436634394
15312456789JaneWhiteCOR1CCOMPLETE3436634394
16
17IDFirstNameLastNameLEV1ALEV1BLEV1CLEV2ALEV2B
18123456789JohnDoeCOMPLETECOMPLETECOMPLETECOMPLETECURRENT
19213456789JimSmithN/AN/AN/AN/AN/A
20312456789JaneWhiteN/AN/AN/AN/AN/A
Sheet1
 
Upvote 0
Oaktree,

Yes, that is what I'm looking for. I am headed into a meeting, so will try the formula you gave following later this afternoon.

Thank you.
 
Upvote 0
I would go for the simple method. Add an autofilter to your table (Data|Filter|Autofilter). Now, filter by whatever name you want to lookup, then by Enrollment=Complete
 
Upvote 0
Yankee:

It is true that autofilter is "simple", but also more manually intensive. If there are a large number of people on the list, autofiltering for each person could take hours.
 
Upvote 0
Oaktree's solution worked perfectly. This provided exactly what I was looking for.

Thanks for the opportunity to learn something new.

Mike
 
Upvote 0

Forum statistics

Threads
1,224,394
Messages
6,178,342
Members
452,841
Latest member
GenAkaman

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Back
Top