• 締切済み

条件に合う特定の項目を別シートに集計

excelの表作成につき、ご教示願います。別シートに以下のような条件で特定の項目を抽出して表を作成したいのですが、どのようにすればよろしいでしょうか。 1.sheet1に全店の担当者別の成績進捗表があります。 2.その進捗表のJ列に予算達成までの残額が入っています。 3.例えば、予算達成までアト1,000万以内の担当者について、sheet2に、その担当者名(sheet1のB列)、所属の支店名(sheet1のE列)、予算までの残額(sheet1のJ列)のみ抽出した表を作成。 つまり、予算達成まで間近な担当者と担当者ごとの残額をまとめた表を作成しようとしています。 因みにWindows7でexcel2010です。 何卒よろしくお願いいたします!

みんなの回答

  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.2

フィルターの詳細設定機能を使ってみます。 このような要求で関数やマクロも作りますが効率が悪いですね。作ったことしかできないわけです。変更や拡張が自在にできればいいんですが。会社では、基本的にはツールの使い方を教えるようにしています。 データは添付図のSheet1(残高は万円)、出力するSheet2に添付図のように検索条件範囲と抽出範囲を設定しておきます。検索条件範囲A1:B2、抽出範囲E1:G1です。 検索条件範囲は「残高」に関して2つ書いています。「1000以下 <=1000」と「0超 >0」の2つのAND条件なので横に並べています。縦に書くとORになります。予算達成で残高=0としました。 Sheet1のデータ内をクリックして、データタブ>詳細設定を選択し、フィルターオプションの設定で、  抽出先→指定した範囲  リスト範囲→Sheet1の表題も含めた全データ  検索条件範囲→Sheet2のA1:B2  抽出範囲→Sheet2のE1:G1  重複するレコードは無視する→オフ OKを押すと該当データが表示されるはずです。 このような方法を使うと、金額の条件を変更したり、出力データ項目を追加したり、検索条件に「支店名」を加えたりなどと、DB風に使えます。何より、何でも作ってくれと言われません。この辺りは算式よりメリットがあるところでしょう。

  • mar00
  • ベストアンサー率36% (158/430)
回答No.1

shee1とsheet2の項目を同じ行に入力して下さい。 下記のマクロは項目が3行目になっているのでGyou = 3を適宜修正して下さい。 sheet2のデータはマクロを実行するたびに削除するようにしています。 Dim Ws01 As Worksheet, Ws02 As Worksheet Dim Gyou As Integer Dim INP As Integer Dim myRow As Integer Sub Macro1() Set Ws01 = Worksheets("sheet1") Set Ws02 = Worksheets("sheet2") Gyou = 3 If Gyou < Cells(Rows.Count, "A").End(xlUp).Row Then Ws02.Range("A" & Gyou + 1 & ":A" & Ws02.Cells(Rows.Count, "A").End(xlUp).Row).EntireRow.Delete End If For INP = Gyou + 1 To Ws01.Cells(Rows.Count, "B").End(xlUp).Row If Ws01.Range("J" & INP) > 0 And Ws01.Range("J" & INP) <= 10000000 Then myRow = Ws02.Cells(Rows.Count, "A").End(xlUp).Row + 1 Ws02.Range("A" & myRow) = Ws01.Range("B" & INP) Ws02.Range("B" & myRow) = Ws01.Range("E" & INP) Ws02.Range("C" & myRow) = Ws01.Range("J" & INP) End If Next INP End Sub 質問者様の思い通りの動作するとよいのですが。

