IF、SKIPIF、NEXTIFフィールドを使うと条件を付けて差し込むことができます。 それぞれの特徴をご紹介します。
ラベル○レター○名簿○
●True/Falseで表示を分けられる
{ IF {MergeField 年齢} <= 3 "無料" "有料"}
ラベル×レター○名簿○
●現在のレコードを差し込むかどうか指定可能
{SKIPIF {MergeField ランク} <> "A" }{MergeField 氏名}
●現在のレコードを条件に次のレコードを差し込むかを指定
{NEXTIF {MergeField 会社名} <> "" } {MergeFields 会社名}
◆ 例:ランク「A」のみ「名前」を差し込む → ◎SKIPIFでランクがAではないなら飛ばす
{SKIPIF {MergeField ランク } <> "A" } {MergeField 氏名 } → Aではない(True)ならスキップして次検証、Aなら(False)スキップせず現在のレコードの氏名を挿入して終了 ▼結果 satosasaki ◎処理◎ yamadaはランクBなので(True)スキップして次レコード検証 satoはランクAなので(False)スキップせずレコード挿入して終了。 kataokaはランクCなので(True)スキップして次レコード検証 nakanoはランクBなので(True)スキップして次レコード検証 yoshidaはランクCなので(True)スキップして次レコード検証 sasakiはランクAなので(False)レコード挿入して終了。 ◎補足:IFやNEXTIFでやろうとすると次のようになってしまいます(NEXTIFでは正しい結果は出ない) IF … {IF {MergeField ランク} = "A" { MergeField 氏名 } } 結果(ex. 名簿)★ランクAなら氏名を挿入 … False(Aではない)場合に飛ばすわけでもなく、次へ進むわけでもないので空白が入る sato sasaki NEXTIF … {NEXTIF {MergeField ランク} <> "A" } {MergeField 氏名} 結果(ex. 名簿)★Aでないなら次へ、Aなら現在のレコードで終了(→ A以外は次レコードを差し込むので、Bが連続していたら差し込まれてしまうので×) satonakano × yoshida yamadaはAではないので次レコードへ進んで終了。氏名挿入→sato (現在2行目) Next → (現在3行目)kataokaはAではないので次レコードへ進んで終了。氏名挿入→ nakano(現在4行目) Next → (現在5行目)yoshidaはAではないので次レコードへ進んで終了。氏名挿入→ sasaki(現在6行目)
{SKIPIF {MergeField ランク } <> "A" } {MergeField 氏名 }
→ Aではない(True)ならスキップして次検証、Aなら(False)スキップせず現在のレコードの氏名を挿入して終了
▼結果
sasaki
◎処理◎
yamadaはランクBなので(True)スキップして次レコード検証 satoはランクAなので(False)スキップせずレコード挿入して終了。 kataokaはランクCなので(True)スキップして次レコード検証 nakanoはランクBなので(True)スキップして次レコード検証 yoshidaはランクCなので(True)スキップして次レコード検証 sasakiはランクAなので(False)レコード挿入して終了。
yamadaはランクBなので(True)スキップして次レコード検証
satoはランクAなので(False)スキップせずレコード挿入して終了。
kataokaはランクCなので(True)スキップして次レコード検証
nakanoはランクBなので(True)スキップして次レコード検証
yoshidaはランクCなので(True)スキップして次レコード検証
sasakiはランクAなので(False)レコード挿入して終了。
◎補足:IFやNEXTIFでやろうとすると次のようになってしまいます(NEXTIFでは正しい結果は出ない)
IF … {IF {MergeField ランク} = "A" { MergeField 氏名 } } 結果(ex. 名簿)★ランクAなら氏名を挿入 … False(Aではない)場合に飛ばすわけでもなく、次へ進むわけでもないので空白が入る sato sasaki NEXTIF … {NEXTIF {MergeField ランク} <> "A" } {MergeField 氏名} 結果(ex. 名簿)★Aでないなら次へ、Aなら現在のレコードで終了(→ A以外は次レコードを差し込むので、Bが連続していたら差し込まれてしまうので×) satonakano × yoshida yamadaはAではないので次レコードへ進んで終了。氏名挿入→sato (現在2行目) Next → (現在3行目)kataokaはAではないので次レコードへ進んで終了。氏名挿入→ nakano(現在4行目) Next → (現在5行目)yoshidaはAではないので次レコードへ進んで終了。氏名挿入→ sasaki(現在6行目)
IF … {IF {MergeField ランク} = "A" { MergeField 氏名 } }
結果(ex. 名簿)★ランクAなら氏名を挿入 … False(Aではない)場合に飛ばすわけでもなく、次へ進むわけでもないので空白が入る sato sasaki
結果(ex. 名簿)★ランクAなら氏名を挿入 … False(Aではない)場合に飛ばすわけでもなく、次へ進むわけでもないので空白が入る
sato
NEXTIF … {NEXTIF {MergeField ランク} <> "A" } {MergeField 氏名}
結果(ex. 名簿)★Aでないなら次へ、Aなら現在のレコードで終了(→ A以外は次レコードを差し込むので、Bが連続していたら差し込まれてしまうので×) satonakano × yoshida yamadaはAではないので次レコードへ進んで終了。氏名挿入→sato (現在2行目) Next → (現在3行目)kataokaはAではないので次レコードへ進んで終了。氏名挿入→ nakano(現在4行目) Next → (現在5行目)yoshidaはAではないので次レコードへ進んで終了。氏名挿入→ sasaki(現在6行目)
結果(ex. 名簿)★Aでないなら次へ、Aなら現在のレコードで終了(→ A以外は次レコードを差し込むので、Bが連続していたら差し込まれてしまうので×)
nakano ×
yoshida
yamadaはAではないので次レコードへ進んで終了。氏名挿入→sato (現在2行目)
Next → (現在3行目)kataokaはAではないので次レコードへ進んで終了。氏名挿入→ nakano(現在4行目)
Next → (現在5行目)yoshidaはAではないので次レコードへ進んで終了。氏名挿入→ sasaki(現在6行目)
◆ その他 適している例
◎80点以上の者のみ表示 {SKIPIF {MergeField 点数} <= 80 } {MergeField 氏名} ◎80点以上なら合格、80点未満なら不合格 {IF {MergeField 点数} >= 80 "合格" "不合格"} ※NEXTIFはここのような状況では使えます。
◎80点以上の者のみ表示 {SKIPIF {MergeField 点数} <= 80 } {MergeField 氏名}
◎80点以上なら合格、80点未満なら不合格 {IF {MergeField 点数} >= 80 "合格" "不合格"}
※NEXTIFはここのような状況では使えます。