- 締切済み
エクセル2003の質問です
エクセルでの質問です。 シート1にA1商品コード、B1に商品名、C1に在庫数、D1に生産者とした時に A B C D 1 商品コード 商品名 在庫数 生産者 2 1234 みかん1 3 太郎さん 3 456 みかん2 5 次郎さん 4 234 りんご1 1 太郎さん ・ ・ シート2のA1に太郎さんを入力した時に シート2のA1に「太郎さん」を記入 シート2のE3に「行位置」と記入 シート2のA3以降に「商品コード」「商品名」「在庫数」を記入 E4に =IF(COUNTIF(Sheet1!E:E,$A$1&ROW(A1)),MATCH($A$1&ROW(A1),Sheet1!E:E,0),"") と記入、以下コピー A4に =IF($E4="","",INDEX(Sheet1!A:A,$E4)) を記入、右にコピー、下にコピー と教えていただき大変便利に使用していますが、印刷範囲をデータが表示された場所に合わせ自動で 変更設定出来る方法が知りたいです。なおシート2は表になっている為、罫線が先に入れてあります よろしくお願い致します。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
[ファイル]→[印刷範囲]→[印刷範囲の設定]で印刷範囲を設定します。 [挿入]→[名前]→[定義]で、[Print_Area]という名前ものが存在すると思うので、それを選択し、参照範囲の数式を以下の様に変更してOKします。 ※数式はA列からC列のデータだとして、A列のデータ数で判別し、A列にデータが追加されるたびに印刷範囲が変更されます。 =OFFSET(!$A$1,0,0,COUNTA(!$A:$A),3) 数式の最後に記載されている数値3が列数を指定しています。(この場合C列) 最初の列データに途中空白セルが存在する場合はこの方式は利用出来ません。今回は問題無いようですが、次回以降利用される場合、留意下さい。 「ファイル」「ページ設定」で「ページ」タブのウィンド中央の拡大縮小印刷で、「次のページ数にあわせて印刷」がありますので、それを選択して、ページ数を設定し、終了です。
補足
早速の回答ありがとうございます さっそく試してみたのですが、どうしても=IF($E4="","",INDEX(Sheet1!A:A,$E4)) の数式が入力されていてデータが表示されていない場所まで印刷範囲に設定されてしまいます。 >A列にデータが追加 ではなく、表示の場合はどうなのでしょうか? よろしくお願いいたします。