|No, you're missing a little bit...|
We need to look at the formula from the inside out since we are using MATCH to supply an argument for INDEX.
The look_value is whatever is Sheet1!B1
The lookup_array is Sheet2!$B$1:$B$8
The match_type is 0 meaning we want an exact match.
So, we are asking Excel to find an exact match for Sheet1!B1 in Sheet2!B1:B8. If it finds it, it will return the position within the lookup_array. (In this case, the position will be the same as the Excel Row, but that's only because we started the lookup_array in Row 1, so position 1 is the same as Row 1)
OK, so let's say the MATCH function returns 2. That means it found a match for Sheet1!B1 in the 2nd position of Sheet2!B1:B8.
Now we'll look at the INDEX function:
INDEX will return a value from an array, based on the row_num and the column_num arguments supplied.
The array we used is Sheet2!A1:A8.
The row_num is the value returned by the MATCH function (2) and the column_num is the 1 at the end of the formula. Since there is only 1 column in A1:A8, we should get the value in A2. Again, the row_num used in the INDEX function is a position within the array, not an Excel Row number.
Does that help?