エクセルで特定のデータのみ別シートに自動抽出・計算

このQ&Aのポイント
  • エクセルで特定のデータのみ別シートに自動抽出・計算する方法について助けが必要です。
  • 10シートある部品の重量計算シートで、丸型と角型の部品があります。
  • 各ユニットで使用する部品の型式と重量をまとめ、使用合計重量を自動計算したいです。
回答を見る
  • ベストアンサー

エクセルで(マクロ)で特定のデータのみ別シートに自動抽出・計算

 当方、関数は頻繁に使用するのですがマクロはほとんど使用することがないので、かなり昔にやったきり覚えておりません。今回至急でやらなければいけないので、ぜひともお力添えを頂きたく投稿しました。。  ある部品の重量計算シートが型式違いで10シートあります。例えば丸(○)型部品の重量計算は、使用したい直径(φ)の寸法を選んで長さを入力すると自動的に重量が計算されるという計算式が入っています。丸型(○)は直径(φ)ですが、角型(□)ですと定尺寸法で決められています。  そこで、ある製品を作るのに、どの部品をどれだけ(重量)必要かを見積りします。しかもその製品はユニット毎に分かれていて、(1)ユニット・(2)ユニット・・・多くて(8)ユニットまであります。  例えば(1)ユニットで使用したい部品には、型式別(10シート)の部品の一番左列に"(1)"と記入していき、別シート(重量計算集計表) にその部品名と重量が自動的に抽出され、数量を入力して総重量も自動計算されるようにしたいのです。同様に(2)ユニットなら"(2)"と記入し各シートから抽出。  最終的に、先ほどの別シートに(1)ユニットでどんな型式の部品をどれだけ使用するか、(2)ユニット・・・も同様、それぞれユニットで使用する部品の型式とその内訳と重量が分かるようにし、さらに数量を手入力して使用合計重量を自動計算したいのです。 ※但し、ユニット番号が入力されているものだけが抽出される。(全ての部品を使用するわけではありません) <○型シート>   <□型シート> ~~種類別シート10まで (1)φ6 ・・・10g   (2)10*10 ・・・20g (2)φ8 ・・・30g    (1)20*20 ・・・30g (1)φ10・・・50g   (3)30*30 ・・・40g (3)φ12・・・60g     40*40 ・・・50g ←左端ににユニット番号がないものは抽出しない  ↓ ↓ ↓ ↓ <別シート> (重量計算集計表) (抽出)         数量(手入力)  使用重量合計(自動計算) (1) ○型φ6 ・・・ 10g          2         20g (1) ○型φ10・・・ 50g          1         50g (1) □型20*20 ・・・30g          2         60g   (2) ○型φ8 ・・・ 30g          3          90g (2) □型10*10 ・・・20g         5    100g (3) ○型φ12・・・ 60g         2    120g (3) □型30*30 ・・・40g         3     120g  以上、文字間が不ぞろいの上、説明が不十分で申し訳ありませんが、何卒よろしくお願いいたします。m(_ _)m  

質問者が選んだベストアンサー

  • ベストアンサー
  • ASIMOV
  • ベストアンサー率41% (982/2351)
回答No.4

>積算シートB2、C2、D2にエラーが出て、どうも上手くいきません シート名(下のタブに表示されている名前)とD列に表示されている名前が合ってますか? 特に全角/半角の関係に注意してください >AシートとBシートに入力した際、積算シートにもコードを手入力しなければ、データが呼び出されないのでしょうか A/Bシートのデーター(行)が増えた場合は D2 =IF(A2=0,"",LEFT(A2,1)&"シート!A2:C6") の「A2:C6」の範囲を広げる必要が有ります 予め、データーの最大行数を見込んで、設定しておけば良いと思います 「A2:C100」とか..

emirinco34
質問者

お礼

うまくいきました。まだまだ細かい部分を改善する必要がありますが、大まかにはできました。いろいろを知恵を貸して下さり本当にありがとうございました。m(_ _)m

その他の回答 (3)

  • ASIMOV
  • ベストアンサー率41% (982/2351)
回答No.3

「○型シート」や「□型シート」はデーターベースの様なものですので、そこに直接積算の為のデーターを書き込むのは好ましくない様に思います 一般的には、VLOOKUP等を使って、データーベースのシートから積算のシートに必要なデーターを読み込んで計算するのが良いのではないかと思います 一例として... VLOOKUPを使う場合、データーベースのシートが複数に分かれていると検索できませので、検索対象を動的に変更する必要があります 各部品にはコードを割り振り、コード入力で呼び出すようにします 一応「○型」がAシート、「□型」がBシートのイメージです 【積算シート】 B2 =IF($A2=0,"",VLOOKUP($A2,INDIRECT($D2),2,0)) C2 =IF($A2=0,"",VLOOKUP($A2,INDIRECT($D2),3,0)) D2 =IF(A2=0,"",LEFT(A2,1)&"シート!A2:C6") 以上を下方にコピーします A列に部品コードを手入力すると、B,C列にデーターが呼び出されます D列は非表示にしてもいいです あと、必要に応じて数量、計等のセル(列)を増やします 【Aシート】【Bシート】 図を見てください

