### Formula in B14:

=INDEX(Product, SUMPRODUCT(--(C10=ID_num), --(C11=OrderDate), ROW(Product)-MIN(ROW(Product))+1)) + ENTER

### Alternative array formula in B15:

=INDEX(Product, MATCH(C10&"-"&C11, ID_num&"-"&OrderDate, 0)) + CTRL + SHIFT + ENTER

### Alternative array formula in B16:

=INDEX(Product, MIN(IF((C10=ID_num)*(C11=OrderDate), ROW(Product)-MIN(ROW(Product))+1))) + CTRL + SHIFT + ENTER

### Named ranges

ID_num (B3:B6)
OrderDate (C3:C6)
Product (D3:D6)
What is named ranges?

Lookup two index columns.xls
(Excel 97-2003 Workbook *.xls)

MATCH(lookup_value;lookup_array; [match_type] Returns the relative position of an item in an array that matches a specified value

INDEX(array,row_num,[column_num])
Returns a value or reference of the cell at the intersection of a particular row and column, in a given range

MIN(number1,[number2])
Returns the smallest number in a set of values. Ignores logical values and text

ROW(reference) returns the rownumber of a reference

IF(logical_test;[value_if:true];[value_if_false])
Checks whether a condition is met, and returns one value if TRUE, and another value if FALSE

SUMPRODUCT(array1;array2;)
Returns the sum of the products of the corresponding ranges or arrays