From VLOOKUP doctumentation
The V in VLOOKUP stands for vertical.
Use VLOOKUP instead of HLOOKUP when
your comparison values are located in
a column to the left of the data that
you want to find.
Table_array Two or more columns of
data. Use a reference to a range or a
range name. The values in the first
column of table_array are the values
searched by lookup_value. These values
can be text, numbers, or logical
values. Uppercase and lowercase text
are equivalent.
From your formula, and the fact the the data in the sheet is ID, Value, this will try to match dog to an ID ( integer ) value, which should return no results.
Also, the sort order of the lookup values are important
The values in the first column of
table_array must be placed in
ascending sort order; otherwise,
VLOOKUP may not give the correct
value.
If RangeLookUp is set to FALSE
If FALSE, VLOOKUP will only find an
exact match. In this case, the values
in the first column of table_array do
not need to be sorted.