• 締切済み

エクセルで、条件にあう複数の行を別のシートに表示したい。

社内で郵便物送付の管理表を作成することになりました。 sheet1に一覧表を日付順に入力します。   A   B        C     D 1 日付 送付者コード 書類名 送付先 2 日付 送付者コード 書類名 送付先 一日に何度か郵送の手配を行い、そのたびにすべての郵送物を入力します。 同封する送付状をsheet2に作成し、一覧から該当の書類名と送付者コードを表示させたいと思っています。 印刷さえできればよいので、フィルタオプションの設定で可能だとは思いますが 計算式などでの自動処理ができればと思っています。 (条件となる日付や送付者コードを入れるだけで自動的に表示されるといった具合です。) sheet1の一覧に列を追加するなどの変更は可能ですが、sheet2の送付状は1枚につき5行しか表示できません。 これは絶対変更できません。 もし、5種類以上の書類を同じ送付先に送際は、 送付状を2枚作成することになっています。 一日に同じ送付者が同じ名前の書類を送ることもあります。 vlookupで試したのですが、重複しない検索値を入力しなくてはいけませんよね。 検索値の入力を極力少なくしたいのです。 シンプルで簡単にできる、うまい方法ないでしょうか?

みんなの回答

  • papayuka
  • ベストアンサー率45% (1388/3066)
回答No.2

運用でカバーするのが簡単だと思います。 例えば、Sheet1のA列に印刷フラグ欄を設けて、通常は空にしておき、印刷したいレコードにだけ1~5の連番を入れてもらい、Sheet2側では、それをVlookupで拾うとか。 Sheet1側   A  B 1 1  日付  送付者コード 書類名 送付先 2    日付  送付者コード 書類名 送付先 3 2  日付  送付者コード 書類名 送付先         ・         ・ Sheet2側 =IF(ISERROR(VLOOKUP(1,Sheet1!A:E,2,0)),"",(VLOOKUP(1,Sheet1!A:E,2,0))) =IF(ISERROR(VLOOKUP(2,Sheet1!A:E,2,0)),"",(VLOOKUP(2,Sheet1!A:E,2,0)))         ・         ・ 他にはExcelでVBAを使うか、Accessにするか。

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.1

問題の説明が長い割に判り難いですが、 (1)送付一覧表(Sheet1)を基に、送付先別に郵便物の送   り状(Sheet2)を印刷したい。 (2)送り状は1ページ5件(5行)しか設行してない。 (3)送付一覧表(Sheet1)は、日付けはいろいろ入力され    ているが、指定日の送付物の一覧を作りたいので、   送付日+送付先で検索して、送り状を作る必要があ   る。 いろいろ策を使って関数で抜き出すことは可能ですが(過去に回答したことがありますが)、エクセルの関数は、条件に合ったものの別シートへの抜きだしは不得手です。 増して5行ずつの制約が入るとなると難しい。 印刷は関数で指令できません。 この作業は1日分の送付物の入力を終わえて、一括してやって良いのでしょうね。 この問題は(VBAで)ソートして、VBAで同一送付先分を判断し、5件以下をSheet2にセットし、印刷を繰り返すと言う処理でやらざるを得ないと思います。 かくのごとく、ちょっとビジネスで仕事をシステム化しようとすると、VBAが必要になります。興味あれば回答にちかいものは上げられますが。