関連するQ&A

  • エクセル 別シートへの集計方法について

    エクセル2007を使用し、顧客へのアプローチ進捗を管理しています。 その中で、進捗ステータスを入力するセルには(★、A~C、×)といった具合に入力し、 成約【★】になったものについては、別シートへ手入力しています。 この手入力の作業を無くすため、次のようにする方法はないでしょうか? 1)成約を示す【★】を入力した列のみ、成約一覧として別シートへ自動的に転記・集計    2)上記1に加えて、その列の一部のセルを指定する 進捗    担当  顧客名    会社名      所属部署  その他 ★    田中  猫山一郎  くろねこ飲料  営業     しろねこ販売よりご紹介 ×    山本  犬上二郎  しばいぬ土木  営業     純新規        ※実際の表は20列程度あり、転記・集計したいセルは10程度です 

  • Excelでの別シート集計について

    Excelで月別、項目別で時間を集計するシートを作成しようとしています。 シート2ではシート1 F列コード別に集計してD列の時間データを月別に合計 シート3ではシート1 F列コードとG列コード別(Fが1001でGが1001、、、)に集計してD列時間データを合計、という表データにして抽出したいと考えています。 シート1には K欄に年月を表示  =IF(OR(A7="",B7="",C7=""),DATE(2100,12,31),DATE(A7+2000,B7,C7)) L列にF列コード+年月  =F7&(2000+A7)&B7 M列にG列コード+年月  =G7&(2000+A7)&B7 というところまでは設定したのですが、出力先となるシート2、シート3にはどのような設定をすればよいのか行き詰っています。 なにとぞ易しい回答をよろしくお願い申し上げます。

  • エクセルで別シート同士の照合結果を抽出

    シート1(担当者アの案件): A列に会社名 B列に担当者名 シート2(担当者イの案件): A列に会社名 B列に担当者名 シート3(担当者未定の案件): A列に会社名 B列に担当者名 シート4 シート1とシート3を照合して、シート1に存在する場合、シート4に抽出 シート2とシート3を照合して、シート1に存在する場合、シート4に抽出 としたいのです。やり方を教えていただけますでしょうか。 ちなみに結果の抽出はシート4でなくてもどこでもいいのです。 お手数ですがよろしくお願いいたします。

  • 複数シートで条件にあうものだけを抽出したい。

    365シートには、それぞれ全て同じセルに表が作成されています。 その表は2列のもので、P列とH列に入力があります。 今回抽出したいのはP22~P56の内「A」と入力されているH列の項目です。 これを366シートに表示させることは可能でしょうか。 因みにシート名は「4月1日」からの1年間です。 わかりにくい説明で申し訳ないのですが、ご存じの方教えていただきたいです。

  • エクセルで別シートにデータ抽出したい

    一覧表として作成したシートのデータのうち、ある条件のものだけ別シートにデータ抽出するにはどうしたら良いですか? 例えば、 NO. 担当 金額 1  佐藤 200 2  佐藤 100 3  鈴木 200 4  佐藤 400 とある「一覧表」シートのデータから 担当:佐藤のデータだけ抜き出した表を別シート(「個人別」シート)に作成したいのです。 できれば、「一覧表」に新データを追加する度に、「個人別」シートにもデータが自動反映するようなものが望ましいのですが。 そんなことは可能でしょうか? アクセスを使えば簡単にできるかとは思いますが、アクセスがないので、エクセルで代用できればと。 宜しくお願いいたします。

  • エクセル 自動で抽出と集計

    現在エクセル2007です sheet1には a列に会社名b列に担当者名が入ってます sheet2に来社数を数えたいのです 沢山の会社名と同じ会社名でも個人名が違うのでオートフィルタなど設定では表を作成したり数を数えるのが出来ません 希望は自動でsheet2に会社名一覧が出来 (新しい会社名や担当者がsheet1に入力されたら新規で一覧に入る) 何処の会社の担当者さんが何回来たというのを抽出し合計回数を表示したいです 全く分かりません ネットで調べても複数条件で抽出しても自動転記や回数を数えるまで出ておらずお手上げです どなたか教えて下さい

  • エクセルの1シートを項目別に別シートへ分ける方法

    エクセル2010で1シートのデータを項目別に別シートへ自動的に分割する方法で困っています。 検索するとマクロを使うと書いていますが、マクロはほとんど使ったことが無いのもあって、わかりませんでした。 シート1 A列(日付8ケタ+商品番号6ケタ) B列(売上額) 20130515000004           300 20130515000006           100 20130518000004           300 20130519000001           500 20130519000004           300 ・・・                   ・・・ をA列の日付部分上8ケタを使って日別にシートを分け、 シート名をuriage20130515(uriageと日付8ケタ)という名前にしシート名+CSV形式で保存したいです。 シート2 シート名:uriage20130515 A列         B列 20130515000004 300 20130515000006 100 シート3 シート名:uriage20130518 A列         B列 20130518000004 300 シート4 シート名:uriage20130519 A列         B列 20130519000001 500 20130519000004 300 このように自動で別シートに分割した上で、シート名CSV形式で保存まで自動でできるとありがたいです。 自動化できるならシートを分割するマクロ、シート名でCSV保存するマクロが一つのマクロになっていても、分かれていてもOKです。 このようなことはできますか? よろしくお願いします。

  • 【エクセル】表から条件にあったデータを別のシートに抽出する関数

    エクセルの表である条件にあてはまる行(複数の列を指定したい)を、 別シートに順番に抽出されるような関数を教えてください。 元の表を編集するので、自動的に反映されるように関数で作成したいと思っています。できれば、抽出後のソートやフィルタオプションは避けたいです。 シート1のコード(A列)が100番台のもの、200番台のもの、300番台のものの、それぞれ食品名(B列)と総量(D列)を、シート2~シート4に別表として抽出したいです。 食材の注文をするのに、業者別にしなければいけませんが、量が多くて毎回大変なんです。お助けください。 【シート1】 元データ    A     B        C       D 1 コード  食品名    一人分分量   総量 2 101    牛肉      30      150 3 201    じゃが芋    80      400 4 202    玉葱      40      200 5 203    人参      20      100 6 301    しょうゆ    6       30 7 302    砂糖      4       20 【シート2】 コード100番台   A     B   1 牛肉   150 【シート3】 コード200番台   A     B       1 じゃが芋 400 2 玉葱   200 3 人参   100 【シート4】 コード300番台   A     B  1 しょうゆ 30 2 砂糖   20 無謀な事をやろうとしているのかもしれませんが、どなたかアドバイスをください。 よろしくお願い致します。

  • Excelで条件に合うものを別Sheetに抽出

    Excel2003を使用しています。 下記画像で上の表がsheet1で、下の表がsheet2です。 Sheet1の情報をSheet2の表に抽出したいです。 たとえば、Sheet1で、3日の日(E列)にりんご、ばななに「○」がついているので、 Sheet2の3日の列(E列)に、「りんご」「ばなな」と表示されるようにしたいのです。 この条件を満たせる関数はありますか? 方法をご教授頂けると幸いです。 よろしくお願いします。 ※「○」は入力規則のリストで、ドロップダウンリストで表示させてるのですが、問題ないでしょうか?

  • Excelで一つのシートに複数のリストを作成し、別のところにその集計表

    Excelで一つのシートに複数のリストを作成し、別のところにその集計表を作成したいです。リスト(1)はA列に文字列(例えば社名とか)B列に数字、リスト(2)はD列に文字列E列に数字です。集計表は、G列に各リストの文字列を重複分を除いて抽出して表示させ、H列には数字(重複文字列の数字は合計します)が表示されるようにしたいです。どのようにしたらいいでしょうか?参考URLでもいいのでお願いします。

専門家に質問してみよう