- ベストアンサー
差込印刷で宛先ごとに商品名を分ける方法
- 差込印刷を利用して、宛先ごとに商品名を分ける方法について教えてください。
- エクセルの表から、WAORDの差込印刷を使用して宛先ごとに商品名を分けたいです。
- 説明がわかりづらくて申し訳ありませんが、どなたかご教授いただけませんか?
- みんなの回答 (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)
答えになっていなくてごめんなさい。 私も同じようなことをしようと思った事があります。 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・・・)を手動で消さないといけません。良い案があればいいのですが。