• ベストアンサー

エクセルでこの抽出(?)はできますか?

以下のことを実現したいのですが、良いやり方があれば教えていただきたいのですが。 シート1(在庫一覧表)    シート2(日報) |A|あ|2|         |A|う|2| |A|う|2|         |B|こ|3| |B|こ|3|    ←    |A|あ|2| |C|さ|1|         |B|こ|3|                   |C|さ|1|                   |A|あ|2| シート2に日報として、毎日作業したものを入力していきます。ここでいう、アルファベット、ひらがな、数字の、3項目の組み合わせで、1つの品物になります。 そのひとつの組み合わせを、重複なく、シート1に一覧として出したいのですが。 いつも決まった品物を作業する仕事ではないので、品物の数は限りなく増えていきます。 ※新しい始めての品物だとしても、日報に入力すれば、自動的にシート1に追加されるように・・・ アクセスを使えば良いのかもしれないのですが、パソコンにも不慣れな人も多数使用することになるので、シートを切り替えるだけで全体の流れがわかるようにしたいのです。 いろいろ調べたのですが、ぴったりのやり方が見つからなかったため、質問します。どうかよろしくお願いします。

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

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

PCが復旧しました。補足について、少しコメントを・・・・ 補足の内容からするとExcel向きの処理ではないと思います。1対100位でAccess等のデータベースソフトを使用すべきでしょう。 入力などは専用のフォームを作れば対応できますし、必要なデータを抽出したり一覧表なども簡単に作成できます。それを目的にしたソフトですから当然でしょう。 近ごろは、Accessでデータ管理、抽出等を行い、Excelで製表したりユーザーにデータとして提供しています。これを全てExcelで行うことも可能でしょうがデータ管理の面ではExcelではやりたくないのが実感です。入出力、抽出等はかなりの作りこみが必要になってしまいます。 Excelのデメリットとしては、入出力の作りこみが必要だったり、ソートやマージの問題、普通は計算(四則演算やVlookUpなど)をデータ単位(行単位)に作る必要があることですね。入力の時に過去のデータがそのBookにあったりしてExcel自体が重くなり操作性も悪くなってきます。 データベースの解説本とかには最初に在庫管理があったりしませんか?最初は簡単な例からはじめていけば、お望みのものが完成できると思います。 参考に書いてみました。がんばって下さい。

fruit-gogo
質問者

お礼

遅くなりましたが、本当に何度もありがとうございます。 やっぱりそうですか~。今でも、予測して必要な大きさの表をまず作ってみたのですが、かなり重くて、一つの再計算をするのに3分ほどかかってしまいます。 とりあえず今は、これで、手動計算にしてしのごうと思います。 その間に、アクセス勉強して、がんばって作りたいと思います。 本当にありがとうございました!!!

その他の回答 (5)

  • hirono_ta
  • ベストアンサー率49% (41/83)
回答No.5

ようやく何がやりたいのかわかってきたような気がします。 |商品コード1|商品コード2|商品コード3|…|数量|… |文字列   |文字列   |文字列   |…|数値|… つまり、上のような見出しのリストがあって、商品コード1・2・3をまとめて検索キーにして、キーが重複することなく数量の合計を得たいということですよね? それならば、フィルタオプションよりもピボットテーブルを使った方がいいですね。 まず、Sheet2で[データ]→[ピボットテーブルとピボットグラフ レポート]を選択。ピボットテーブル/ピボットグラフウィザードが開きます。 「Excelのリスト/データベース」「ピボットテーブル」にチェックが入っていることを確認し[次へ]をクリック。 Sheet2の日報のデータの入っている部分を指定して[次へ]をクリック。 (データの入っている範囲が自動的に選択されるはず) ピボットテーブルの作成先をSheet1!$A$1と選択して[完了]をクリック。 Sheet1にピボットテーブルが作成され、ピボットテーブルツールバーが表示されます。 ピボットテーブルツールバーから商品コード1・商品コード2・商品コード3を順に行のフィールドへドラッグします。 数量をピボットテーブルの左上のフィールドへドラッグします。 すると、小計を含めたピボットテーブルが自動的に出力されますから、小計の部分を右クリックして[表示しない]を選択します。 下記のような表が出来上がったはずです。(表は等幅フォントで見て下さい) ┌────────────────────┬───────┐ │合計 : 数量 │ │ ├──────┬──────┬──────┼───────┤ │商品コード1│商品コード2│商品コード3│ 計 │ ├──────┼──────┼──────┼───────┤ │A │あ │2 │Aあ2の数量合計│ │ ├──────┼──────┼───────┤ │ │う │2 │Aう2の数量合計│ ├──────┼──────┼──────┼───────┤ │B │こ │3 │Bこ3の数量合計│ ├──────┼──────┼──────┼───────┤ │C │さ │1 │Cさ1の数量合計│ ├──────┴──────┴──────┼───────┤ │総計 │総計 │ └────────────────────┴───────┘ 数量ではなくデータの個数が必要であれば、左上「合計:数量」の部分をダブルクリックして、ピボットテーブルフィールドから「データの個数」を選択。すると、表は下記のようになります。 ┌────────────────────┬────────┐ │データの個数 : 数量 │ │ ├──────┬──────┬──────┼────────┤ │商品コード1│商品コード2│商品コード3│ 計 │ ├──────┼──────┼──────┼────────┤ │A │あ │2 │Aあ2のデータ個数│ │ ├──────┼──────┼────────┤ │ │う │2 │Aう2のデータ個数│ ├──────┼──────┼──────┼────────┤ │B │こ │3 │Bこ3のデータ個数│ ├──────┼──────┼──────┼────────┤ │C │さ │1 │Cさ1のデータ個数│ ├──────┴──────┴──────┼────────┤ │総計 │総計 │ └────────────────────┴────────┘ マクロで自動化も出来ますが、わたしもVBAを勉強中の身で、いまいち上手く組めないので、それは他の方におまかせします。

