I can give you some tips..although you can do this with a direct join (sometimes), i would highly recommend that you :
1. Import the excel sheet/table into a database (MS Access would work)
2. While importing, make sure that the field you are joining on are the same data type ie (Text, Integer, double etc) that is in the shape file. If you are joining in Zipcode and the shape file dbf has it as a "Long Integer" make sure that the imported excel table in step one is a Long Integer as well. The datatype for the join field must be the same.
3. From Arcmap - add the datatable you made in step 1 and perform your join.