プロが教えるわが家の防犯対策術!

次のようなExcelの表から1組1ページの番号順名簿を作りたいのです。実際はそれぞれの右側に住所などのデータがあります。そのページの頭に担任(番号0の人)の名前をおいて、以下に生徒を置きます。組が変わったら改ページします。Wordの差し込みで試してみてますが、よくわかりません。元データは約500件あります。元データをソートして組の境目で改ページして、頭に担任の名前を置いて、という個別処理を避けたいのです。ExcelとWordは2013です。Wordの差し込み印刷でのラベル印刷や、1ページに1レコードの各種データを埋め込む差し込み印刷はできるつもりです。Excelの関数はそこそこ理解してます。ただ、VBA とか VBE とかは殆どやったことはございません。Excelや123が登場する以前にBasicで成績処理を組んだことはございます。よろしくご教示ください。(各組5人ずつ5組分のデータで多くて済みません。)
箱番号   氏名     担任  組  番号
A1-1   新屋 順蔵   後藤  5  2
A1-2   田中 義一   四元  4  3
A1-3   田所 定利   三留  3  4
A1-4   田原 義継   二川  2  5
A1-5   市崎一郎   市﨑  1  0
A1-5   花田 忠義   市﨑  1  1
A1-6   追阪 和子   後藤  5  3
A1-7   海田 市子   四元  4  4
A1-8   町村 妙子   三留  3  5
A1-9   二川二郎   二川  2  0
A1-9   中村 寿一   二川  2  1
A1-10  平重 勲男   市﨑  1  2
A1-11  若松 幸一   後藤  5  4
A1-12  川畑 道夫   四元  4  5
A1-13  三留三郎   三留  3  0
A1-13  西原 富男   三留  3  1
A1-14  今守 重春   二川  2  2
A1-15  椎葉 貴史   市﨑  1  3
A1-16  坂下 ナミ   後藤  5  5
A1-17  四元史郎   四元  4  0
A1-17  山元 エミ   四元  4  1
A1-18  皆川 美子   三留  3  2
A1-19  小野 和世   二川  2  3
A1-20  久保 史郎   市﨑  1  4
A1-21  後藤伍一   後藤  5  0
A1-21  伊藤 雄一   後藤  5  1
A1-22  柿本 寺尾   四元  4  2
A1-23  京都 吉男   三留  3  3
A1-24  今吉 廣夫   二川  2  4
A1-25  村鞆 繁宗   市﨑  1  5
A1-26  前富 達夫   後藤  5  6
A1-27  熊本 順子   四元  4  6
A1-28  福森 次郎   三留  3  6
A1-29  前原 勇司   二川  2  6
A1-30  厚原 敬策   市﨑  1  6

質問者からの補足コメント

  • 質問する前に、Wordの差し込み印刷で、«Next Record» を用いて差し込みフィールドをおいておき、「アドレス帳の編集」のところで、「並べ替え」で、組と番号で順番を決めましたら、とりあえずは、組順・番号順にだらだらと差し込まれはするのです。しかし、そのとき、その組の最後の番号(その組にはその次の番号が存在しない)に来たところで、改ページしたいというところをクリアーしたいです。

      補足日時:2017/04/01 04:05

A 回答 (2件)

No.1の回答者です。


お礼や補足の情報を読むと、基本的に差し込み印刷のみで対応する
のは無理があります。

組の人数が変化することと、Excel側のデータはソートなどができないと
すれば、データの処理が差し込みだけでは対応できないからです。
Excelのデータを編集できる(別シートを用意して使うなど)なら、以下の
サイトで説明しているように空白行などを用意すれば、NextRecordIfを
使って対応できます。
http://www.office-qa.com/Word/wd465.htm
http://www4.synapse.ne.jp/yone/word2013/word2013 …

Excelのデータを編集しないで、Wordの差し込みで[アドレス帳の編集]
の[並べ替え]を使うとするなら、人数が一定ではないことから[レター]を
指定するしかないのです。
この場合、担任の前(組の最大番号の後)の改ページができないから
希望していることは差し込み印刷だけでは無理ですね。

どうしてもとなると、[名簿]を使い組順・番号順にだらだらと差し込まみを
新規文書になるようにして、作成された新規文書側にて[置換]を使って
番号が0のものを改ページにすることで対応するしかないと思います。
(番号の後ろには「番」を記載して処理しやすくしておきます)

先頭に番号を配置して、置換にて以下のような手順で処理します。
(あいまい検索のチェックをOff)
[検索する文字列] 0番
[置換後の文字列] ^m

[すべて置換]で0番を改ページに置換します。

残った番号を以下のように置換すれば、不要な番号を消せます。

[検索する文字列] ^#番
[置換後の文字列] 

最初のページの不要な[改ページ]を削除すれば、組単位で改ページが
された文書にできます。
    • good
    • 0
この回答へのお礼

enunokokoro 様、重ねてのご教示、ありがとうございます。まずExcel上でソートして、境目に空白行をおいたら差し込み印刷で仕事が進められるということを説明されているサイトはみせてもらっておりました。が、はやりそれでなければできないのですね。ご経験のある方から、それは差し込み印刷には荷が重いということを判断して頂きましたので、方針を変えることに致します。 Visual Basic Editor を用いた方法を考えることにします。このたびはありがとうございました。

お礼日時:2017/04/01 17:40

Excelのデータは、「組」と「番号」を基準にソートしたものを差し込みで


利用するということでよいのでしょうか?

各組の生徒の人数は一定なのでしょうか?
Wordの1ページに表示したいのは以下のようなものなのでしょうか?
(箱番号が担任で重複しているのが気になるが、無視しています)

担任    市崎一郎
A1-5    花田忠義
A1-10   平重勲男
A1-15   椎葉貴史
A1-20   久保史郎
A1-25   村鞆繁宗
A1-30   厚原敬策

こちら↑のようなものを、5ページの文書にしたいということですか?
上記のような単純で生徒の人数が一定なら簡単です。

差し込み印刷で名簿を選択して、添付画像のようにします。

担任 → <<氏名>>
<<Next Record>><<箱番号>> → <<氏名>>
<<Next Record>><<箱番号>> → <<氏名>>
<<Next Record>><<箱番号>> → <<氏名>>
<<Next Record>><<箱番号>> → <<氏名>>
<<Next Record>><<箱番号>> → <<氏名>>
<<Next Record>><<箱番号>> → <<氏名>>
<<Next Record>><<箱番号>> → <<氏名>>
……… 改ページ ………

[改ページ]を入れたことで、名簿の差し込み印刷の場合、次ページには
次の担任から開始します。
[ページ設定]で行数を人数分にしてあるなら、[改ページ]ではなく改行で
次ページを用意しても同じ結果になります。

.[完了と差し込み]→[個々のドキュメントの編集]を選択して新規文書に
差し込めば、各ページに希望に近いレイアウトで差し込まれています。


人数などが組ごとに違う場合は、面倒な設定が必要になります。
NextRecordIfなどを組み合わせるなどで対応する必要があるからです。
「Excelの表から名簿をつくる」の回答画像1
    • good
    • 0
この回答へのお礼

ありがとうございます。とても恐縮いたします。実は元データは組によって人数が異なります。そして、担任は時にその中の誰かが交代します。したがって、『まず、Excel上で「組」と「番号」を基準にソートする』という作業をしないで、ということで教えてください。

お礼日時:2017/04/01 03:43

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!