• 締切済み

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

みんなの回答

noname#203218
noname#203218
回答No.1

[ファイル]→[印刷範囲]→[印刷範囲の設定]で印刷範囲を設定します。 [挿入]→[名前]→[定義]で、[Print_Area]という名前ものが存在すると思うので、それを選択し、参照範囲の数式を以下の様に変更してOKします。 ※数式はA列からC列のデータだとして、A列のデータ数で判別し、A列にデータが追加されるたびに印刷範囲が変更されます。 =OFFSET(!$A$1,0,0,COUNTA(!$A:$A),3) 数式の最後に記載されている数値3が列数を指定しています。(この場合C列) 最初の列データに途中空白セルが存在する場合はこの方式は利用出来ません。今回は問題無いようですが、次回以降利用される場合、留意下さい。 「ファイル」「ページ設定」で「ページ」タブのウィンド中央の拡大縮小印刷で、「次のページ数にあわせて印刷」がありますので、それを選択して、ページ数を設定し、終了です。

tamamike3670
質問者

補足

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

全文を見る
すると、全ての回答が全文表示されます。

関連する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に太郎さんシート3に次郎さんとした時にシート1にランダムにデータを入力 した時、シート2、シート3へ反映させる方法が知りたいです。 シート2、シート3の表はシート1と同じです。

  • エクセル2003の質問です

    エクセルでの質問です。  シート1にA1商品コード、B1に商品名、C1に在庫数、D1に生産者とした時に     A       B       C       D 1 商品コード 商品名  在庫数 生産者 2 1234   みかん1   3   太郎さん 3  456   みかん2   5   次郎さん 4  234    りんご1   1   太郎さん ・ ・ となっていて、シート2に太郎さんシート3に次郎さんとした時にシート1にランダムにデータを入力 した時、シート2、シート3へ反映させる方法が知りたいです。 シート2、シート3の表はシート1と同じです。 と以前、質問して回答をいただき下記の数式を教えていただきました シート1のE2セルには次の式を入力して下方にドラッグコピーします。 =IF(D2="","",D2&COUNTIF(D$2:D2,D2)) シート2やシート3での作業は次のようにします。 A1セルにシート2では太郎さん、シート3では次郎さんと入力します。後の操作はすべてシート2と同じです。 A2セルには商品コード、B2セルには商品名、C2セルには在庫数と項目名を入力します。 A3セルには次の式を入力してC3セルまで横にドラッグコピーしたのちに下方にもドラッグコピーします。 =IF(COUNTIF(Sheet1!$E:$E,$A$1&ROW(A1))=0,"",INDEX(Sheet1!$A:$C,MATCH($A$1&ROW(A1),Sheet1!$E:$E,0),COLUMN(A1))) このような数式を使い大変便利に使用していたわけですが、行数が1000、2000、3000と増えて行く うちにエクセルの再計算処理時間が増加化の傾向に有ります。 原因としては(多分)思い当たる事として、 1、シート1のデータが3000行になっている 2、シート2、3、4、5、の行数も1000行にしてある 3、登録シートがVBAで作ってある 4、パソコンが7年前に購入した物で古い(これに関しては変更できませんが) ですので今度は、シート2の所を、使い 「A2」には商品コード、「B2」には商品名、「C2」には在庫数として 「A1」に「太郎さん」だったり、「次郎さん」だったりと入力すると、「A3」からシート1のデータ を全て一覧で呼出し出来る様にする事が知りたいです。 なお、この表に関しては、実際に使用する物と項目の名称だけ違うだけで使用してます。 また、コピーしてオートフィルかけたりとかは自分は出来ますが、年配の方が使用するので 出来れば簡単にと思っています。  よろしくお願いします。

  • エクセル2003の質問です

     エクセルでの質問です。  シート1にA1商品コード、B1に商品名、C1に在庫数、D1に生産者とした時に     A       B       C       D 1 商品コード 商品名  在庫数 生産者 2 1234   みかん1   3   太郎さん 3  456   みかん2   5   次郎さん 4  234    りんご1   1   太郎さん 印刷する場合、A1からD4までを印刷範囲設定し印刷しますが、データが増えた時にそれに合わせ 印刷範囲も自動で増えワンタッチ的に印刷する方法が知りたいです。 よろしくお願いします。

  • エクセルでデータの比較をしたいです。お教え頂けないでしょうか

    エクセルでデータの比較をしたいです。お教え頂けないでしょうか エクセルで2つのシートにある同一の商品コードと 在庫数を比較するマクロを作成中です。 シート1のA列にある商品コードとB列にある在庫数を取得し シート2のA列にある商品コードから同じ商品コードを探します。 同一の商品コードがあった場合に在庫数を比較して その数が減少していなければC列に次の処理を加える。  商品コードが合致した後は 処理を抜けて次の商品コードを比較させたいのですが 下行にある商品コードを探し続けてしまいます。(データの総当りとなる) つきましては どの様に記述すれば良いのでしょうか お教え頂けます様 よろしくお願い致します。 *********** Sub check1() Dim kz1 As long 'シート1データ数 Dim kz2 As long 'シート2データ数 Dim st1 As String 'シート名 Dim dt1 As Variant '商品コード Dim dt2 As Variant '在庫数 Sheets("sheet1").Select st1 = ActiveSheet.Name kz1 = Range("a65536").End(xlUp).Row Range("a1").Select ActiveCell.Offset(1, 0).Select For a = 0 To kz1 - 2 Sheets(st1).Select dt1 = ActiveCell.Value '商品コード dt2 = ActiveCell.Offset(0, 1).Value '在庫数 Sheets("sheet2").Select kz2 = Range("a65536").End(xlUp).Row Range("a1").Select ActiveCell.Offset(1, 0).Select For b = 0 To kz2 - 1 '同一商品コードを検索 if activecell.value = dt1 '在庫数を比較 if activecell.value >= dt2 '在庫数が同じ もしくは増加していた場合に処理 '次の処理を追加 endif else ActiveCell.Offset(1, 0).Select endif Next b Sheets(st1).Select Next a end sub

  • エクセルについてご質問させていただきます

    現在は、シート1に『商品コード』『商品名』『分類』『在庫』が一覧で存在しており検索機能を使用して商品コードで検索し『在庫』に○を記載しているのが現状です 約500件のデータが存在しており、同一の商品コードは1つしか存在しません そこで、シート2のあるセルに商品コードを入力するとシート1から商品名、分類を引っ張ってきて表示し、正しければ何か1クッション(ボタンを押すなど)すればシート1の該当商品の在庫に○が記載されるようにしたいのです シート2に商品コードを入力して商品名、分類を表示させるのは関数で出来ました =INDEX(商品一覧!A3:C1000,MATCH(B14,商品一覧!A3:A1000,0),3) が、クッション(ボタンを押すなど)すればシート1の在庫に○が記載されるようにする事がどうしても出来ません 何か良い知恵がありましたらご教示をお願いいたします

  • エクセルでIF関数を使った並べ替え

    ひとつの「商品コード」に対して、2タイプの「商品名」があります。 現在、商品名のタイプ別にシートを2つに分けて管理しているのですが、「商品コード」に基づいて、ひとつのシートにまとめて、在庫管理に活用したいです。 データ内容は; ------------- A1=商品コード B1=商品名 C3=在庫 D4=価格などなど ------------- 毎回、在庫が変わる度に苦労してます。 IF関数を使って出来ないか調べてみたのですが、エラーばかりでさっぱり解りません。 どなたかヒントを頂けないでしょうか。 エクセル辞典は買えません。 よろしくお願い致します。m(_ _)m

  • [エクセル]複数の単語で抽出,空白をつめて表を作る

    次のような表をエクセルで作成したいと思っています。 後に残していくことを考えると,関数でできるならとてもありがたいです。 下の表から, [A列は商品コード。B列は商品名]   ↓   [購入者名] [いろいろな言葉が入っている。   ↓      ↓    空白のセルもあり]   ↓      ↓         ↓   A  B    C      D  E 1 15 りんご  ○○(株)  .. きりんセット 2 16 みかん  △△太郎  .. キリン,おまけ付き 3 19 メロン  (株)□□  ..  10ケ 4 16 みかん  ◇◇花子  .. ぱんだセット 5 28 アボガド ○○(株)  ..  6 12 スイカ  △△太郎  .. うさぎセット これを,別シートへ   A       B    C 1 ○○(株)  りんご  きりんセット 2 △△太郎  みかん  きりんセット 3         スイカ  うさぎセット 4 ◇◇花子  みかん  ぱんだセット というように,E列のセットのみを抽出し, [購入者]別にまとめて表示したいのです。 既存のシステムに不特定多数の人間が入力したものをコピーして加工しているため, E列の内容は,全角・半角の指定も,入力する内容も統一されていない状態です。 今のところ, [購入者名]で並べ替え → オートフィルタでE列の空白以外のセルを選択 → コピーして別シートに貼り付け → 不要な部分を削除 → 列の入れ替え という方法で表を作っているのですが,できるだけこの方法は使わずにできれば,と思っています。 よろしくお知恵をお貸しください。

  • エクセルの関数について。

    エクセルの関数。 Sheet1の作業列1のA2セルに =IF(COUNTA(Sheet2!2:2)=0,"",IF(Sheet2!A2="",A1,Sheet2!A2)) →数式1とする 作業列2のB2セルに =IF(A2=$D$2,ROW(),"") →数式2とする という数式を入れA2・B2セルを範囲指定 → B2セルのフィルハンドルで下へコピーしておきます。 (Sheet2の行数以上コピーしておく) そしてE2セルに =IF(COUNT($B:$B)<ROW(A1),"",INDEX(Sheet2!B:B,SMALL($B:$B,ROW(A1)))&"") →数式3とする という数式を入れオートフィルで列方向・行方向にコピーする。 教えて頂きたいことは、数式1、数式2、数式3が何を意味しているのか。 と、この数式を使って、表を作成したのですが、ある特定の数字(コード、D2セルに入力)を入力しても反応してくれない。 (E2~H2まで、空白セルの状態になります。) (sheet2は約1200行あります。) 教えて頂けないでしょうか?

  • excelで在庫管理

    仕事で在庫管理表を作ることになってしまいました・・・。 シート1 商品コード、アイテム名、昨日在庫数 を羅列したリストを貼り付けてシート2の在庫管理表に反映させてその日の在庫数をチェックします。 シート2 商品コード、型番、アイテム名、在庫数 を表示しています。 毎日上書きして在庫管理するリストなので、シート1の変動もあり、なかなか使えるものができません。 簡単にシート1の在庫をシート2に反映させられる関数はありませんか? excel初心者で何もわからないので教えて下さいm(_ _)m

  • 値によって参照先を変えたい

    図のように、商品の種類ごとに生産者が記載されているマスタデータが複数あります。 検索値をコードとしながら、商品によって、参照するマスタを変えながら 生産者をそれぞれのマスタから引っ張ってくることはできるでしょうか。 商品がりんごなら、シート名「りんご生産者」からコードを検索値として生産者を表示。 商品がみかんなら、シート名「みかん生産者」からコードを検索値として生産者を表示。 という感じです。 どなたか助けてください。

専門家に質問してみよう