fruit-gogo
質問者

お礼

ありがとうございます!! 今までほとんどピボットテーブル使ったことがなかったのですが、こういう風に使えるんですね。このやり方を自動化できればこれもすごく見やすい表になると思いました。 しかし、自動化・・・今の私もできないので、マクロの記録で試してみようかと思いますが・・・。

fruit-gogo
質問者

補足

あと、具体的な方法の質問ではないのですが、もし、このような日々いろんなものが入庫し、(しかし、いつも違うものとも限定できないところが微妙)すぐに在庫がなくなるものもあればず~っとあるものもある。取引先、品物も限定されていないので品物にIDも付けられず・・・という在庫管理を、”詳しく知らない人”でも日報を入力したり、簡単に見たい品物のデータを閲覧したりということはアクセスの方が向いているのかということが知りたいのですが。(もちろん、がんばって設計すれば・・という前提ですが) 使い方がわがままなので、使う人が勉強してできるようになるというのが一番いいとはわかっているのですが、教えていただけたら・・・と思います。

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

補足のとおりにしてみました。 シート3を作業用シートにして最終的にシート1にデータを移しています。 シートの構造が分かりませんので、シート1とシート2の対象3列の位置をモジュールに登録してください。最初の4行です。 それとシート名1,2,3は実際のシート名にしてください。Set の3行です。 マクロは、メニューから、ツール→マクロ→Visual Basic Editor でVBE画面に移り、 そのメニューから挿入→標準モジュールで標準モジュールを挿入し下記マクロを貼り付けます。 タイミング?はシート1に抽出したい時ですが・・・(質問の意味が分かっていない?) 頑張ってください。 なお、今から帰宅しますが自宅PCの調子が悪いし、旅行に出かけますのでしばらく連絡できません。ご了承ください。 Public Sub FilterCopy()   Const s2Col1 = "F" '日報 対象3列の最初の列   Const s2Col3 = "H" '日報 対象3列の最後の列   Const s1Col1 = "B" '在庫管理表 対象3列の最初の列   Const s1Col3 = "D" '在庫管理表 対象3列の最後の列   Dim ws1 As Worksheet 'シート1   Dim ws2 As Worksheet 'シート2   Dim ws3 As Worksheet 'シート3   Dim rowMax As Long 'シート2の使用行数     Set ws1 = Worksheets("Sheet1") '在庫管理表 B:Dが対象3列としてあります     Set ws2 = Worksheets("Sheet2") '日報 F:Hが対象3列としてあります     Set ws3 = Worksheets("Sheet3") 'ワーク   'シート2のデータ範囲をつかむ。シート3をクリアする   ws2.Activate: Range(s2Col1 & "1").Select     rowMax = Range(s2Col1 & "65536").End(xlUp).Row     ws3.Cells.Clear   'フィルタをかけて、結果をシート3にコピーする   ws2.Activate: Range(s2Col1 & "1").Select   ws2.Range(s2Col1 & ":" & s2Col3).AdvancedFilter xlFilterInPlace, , , True   ws2.Range(s2Col1 & "1:" & s2Col3 & rowMax).SpecialCells(xlCellTypeVisible).Copy   ws3.Activate: Range("A1").Select: ActiveSheet.Paste   'シート3をソートする   Selection.Sort Key1:=Range("A2"), Order1:=xlAscending, Key2:=Range("B2") _     , Order2:=xlAscending, Key3:=Range("C2"), Order3:=xlAscending, Header:=xlGuess   'フィルタを解除する   ws2.ShowAllData   'シート1の対象3列をクリアする   ws1.Range(s1Col1 & "2" & ":" & s1Col3 & Range(s1Col3 & "2").End(xlDown).Row).ClearContents   'シート3のデータのみコピーする   ws3.Activate   ActiveCell.CurrentRegion.Select   Selection.Offset(1, 0).Resize(Selection.Rows.Count - 1, 3).Select   Selection.Copy 'シート3のデータ部分だけコピー   'シート1に貼り付ける   ws1.Activate   Range(s1Col1 & "2").Select: ActiveSheet.Paste End Sub

