Q:

Vlookup/index on 2 sheets and multiple values

Sheet 1: 
Column A: email
Column B: name
Column C: action
Sheet 2
Column B: name
*there are dulpicate names in sheet 1, so each name could have different action and email.
**there are some names in sheet 2 that are not in sheet 1
***there are over 1000 rows.
How do i return the values in sheet2 such that i have the emails, common names and action tgt. Horinzontally. 

A:

First, you need an additional column in Sheet1 which counts the occurrences of of each name. Second, in Sheet2, you need to match a name and its occurrence  within Sheet1.
The picture below, shows (on a single sheet) an arrangement that you might want to adapt.

In my example I have allowed up to 5 email/action pairs per name, though the solution can obviously be adapted to the requirement of your data.
The solution uses a COUNTIF() function in the "input" table to generate the occurrence number of each name. 
In the "output" table, the 5 helper columns identify the row number of the input table matching to the 1st, 2nd,... occurrences of the name, with a zero indicating no match. The SUMPRODUCT() function generates this row number. The remaining columns simply pick out the appropriate email/action from the input table.
The helper columns can be avoided in the "output", but this would be at the expense of replacing the single cell references such as G2 in =IF(G2>0,INDEX($B$2:$B$9,G2),"") with the corresponding SUMPRODUCT() expression. The IF() is necessary because the INDEX() function has a peculiar behaviour when its second argument equates to zero.
Getting the correct formula for the first row of Email/Action pairs in the output table (range L2:U2) in my picture is a bit tedious and there are ways around this (based on using the COLUMN() function to calculate the appropriate helper column number). However, the solution is intended to be something to be built on so I have kept it simple.  
The solution assumes that each email/action pair in the input will be kept distinct in the output. So if a name in the input has two (or more) email/action pairs which have a common email, the solution does not combine the two actions against that common email. It is possible to do this but it will require additional information to be added to the "input" table - namely the occurrence of actions associated with a specific name/email combination.   

