• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:差込印刷について)

差込印刷で宛先ごとに商品名を分ける方法

このQ&Aのポイント
  • 差込印刷を利用して、宛先ごとに商品名を分ける方法について教えてください。
  • エクセルの表から、WAORDの差込印刷を使用して宛先ごとに商品名を分けたいです。
  • 説明がわかりづらくて申し訳ありませんが、どなたかご教授いただけませんか?

質問者が選んだベストアンサー

  • ベストアンサー
  • tokpy
  • ベストアンサー率47% (1313/2783)
回答No.2

#1です。あれから考えまして上手い方法が見つかりました。 Excel側のデータを次のように作ります。C行は,エクセルのセルの右下の黒い四角(フィルハンドル)をドラッグして,最初の式をコピーして作ります。 C列には,次の行が同じ宛先の場合は次の行の商品名,そうでなければFALSEが入ります。    A列  B列   C列 1行| 宛先 |商品名1|商品名2 2行| A | a  |=IF(A2=A3,B3) 3行| A | b  |=IF(A3=A4,B4) 4行| A | c  |=IF(A4=A5,B5) 5行| B | a  |=IF(A5=A6,B6) 6行| B | b  |=IF(A6=A7,B7) 7行| C | a  |=IF(A7=A8,B8) 8行| C | b  |=IF(A8=A9,B9) Word側のデータです。 1つ目の商品名は普通にいれます。 2つ目の商品名以降は,EXCELのC列に2つ目の商品名が入っていればそれを表示してレコードを1つすすめ,C列にFALSEが入っていれば何もしません。商品を表示するためにIF~THEN~ELSEのフィールドコードと,レコードを次にすすめるためにNEXT IFのフィールドコードを使っています。 宛先  {MERGEFIELD 宛先} 商品名  {MERGEFIELD 商品名1}  {IF {MERGEFIELD 商品名2}<>"FALSE" "{MERGEFIELD 商品名2}" ""}{NEXT IF{MERGEFIELD商品名2}<>"FALSE"}  ※1  {IF {MERGEFIELD 商品名2}<>"FALSE" "{MERGEFIELD 商品名2}" ""}{NEXT IF{MERGEFIELD商品名2}<>"FALSE"}  :  : ※1の行を同時発送する商品の数を見越してコピーしておく これで上手く処理できそうです。 こういうことをしたい場合は普通ACCESSを使うみたいですが,ACCESSは持っていない人が多いのでEXCELとWORDでやる意味はあると思います。(あーしんどかった。私も今度からは手抜きできそうです。)

その他の回答 (1)

  • tokpy
  • ベストアンサー率47% (1313/2783)
回答No.1

答えになっていなくてごめんなさい。 私も同じようなことをしようと思った事があります。 Word側で,Next Record IfとかIf・・・Thenフィールドコードを組み合わせて作ろうと思いました。 Wordの差込印刷機能は,表示されていなくても最後にNext Recordが実行されてしまう仕様のようです(←これが曲者)。また,Wordのフィールドコードには,Next Recordはありますが,レコード番号を戻すフィールドコードがありません。そのために完全オートマチックというのは難しいようです。 3列目に(例はc2に入れる式)  =if(A3=A2,1,0) というような列を作ります。これは,次の行と比較して同じグループだったら1,そうでなかったら0を返す式です。(仮に列の名前は「次」にします。) 4列目に(例はD3に入れる式)  =C2 という列を作ります。これは前の行と等しい場合に1になります。(仮に列の名前は「前」にします。) つまり      次         前 2行目 =if(A3=A2,1,0)  0 3行目 =if(A4=A3,1,0)  =C2 4行目 =if(A5=A4,1,0)  =C3  :  : というような感じにします。 Word側の設定です。 宛先  <Mergefield 宛先> 商品名  <商品名>  <Next Record If <Mergefield 次>=1><If <Mergefield 前>=1 Then <Mergefield 商品名>>   <Next Record If <Mergefield 次>=1><If <Mergefield 前>=1 Then <Mergefield 商品名>>   <Next Record If <Mergefield 次>=1><If <Mergefield 前>=1 Then <Mergefield 商品名>>   <Next Record If <Mergefield 次>=1><If <Mergefield 前>=1 Then <Mergefield 商品名>>   <Next Record If <Mergefield 次>=1><If <Mergefield 前>=1 Then <Mergefield 商品名>> この方法の欠点は,商品が一つだけなら良いのですが,abcの商品があると,abcc・・・となってしまうことです。後で不要な部分(c・・・)を手動で消さないといけません。良い案があればいいのですが。

関連するQ&A