fruit-gogo
質問者

お礼

ありがとうございます!! うまくできました。とてもうれしいです。 とても丁寧に書いていただき、本当にありがとうございます。勉強になりました。 私の作りたい表はもしかしたら、根本から改善すべき点があるのかもしれませんが、とりあえず、今、少しでも仕事が効率よくなる表ができました。 とても困っていたので助かりました。

fruit-gogo
質問者

補足

あと、具体的な方法の質問ではないのですが、もし、このような日々いろんなものが入庫し、(しかし、いつも違うものとも限定できないところが微妙)すぐに在庫がなくなるものもあればず~っとあるものもある。取引先、品物も限定されていないので品物にIDも付けられず・・・という在庫管理を、”詳しく知らない人”でも日報を入力したり、簡単に見たい品物のデータを閲覧したりということはアクセスの方が向いているのかということが知りたいのですが。(もちろん、がんばって設計すれば・・という前提ですが) 使い方がわがままなので、使う人が勉強してできるようになるというのが一番いいとはわかっているのですが、教えていただけたらと思います。

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

質問の意味をはかりかねています。前半ではシートから絞り込むように思えますが、後半では過去のデータに日報のデータを追加するようにも思えます。 とりあえず、シート2のデータを重複なしにシート1にかき出すモジュールを作ってみました。追加も応用すれば簡単でしょう。 データはシート2のA~C列にあり、1行目には表題があると仮定しています。 ご参考に。 標準モジュールに貼り付けます。(Excel97で作成しました) Public Sub FilterCopy()   Dim ws1 As Worksheet 'シート1   Dim ws2 As Worksheet 'シート2   Dim rowMax As Long 'シート2の使用行数     Set ws1 = Worksheets("Sheet1")     Set ws2 = Worksheets("Sheet2")   'シート2のデータ範囲をつかむ。シート1をクリアする   ws2.Activate: Range("A1").Select     rowMax = Cells(ActiveSheet.Rows.Count, 1).End(xlUp).Row     ws1.Columns("A:C").ClearContents 'シート1のデータを消去   'フィルタをかけて、結果をシート1にコピーする   ws2.Activate: Range("A1").Select   ws2.Range("A:C").AdvancedFilter xlFilterInPlace, , , True   ws2.Range("A1:C" & rowMax).SpecialCells(xlCellTypeVisible).Copy   ws1.Activate: Range("A1").Select: ActiveSheet.Paste   'ソートする   Selection.Sort Key1:=Range("A2"), Order1:=xlAscending, Key2:=Range("B2") _     , Order2:=xlAscending, Key3:=Range("C2"), Order3:=xlAscending, Header:=xlGuess      'フィルタを解除する   ws2.ShowAllData   ws1.Range("A2").Select End Sub

fruit-gogo
質問者

補足