emirinco34
質問者

補足

ありがとうございます。VLOOKUPは頻繁に使用していますので慣れているはずなのですが・・・(´`; 上記の通り作成してみましたが、積算シートB2、C2、D2にエラーが出て、どうも上手くいきません。何かポイントとなる事があるのでしょうか? それと・・・ちょっとよく分からないのですが、AシートとBシートに入力した際、積算シートにもコードを手入力しなければ、データが呼び出されないのでしょうか??何度もすみません、よろしくお願いいたしますm(_ _)m。。

  • ASIMOV
  • ベストアンサー率41% (982/2351)
回答No.2

>ユニット間で同じ部品を使用することも有リます であれば、 >(1)φ6 ・・・10g では、対応できないのでは? (1)(2)φ6 ・・・10g とか、するのでしょうか...ちょっと無理があるような感じですが

emirinco34
質問者

補足

すみません。例えば(1)(2)でφ6を使用する場合、(1)の下に行挿入して(2)のデータを作っていきます。ですので、種類別シートのデータが増える可能性があります。 やっぱり無理がありますかね、他に良い方法があればよいのですが・・・(´_`;

  • ASIMOV
  • ベストアンサー率41% (982/2351)
回答No.1

【疑問】 ユニット間で部品がダブル事は無いのでしょうか? 例えば ユニット(1)で、「○型φ6」を使っていますが、ユニット(2)でも同じ部品を使う場合があるとか...

emirinco34
質問者

補足

ご指摘ありがとうございます。説明不足ですみません。ユニット間で同じ部品を使用することも有リます。(・・;

関連するQ&A

  • エクセル 別シートから一覧を抽出したい

    部品一覧表を作成しているのですが、2シートあり 1入力シート・2部品コードシートとあります。 部品コードシートにはB列に部品番号・C列部品名・D列部品番号・E列部品名と2行ずつ使い番号・品名がB~Wまで47行分入力されています。 B1:C47、D1:E47…と2列47行にはそれぞれ【A】、【B】、…とセルの名前の定義をつけました。現在【H】までありますが、今後増える可能性があります。 入力シートに、セルの名前を指定したときに部品コードのシートから 一覧を抽出したいのですが、どの関数を使えばよいのかわかりません。 入力シート                 |部品コードシート G   H                  | A Bコード C部品名  Dコード E部品名 4式入力用にあけています。     |1 1800  ユニットA   1501 電源A 5コード 部品名             |2 1801  ユニットB   1502 電源B 6                       |3 G4に関数を入れてG6~G52まで部品コードのシートA1~A47を一気に表示 させたいのです。部品コードシートの行数が変わることはありません。 マクロを使わないと、関数では難しいでしょうか?

  • Excelマクロで別シートのデータを抽出

    元データには、シリアル番号、拠点、所属部署、使用者、契約番号、見積番号、更新者、導入区分、利用区分、備考など1つの機器に対して30項目の情報がセルに入力されています。 機器は、全部で2000台あり、拠点ごとに分かれているので拠点ごとに500台程度で4シートあります。 その元データから下記の集計用フォームにデータを抽出したい。 集計用フォームも4つのシートに分けているので拠点ごとに張り付けたい。 関数とも思いましたが、マクロで組んだ方が良いのではないか?と思っています。 集計用の項目は元データの項目に必ずあるので張り付けるだけなのですが・・・ <集計用> シリアル番号、使用者、拠点、導入区分、利用区分、備考 すみませんが、宜しくお願いします。

  • Excel 別シートに自動で抽出するには・・・?

    Excelの質問です。 基本のシートに都度入力されていくデータを、自動で別シートに抽出する方法がどうしてもわからないので、どなたか教えて下さい・・・m(_゛_;)m 【Seet1】基本シート ※ 都度入力します    A    B     C     D 1 08.9.1  渡辺  ジャケット  80,000- 2 08.9.1  小沢  スカート   30,000- 3 08.9.2  二宮  パンツ    40,000- 4 08.9.3  渡辺  ブラウス   20,000- 【seet2】渡辺シート 基本シートに入力されたと同時に自動に反映    A    B     C     D 1 08.9.1  渡辺  ジャケット  80,000- 2 08.9.3  渡辺  ブラウス   20,000- 3 このようなファイルを完成させたいのですが、どの関数を使用したらよいのか教えて下さい・・・m(_゛_;)m

  • Excel 抽出したデータで別シート自動作成

    Excelで、条件で抽出したデータを、自動で別シート作成およびデータ出力したい 外部サイトで恐縮ですが、 こちら → http://oshiete1.nifty.com/qa6295795.html   の内容が似ているとは思いますが、 シートの自動作成まで含めるとどうなるのでしょうか 添付画像のように、 sheet1に(画像ではすでに入力済みですが)、たとえば 地区 列に「え」と入力すると 【え】というシートが自動作成の上、地区え の行が出力される 次に「え」と入力すると同シートの次の行に出力される 【い】というシートも同様です。 このようにするにはどうすればいいのでしょうか? 事情により急いでいます。何卒よろしくお願いいたします。

  • 抽出して自動計算したい

    添付画像にあるI2の換算後セルに自動で計算を入力したいのですが どういった関数を入れたらスムーズか指導いただけたらありがたいです。 換算するのはm3からtにする係数なのですが、品目に応じた係数を数量に掛けてI2のセルに 自動入力したいです。 そもそも表作成自体もこれでいいのかアドバイスいただけたらありがたいです。 とりあえずこの表からまた別の表に集計するので、データ入力のみの表なのですが。 つたない説明で申し訳ありませんがよろしくお願い致します。

  • 一部のデータを別シートに自動的に抽出したい

    仕事で顧客データの入力をしています。そのデータの中で、ある条件に満たすデータの一部を別シートに自動的に抽出できるようにしたいです。必死に調べたのですが、できません。どうか教えてください。 ※基本データ(これからも毎日ここに入力します)   A     B    C     D     E    F     G   1  NO 担当者 お客様  日付   年齢  住所  土地有無 2 1  林   鈴木  3/1  55  ☆    有 3 2  国分  田中  3/1  37  ☆    無 4 3  国分  近藤  3/2  41  ☆    無 土地有無欄(G列)の「無」に該当する担当者列(B列)、お客様列(C列)のみを別シートに自動的に抽出する様にしたいです。 ※抽出先のシート    A      B       C      D     E 1 担当者 お客様名  予算  希望建築地 家族構成 2 国分   田中  3 国分   近藤    C列とD列とE列は新たに追加入力していく項目です。

  • Excel データの抽出について

    年始のお忙しいところ失礼いたします。 Excelにおけるデータ抽出についてお尋ねいたします。 抽出元データは左から1番目のシートのA列から順に、日付、部門名、商品名、数量0、記号、数量1、記号、数量2、記号、数量3、記号、残り数量となっています。 残り数量の列には、『=数量0-数量1-数量2-数量3』 という数式が記述してあります。 今回は、左から3番目のシートに、商品名、数量0、残り数量の3列の条件式を入力する場所と条件式に合致するデータを表示する場所を作成して、条件式に合致するデータを抽出することを検討しています。 条件式 商品名列:商品名の中から1つの商品を抽出 数量0:数量0=40、数量0<=10など数量0の値が入力した任意の数量と=またはは、以下(<=)を抽出 残り数量:残り数量<>0、残り数量<=20など残り数量の値が0以外か、入力した任意の数量以下を抽出 条件式を書き換える(抽出条件を変更する)ことが多いため、書き換える(条件を変更する)たびに、表示されるデータが更新されるようにしたいです

  • EXCELで別シートを参照する計算式

    こんにちは。EXCEL2002を使用しています。 1つのファイルに個人別シートと集計シートがあり、個人別のシートのシート名は個人の 名前を付けています。(集計)(田中)(鈴木)(小松)・・・と言った感じです。 個人のシートのフォームはまったく同じ表が作られていて、 集計シートのA列に名前、B列に下記のように計算式を入れています。   A    B 1 田中 ='田中'!$D$1 2 鈴木 ='鈴木'!$D$1 3 小松 ='小松'!$D$1 このような場合、A列にシート名と同じ名前が入っていた時に ='(集計シートのA列)'!$D$1 のような計算式で参照させる事は出来ますか? シート名を置き換えすることなく、同じ計算式が使えると良いのですが。

  • エクセルのシート間のデータを連動させたい

    二つのシート間でデータを連動させたいのですが、シート2のa1からg1まで日付が入ってます。 同じくシート2のa3からg3まで数量が入っています。 シート1のa1セルに入力規則のリストを使ってindirect関数で、シート2のa1からg1迄の日付が 選択肢入力を使って入れられるまでは出来ました。 シート1のc3セルに関数を使って、シート2のa3からg3迄に入っている数量を、シート1のa1セルの 選択肢入力の日付が変わったら、それも自動で変わって入るようにしたいのですが、 ご教授いただけませんでしょうか。

  • EXCELで別ファイルからデータを抽出するには?

    EXCELについて条件に一致する列の内容を抽出する方法を教えてください。 シート1の行に日付があり、列に品名と日ごとの数を入力してあるシートがあります。 このシートの内容を別のシートに日付を入力すると、その日の内容が表示されるようにしたいのですが、うまくいきません。 [シート1]     1    2    3   4 (←日付) A品  10  20  30   40… B品  30   10  40  20… C品  15  16   17  18… D品  20  21   22  23… [シート2]     *(←日付を入力) A品 (   ) B品 (   ) C品 (   ) D品 (  ) シート1とシート2はそれぞれ別ファイルで同時に開いている状況です。 シート2の*部分に日付を入れると該当する日付の各品名の数量が( )の部分に表示されるようにするにはどうしたらよいですか?

専門家に質問してみよう