For what you've described, then, you could use a nested field coded as:
{IF{={IF{MERGEFIELD Role}= "Rec*" 1 0}+{IF{MERGEFIELD Role}= "Rpt*" 1 0}+{IF{MERGEFIELD Role}= "Ord*" 1 0} \# 0}> 0 {MERGEFIELD Address} {MERGEFIELD AltAdd}}
or:
{IF{={IF«Role»= "Rec*" 1 0}+{IF«Role»= "Rpt*" 1 0»+{IF«Role»= "Ord*" 1 0} \# 0}> 0 «Address» «AltAdd»}
Note: The field brace pairs (i.e. '{ }') for the above examples are all created in the document itself, via Ctrl-F9 (Cmd-F9 on a Mac); you can't simply type them or copy & paste them from this message. Nor is it practical to add them via any of the standard Word dialogues. Likewise, the chevrons (i.e. '« »') are part of the actual mergefields - which you can insert from the 'Insert Merge Field' dropdown (i.e. you can't type or copy & paste them from this message, either). The spaces represented in the field constructions are all required.
In the
Mailmerge Tips and Tricks 'Sticky' thread at the top of this forum (
https://www.msofficeforums.com/mail-...ps-tricks.html) you'll find a macro under the heading
Convert Text Representations of Fields to Working Fields that will convert either of the above into a working field code.