みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

エクセル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は表になっている為、罫線が先に入れてあります
よろしくお願い致します。

投稿日時 - 2013-05-01 09:34:46

QNo.8067743

困ってます

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

[ファイル]→[印刷範囲]→[印刷範囲の設定]で印刷範囲を設定します。
[挿入]→[名前]→[定義]で、[Print_Area]という名前ものが存在すると思うので、それを選択し、参照範囲の数式を以下の様に変更してOKします。

※数式はA列からC列のデータだとして、A列のデータ数で判別し、A列にデータが追加されるたびに印刷範囲が変更されます。
=OFFSET(!$A$1,0,0,COUNTA(!$A:$A),3)
数式の最後に記載されている数値3が列数を指定しています。(この場合C列)

最初の列データに途中空白セルが存在する場合はこの方式は利用出来ません。今回は問題無いようですが、次回以降利用される場合、留意下さい。

「ファイル」「ページ設定」で「ページ」タブのウィンド中央の拡大縮小印刷で、「次のページ数にあわせて印刷」がありますので、それを選択して、ページ数を設定し、終了です。

投稿日時 - 2013-05-01 13:15:32

補足

早速の回答ありがとうございます
 さっそく試してみたのですが、どうしても=IF($E4="","",INDEX(Sheet1!A:A,$E4))
 の数式が入力されていてデータが表示されていない場所まで印刷範囲に設定されてしまいます。
 >A列にデータが追加
 ではなく、表示の場合はどうなのでしょうか?
よろしくお願いいたします。

 

投稿日時 - 2013-05-03 10:28:02

あなたにオススメの質問