This formula uses the MATCH function to get the row position of Toy Story in the table, and the INDEX function to retrieve the value at that row in column 2. MATCH is configured to look for the value in H4 in column B:
Note that the last argument is FALSE, which forces MATCH to perform an exact match.
MATCH finds "Toy Story" on row 4 and returns this number to INDEX as the row number. INDEX is configured with an array that includes all the data in the table, and the column number is hard-coded as 2. Once MATCH returns 4 we have:
INDEX then retrieves the value at the intersection of the 4th row and 2nd column in the array, which is "1995".
The other formulas in the example are the same except for the column number:
=INDEX(B5:E9,MATCH(H4,B5:B9,FALSE),2) // year =INDEX(B5:E9,MATCH(H4,B5:B9,FALSE),3) // rank =INDEX(B5:E9,MATCH(H4,B5:B9,FALSE),4) // sales
INDEX with a single column
In the example above, INDEX receives an array that contains all data in the table. However, you can easily rewrite the formulas to work with one column only, which eliminates the need to supply a column number:
=INDEX(C5:C9,MATCH(H4,B5:B9,FALSE)) // year =INDEX(D5:D9,MATCH(H4,B5:B9,FALSE)) // rank =INDEX(E5:E9,MATCH(H4,B5:B9,FALSE)) // sales
In each case, INDEX receives an single-column array that corresponds to the data being retrieved, and MATCH supplies the row number.