教えて!HELPDESK      Excel     Word      Outlook      Power Point      Windows

 

 

Word  ≫ 差し込み印刷

Word  ≫ フィールド全般

Word2010:差し込み印刷で重複データを除外する(SkipIf/Setフィールド)

 

 


 

 

重複データがある場合、1レコードのみ差し込むようにする」方法をご紹介します。

注:データファイル(Excelなど)側で重複データを削除したり、「差し込み文書」タブ−「アドレス帳の編集」でチェックを外すこともできます。(←これらの方が早い)


 

■ 方法1:重複データが2行ずつある場合(SkipIfフィールドで条件文を作成

条件:現在のレコード値がブックマークと同じならスキップ(次レコード検証)、ブックマークと異なるなら現在のレコード値を差し込む

 

{ SkipIf {MergeField 会社名} =  bookmark }   {MergeField 会社名}

{ SET bookmark {MergeField 会社名}}

→ ≪会社名≫がbookmarkと同じならスキップ。同じではないなら現在の≪会社名≫を差し込む
→ ≪会社名≫の値をbookmarkに格納

補足

  • 重複データ順に並べてから操作してください。(「アドレス帳の編集」から並べ替え)

  • 全て2レコードずつのデータのみに対応しています。 (1レコード目は挿入されず(ブックマークと1レコード目は同じと認識)、スキップするとブックマークには何も格納されないため、重複データが3レコード以上の場合 も対応できないため)

  • レター/名簿で利用できます。「レター」なら1レコード/1ページ(1メイン文書)です。(Nextは利用できません)1ページに連続して差し込みたい場合は、メイン文書の種類を「名簿」とします。

  • SkipIfフィールドについてはSkipIfフィールドの使い方で詳しくご紹介しています。

 

■ 方法2:IfとNextフィールドで条件文を作成(★レター のみ)

条件:現在のレコード値がブックマークと同じなら空白、ブックマークと異なるなら現在のレコード値を差し込む

 

{MergeField 会社名}

{ SET bookmark {MergeField 会社名}}

 

{Next} {If bookmark = {MergeField 会社名}  ""  {MergeField 会社名} }

{ SET bookmark {MergeField 会社名}}

 

{Next} {If bookmark = {MergeField 会社名}  ""  {MergeField 会社名} }

{ SET bookmark {MergeField 会社名}}

………を繰り返す。(多くの重複データで対応できますが、余分な空白が出力されるので一括削除しましょう)

 

補足

  • 方法1と同様{ If {MergeField 会社名} = bookmark  ""  {MergeField 会社名}}では1レコード目が挿入されないので、最初に1レコード目を差し込み、次レコードへは{Next}で送ります。

  • レターでのみ有効です。

 

 

 

 

教えて!HELPDESK      Excel     Word      Outlook      Power Point      Windows