すみません、自分でもうまく説明できていないと思ったのですが・・・。 日報を入力する前に、在庫管理表に、新規の品物を入力していくとすると、抽出しなくても良いのですが、複数の人が入力する可能性(そうすると、すぐにはそれが新規のものかどうかわからない)があるのと、もちろん、ある程度操作できる人なら、一度入力したものかどうか調べられるのですができない人もいるということで、ただ日報に作業したものをどんどん入れていけば、一枚目の在庫管理表シートに重複のない3項目の組み合わせが出せれば、それを検索条件にして、その時点での総在庫数が出せるかと思ったのですが・・・。 こういうものを作るにはVBAできないとな~と思い、まだはじめたばかりでうまく応用できず、もし、やっていただけるならば、少しお願いしたいことがあるのですが・・・。 記述してある内容がぼんやりとしかつかめていないので、もうそのようになっているのかもしれないのですが、  ※ 3項目の列のみフィルタをかけて、抽出で、在庫管理シートの3列のみに貼りつけしてもらいたいのですが。(他のセルにはその抽出されたものを検索条件にして日報の出荷数、入荷数などを集計するように作っているのですが)  ※ あと、このマクロの設定のしかた(どこに設定して、どのタイミングで使えるのか)を教えていただけませんか? もっと勉強した上で使うのが良いとは思うのですが、会社の都合上、早く完成しないと・・・という状況です。 パソコンの導入も始めたばかり、一定の決まった商品を扱うだけですまない(単発の仕事多し=種類多し)人員も少ない小さな会社なので、既製のものが使えなく困っていました。勉強したてでつたない質問ですが、よろしくお願いします。

  • yohsshi
  • ベストアンサー率55% (369/665)
回答No.2

日報のシート(シート名:日報)の一番左に列挿入します。 1行目が見出しだとして、A列2行目に以下の数式を入れます =B2 & C2 & D2 この場合、A2の表示結果は“Aう2” という形となります。 これを全ての行にコピーします 在庫一覧表(シート名:在庫一覧表)の方も同様に一番左側に列挿入し =B2 & C2 & D2 を全ての行にコピーします ここで票の右側E列に個数を表示することとし、E2式は =COUNTIF(日報!A:A,A2) これを全ての行にコピーすれば各商品の在庫が自動計算されます。 また、在庫一覧表に銘柄を登録し忘れている可能性がありますからこれをチエックするために、空いているセルに =IF(COUNTA(日報!A:A)=SUM(在庫一覧表!E:E),”OK”,”銘柄の未登録があります”) を入れておくとチエックになると思います。 短時間で作るならばこの方法でしょうか?

fruit-gogo
質問者

補足

そうですね~。途中までの、&を使ってそれぞれの在庫を計算するまではなんとかできていたのですが(このことで1週間ほど考えた末)、その後、考えすぎて、どうしても自動的に新しいものを認識して登録させなければ!!と頭が煮詰まっていたのですが、未登録のものがありますよ!と、知らせるという手もあったのですね・・・ 最後に、短時間で作るならということですが、手間をかければ、まだもう少し何とかなるでしょうか?エクセルの範囲でも・・・

  • hirono_ta
  • ベストアンサー率49% (41/83)
回答No.1

同じシート内であればフィルタオプションを使えばできますが、そのやり方で構わないでしょうか?

fruit-gogo
質問者

補足

ありがとうございます。 同一シート内でもかまわないのですが、この方法を使うとすると、フィルタオプションの設定と、その作業をマクロに記録したりできれば、エクセルをわからない人でも使えるのでしょうか? すいません、あまりフィルタオプションを使ったことがないので、とんちんかんな補足になってるでしょうか?

