Delete text precending an empty/zeroed merge field?

C

cpeiner

I hav created a number of documents which include up to 3 profit ranges,
such as this:

From «Start_Range_1» to «End_Range_1» = «Percentage_1»
From «Start_Range_2» to «End_Range_2» = «Percentage_2»
From «Start_Range_3» to «End_Range_3» = «Percentage_3»

In many cases only one or two ranges are used, leaving the other
ranges/percentages empty, which generates the following result:

From £2,000,000 to £3,000,000 = 1.00%
From £3,000,000 to £6,000,000 = 0.50%
From £ 0 to £ 0 0.00% = 0.00%

Is there a way to make Word delete the preceding text when the next field is
emply? I'm fairly new to MailMerge, so I don't know much about IF functions
outside of Excel.

Any help is greatly appreciated. Cheers!
 
P

Peter Jamieson

In this case you may be able to use something like

{ IF { ={ MERGEFIELD Start_Range_2 \#0 }+{ MERGEFIELD End_Range_2 \#0 } } =
0
""
"
From { MERGEFIELD Start_Range_2 } to { MERGEFIELD End_Range_2 } = {
MERGEFIELD Percentage_3 }" }

where all the {} are the special field code braces you can enter using
ctrl-F9. However, you may need to vary this depending on what the actual
condition needs to be if the values are not present, etc. If you can't make
head or tail of that, it would probably help if you could post the exact
fields you have at present.
 
C

cpeiner

Peter,

thanks for the advice. I went back and rearranged the lay-out to a table, so
now the "From | To | Percentage | Total" is on top and I don't have to worry
about it anymore. So now all I need is to tell Word that if it receives a 0,
the field should stay empty.

The total field code in the four cells is this:

Cell 1: {Mergefield "Start_Range_3" \# ###,0}
Cell 2: {Mergefield "End_Range_3" \# ###,0}
Cell3: {={Mergefield Percentage_3}*100 \# "0.00%"}
Cell4: {Mergefield "Possible_Bonus_Amount_Range_3" \# £###,0}

Of course I have the same fields for Ranges 1 and 2.

Looking at your function, I was thinking to use somthing along the lines of:
{ IF { ={ MERGEFIELD Start_Range_2 \#0} } = 0 "" (and this is where I don't
know any further:) ELSE { MERGEFIELD Start_Range_2 \#0 }.

I would then just repeat this process in all merge-cells. So how can I write
it so that word understands IF MERGE_CELL=0, DISPLAY "", DISPLAY "MERGEFIELD
Start_Range_2"?

Many thanks!
 
P

Peter Jamieson

If you are just displaying numbers or blanks, you should be able to use the
numeric field switches (this stuff's in the Word Help file, or used to be)
to do this:

{ MERGEFIELD fieldname \#"p;n;z" }

where p is the format you want for positive values, n is the format for
negative values and z is the format for 0.

e.g.

{ MERGEFIELD fieldname \#"£,0.00;(£,0.00);" }
 
C

cpeiner

Peter,

this is exactly what I was looking for. The Word helpfile was the first
place I looked but either I was unable to search for the correct words or the
Help function was being elusive. Eithe way, thanks for this!

Cheers!
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top