Here is my problem:

I'm creating a spreadsheet that takes a report of student transcripts and populates the data into a formatted workbook, with each student having their own sheet. I have all the info in columns, but now I need to "parse"(?) the "student name" column and isolate the grades for each student. I have it working by manually setting a range of values for the first student, but I want to make it more dynamic. If the entire "grade" column is used, there will be redundant values and it mixes up who's grades match to who.

Is there a way to run through the entire "Student Name" column and put every Name A into array[0], Name B into array[1], Name C into array[2], etc.? That way when I want to pull Student A's grades, I only need to match the course number to the grade for THAT student, then move on to the next student (array index). This sounds like an array of arrays...is that possible? Here is the problem in a nutshell:

name - course# - grade
bill - CD101 - A
bill - CD121 - B
bill - GR240 - C+
john - CD101 - B
john - CD121 - D
John - GR240 - W

I have my formulas working to look up CD101 and find the corresponding grade if I manually set the range to only look at the first student, but I need to separate each match by student name without manually setting hundreds of ranges.

any thoughts? I'm a noob to this excel programming so even a keyword I could look up would be hugely appreciated.