Okay, so to get a good set of rules, let's rearrange your conditions:
1) If the ZIP does not match certain conditions, then don't offer shipping at all.
2) Otherwise, the shipping is calculated from the MaxPackaging (rounded up to the next integer)
You can use the fact that once a rule matches, all further rules are ignored. So, if you check for some ZIP conditions in the first rule, then in the second rule you know that these conditions do not match, so you don't have to check those conditions in the second rule any more.
Here's what I would use for the rules:
Name=Exclude some ZIP areas; ZIP!=1600 AND ZIP!=1900 AND ...; NoShipping
Name=18€ per MaxShipping unit; Shipping=18*max(ceil(MaxShipping),1)
Note that the first rule excludes all disallowed ZIP codes, so all other rules will only be checked if the ZIP code is one of the allowed values.
The second rule calculates the shipping costs for the allowed ZIP values as 18€ per MaxShipping unit (rounded up to the next full integer, but at least 1).
If you want different rates (18, 22, 28€) for different allowed ZIP areas, then you can add those ZIP conditions to the second rule (and copy and adjust it for the 22 and 28€ areas).
Best regards,
Reinhold