Use concatenated IF formulae. You will need to get your head around the syntax as it grows to huge proportions but here are some examples to get you started. Excel will prompt with the syntax in the later versions or you can look it up in the help for older versions.
Simple form of IF. This will return the content of cell A1if A1 equals 3 or "5" if it doesn't.
=IF(A1=3,A1,5)
Syntax is IF(Test, Value if True, Value if False)
You can substitue a cell reference for the number being tested. eg A1=B6
---------------
Contatenated it will can test a row of cells. This formula will find the first column with 3 as its content or zero if neither is equal to three.
=IF(A1=3,IF(B2=3,B2,0))
The True output from the first IF is another IF. Extend as required. If you are testing for an alphanumeric string put the test value inside quotes.
-----------
ISNUMBER will return TRUE or FALSE depending if A1 holds a number.
=ISNUMBER(A1)
---------------
This formula (concatenated as required) will choose the first number cell from a row of cells. Would work if your postcodes were numbers only. It returns zero is all fail.
=IF(ISNUMBER(A1),(A1),IF(ISNUMBER(B1),(B1),0))
----------------
To find a mixed postcode field you need to use Left, Right or Mid statements to parse the cells. These formulae extract the designated part of the string.
Extract the first three characters from cell A1.
=Left(A1,3)
------------
Extract the last two characters from A1
=Right(A1,2)
------------
Extract three characters of cell A1 starting with the second character.
=Mid(A1,2,3)
-------------
Also useful:
Return the number of characters in the cell.