関連するQ&A

  • エクセルで項目を抽出したい

    皆様のお知恵をお貸しください。 日々作業者が行っている日報の項目を一覧表より抽出したいのです。 シート1には受付日(A列) 品番(B列) 数量(C列) 納期(D列)・・・ などが記入されています。日々増えていき月あたり100件程度です シート2には作業者の日報に書かれている品番(A列)、作業時間(B列)、作業者名(C列)作業日時(D列)を手入力していきます。 月当たり1000ほどの入力になります。 複数の作業者が同じ仕事をすること、日をまたぐこともあり重複しています。 求めたいことはシート3のA列にシート2で書かれた品名をシート1の品名の中から抽出し自動で書き出したいのです。 今はピボットを使いシート2のデータを表にして、そこの項目をLOOKUP関数を用いて導きだしていますが、その都度ピボットを更新させないといけないので煩わしいと思い、できれば関数で抽出をしたいのです。欲を言えば品番の若い順に自動で抽出できればいいのですが、まずはシート2に書かれた順でもかまいません。 記入例 シート1には A列    B列    C列    D列 10/1   10001    30    10/12 10/2   10002    1     10/5 10/2 10003 3 11/5 ・       ・        ・ シート2には  A列    B列     C列    D列 10001    2.5     ○○   10/2  9058    4      ○○   10/2 10003 1 ○○   10/3 10001 1 ××   10/3  10003 6 ××   10/3 10002 2 △△   10/5 シート3には(希望としては)  A列     9058 10001 10002 10003 . . . よろしくお願いします。     

  • エクセル 条件抽出の関数について

    エクセルで予約状況の一覧を作っているのですが、 シートA(担当者A) シートB(担当者B) シートC(担当者C) とそれぞれ入力シートを分けています。 その各シート内に例えば、   A(日付) B(時間) C(内容) 1 7/18    16:00    2 7/19    15:00  3 7/18    11:00 4 7/20    12:30 という様な予約日と予約時間と内容を入力しています。 ※予約発生毎に入力していくので日付はランダムになります。 その各シートから一覧表として    10:00 10:30 11:00 11:30 ~~~~~~~~~ 7/1   1   2    1 7/2   2   3 ~ ~ というような、7/1の10:00に何件の予約があるかという事を一覧表シートへ抽出したいと思うのですが、上手く関数が作れません。。 過去質問もイマイチ、条件の組み合わせがわからず、どなたかお知恵を お貸しください!! 意味が分からない場合は、申し訳ありません。

  • ◆◆急募◆◆ エクセル 重複するデータの抽出について

    データの入力された2枚のA、Bシートが同じブックにあります。 <Aシート> D2~D500まで顧客番号が入力されています。 <Bシート> C2~C600まで顧客番号が入力されています。 AシートとBシートの顧客番号はいくつか重複しています。 その重複している番号をBシートのどこかのセルに”重複”と表示したいのですが、その方法が分かりません。最終的にオートフィルタで重複と重複していないものを分けたいのです。 大至急教えてください!宜しくお願いします。

  • データの抽出

    再びエクセルの質問をします。 エクセルでデータベースを作っています。 データベースの合計金額を別シート(日報シート)に反映させたいのですがどんな関数を使えばいいのか分かりません。 データベースシートのB5~B204までには「現場名」が入力されていて、C5~AJ5までは費目別に合計金額が入力されています。C3~AJ3には費目(運搬費・施工図費・工事管理費など)が入力されています。 日報シートのA1~A26には費目が入力されていて、別シート(予算シート)のA1に現場名が入力されたら日報シートのB列に費目別に合計金額を反映させる関数を入力したいのですが・・・なにか良い関数がありましたらよろしくおねがいします。分かりづらい文章ですいません;;

  • エクセルで組み合せ一覧表を作成したいです

    エクセルでシート1のA1~O1の各セルには、アルファベットや数字(1~50)が入っています。 A1~O1までの15個のセルから、6つを選択した時の組み合せ一覧を作成したいと思っています。 組み合わせは計算すると、15C6となるので全5005通りになります。 組み合せの一覧は、シート2に表示させたいです。 (a,b,c,d,e,f)と(b,a,c,d,e,f)は同じものとします。 またA1~O1のセルに入るのは、アルファベットと数字の組み合せが複雑であれば、数字のみとしたいと思います。 関数だけで何とかしようと思いましたが、どうしても無理のような気がしてしまいましたので、こちらにご質問をさせて頂きました。 VBAの知識もないため、自分でプログラムを組む事もできません。 シートにVBAを組み込む方法は、これまでに経験があるので理解しております。 アドバイスを頂けると嬉しく思います。 何卒、よろしくお願い致します。

  • エクセル 抽出

    どうぞ宜しくお願いします A1B1C1のセルが結合してあり セルの中にはカタカナ、ひらがな、漢字、記号、アルファベット、が 30~60文字ぐらい記入されています。 その中のアルファベットが、1文字だけ大文字で必ず書いてあります。 大文字ではありますが、半角の場合も全角の場合もあります そのアルファベットの1文字だけE1に抽出表示させたいのです。 A1B1C1にはアルファベットも残したまま1文字だけE1に抽出表示させたいのです。 出来るのであれば、ですが、大文字の半角で表示させたいのです。 PC初心者です、よろしくお願いします

  • Excel 複数のシートを使って自動入力させていです。

    Excel 複数のシートを使って自動入力させていです。 Sheet1に「一覧表」とし、A1に日にち・B1に入荷先・C1「品物名」・D1「金額」を入力していく一覧表を作成しました。 入荷先の名前をSheet2.3に作り、入荷先ごとにリストを作成したいです。 一覧表に入力しただけで、自動的に入荷先ごとのシートに自動的に入力されてるってことって出来ますでしょうか? 例   A   B   C   D 1 日にち 入荷先   品物   金額 2 4/1 Aスーパー たまねぎ  100 3 4/5 B商店    きゅり   50 これをSheet1「一覧表」をした場合、 Sheet2を「Aスーパー」とし、Sheet2を「B商店」として。同じ表を作成しておく。 一覧表のシートにAスーパーでの購入を入力すると、「Aスーパー」のシートに自動的に表が作られていく 説明下手で申し訳ありませんが、よろしくお願いします!

  • エクセルで条件1つで、複数の値を抽出することできますか?

    加工作業の日報をエクセルでつけているのですが、品名と、それに使う資材をあるシートにマスターテーブルとして登録してあるのを前提に、日報のシートで、以下の作業を自動的にでるようにできますでしょうか? ★マスターシート:   A   B 品名   資材名  ←項目名 FD    シール FD    FDケース FD    FD本体 FD    箱 CD-R   シール CD-R   CDケース CD-R   CD本体   ・     ・ ・     ・ ★日報シート:   A   B  FD   シール   ←例えば、このA1にFDと入力すると、      FDケース    B1~B4に資材が出る      FD本体     A5にCD-Rと入れると、B5~B7に      箱       その資材が出る いろいろ検索してみたのですが、知りたいことを見つけることができなかったので、質問します。 関数でできれば一番良いのですが、VBAでもかまいません。 どうかよろしくお願いします。

  • エクセルVBAでVLOOKUP自動参照表示

    計画のファイルがあります。 例えば、"テーブル"シートのA列に品物A、品物B、品物C・・・、と入力されていて、B列にはA列の品物に対応して、付属A、付属B、付属Aなどと入力されているとします。実際は、品物数は数千種類あります。(この例の場合は、品物Aと品物Cは同じ付属を使う) "計画"シートには、B列にデータの入力規則のリストより、品物Aや品物B・・・などを選択します。 現在は、例えばB3:B15までが作業者Aの入力範囲としていたとすると、B5:B15まですべて入力規則のリストになっており、B3に品物Aを選んだらその下のB4に同じくリストから付属Aを選んで入力している状態です。(他の列にVLOOKUP関数を設定すると簡単にできると思いますが、これ以上列を追加表示すると印刷時縮小されすぎて却下です) 作業者Aの入力範囲のどこにで品物の選択をできるようにしておきたいので、入力範囲にはすべてリストが設定されており、数式を入れることはできません。 VBAでVLOOkUP関数を使えばできそうですが、リストから"テーブル"シートのA列の品物を選択したら、その下のセルにB列より参照して表示させればいいのでしょうが、やり方が分かりません。 作業者Aの本日の計画がB3:B15、作業者Bの本日の計画がB17:B29、作業者Aの翌日の計画がG3:G15、作業者Bの本日の計画がG17:G29とすると、その範囲に入力したら自動で参照して表示させ、また"テーブル"シートのB列が空欄なら何も表示しないようにさせるにはどうしたらよろしいでしょうか? たびたびすいませんが、どうやったらよろしいでしょうか?エクセル2013です。

  • エクセルの順位抽出について

    Sheet1のA列にコード、B列に商品名、C列に分類 D列に売上数、 E列に売上金額を入力した一覧表があります。 A_1:1000 B_1:牛肉 C_1:食品 D_1:20 E_1:3000 A_2:1050 B_2:お茶 C_2:飲料 D_2:18 E_2:3010 A_3:2000 B_3:鉛筆 C_3:文具 D_3:12 E_3: 900 A_4:2050 B_4:お米 C_4:食品 D_4:12 E_4:9010 A_5:3000 B_5:牛乳 C_5:飲料 D_5:25 E_5:2000 A_6:3050 B_6:定規 C_6:文具 D_6:28 E_6: 700 中略 A_300:10000 B_300:肉まん C_300:食品 D_300:38 E_300:9000 1.食品対象で売上金額の上位20のコードをSheet2のA列に表示 2.全商品対象で売上金額の上位20のコードをSheet3のA列に表示 上記の様な抽出をしたいのですがどの様な関数を使用すれば良いでしょうか? (オートフィルタを使用してのコピペという手作業をなくすためにSheet1の内容が更新されれば自動でSheet2,3の内容も更新されている のが希望です) よろしくお願いします。

専門家に質問してみよう