Working everyday gives you always a number of problems that you have to face it, and it was my case when I needed to make a list on excel to select a value that modifies a next list depending on the value selected.
The way I solved this inconvenient will be shown here with a simple example: there's a list of 3 countries and depending on the selected one, the next cell must show a list of some cities to be selected. Despite the example is performed in Excel 2010, I think that you can apply it even on Excel 2003.
Before beginning it's necessary to create a sheet which will contain our data base with the countries and the city-country relationship, then, we have to group the cities of a determined country in a named range. To do this, you only select the cities for Australia, for instance, and go to the cell that is on the left of the function bar and type there the name of the country and press Enter, thus, for every country.
Having the respective named ranges, go to the tab where the lists will be, select the cell which will show the country list and select "Data" ribbon (in the image I use a Spanish version of Excel), "Data Validation..." option .
Here, you have to select in the "Configuration" tab the "List" value under the "Allow:" section. Besides, you must put under "Source:" the range of the countries to be shown and press "OK".
That is how you build your first list, which is the easiest part.
It's time to set the second list and it's going to be different depending on the country selected in the previous cell. The procedure to be followed is the same, but in the "Source:" section you only have to use the INDIRECT function referring to the cell which contains the country selected.
This is how the second list will dynamically change together with the selected country, because when a country is selected, the second cell takes its name and using the function brings all the cities that are in the named range that had been established at the beginning.