Sharepoint has a feature that allows us to migrate list data structure and content to a different site so that we do not have to re-create them. This is done through list settings -> save list as template. List template is a powerful function which can save the data structure of a list as well as its content.
There is however a glitch in doing this, which is if you have a lookup field in your list, and you are trying to re-create this list in a different site, the lookup field might crash because it cannot find the matching lookup list (yes, even if you have created it in your new site). This is because every list has its own GUID identifier which can be different everytime you create a list.
To solve this problem, what we can do is rename the list template file (.stp) to .cab, extract the manifest file out and open up in Visual Studio. Try locate all Lookup fields, find their relevant list’s GUID, replace with the GUID of your new list. You can obtain their GUID by going to List Settings page and grab the GUID from the URL. Remember to decode themas they come encoded.