• ベストアンサー

特定の条件で抽出してランキングを求める方法

ある業界の製品ランキング100位までのリストがあり、製品名、売上高、会社名が載っています。このうち、ある会社Aの中での売上げランキングを求めるにはどのような関数を使えばよいのでしょうか? よろしくお願いいたします。

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

  • ベストアンサー
noname#52504
noname#52504
回答No.1

Excelのはなしですよね? 関数でフィルタをかける方法はいろいろありますが、例えば、 Sheet1:元データ 1行:見出行 2~101行:データ A列:順位 B列:会社名 C列:製品名 D列:売上高 であり、 Sheet2:抽出先 1行:見出行 A列:順位 B列:製品名 C列:売上高 と表示するとします。 Sheet2!A列にあらかじめ1,2,3…と順位を振っておき、 Sheet2!B2:=OFFSET(Sheet1!C$1,SMALL(IF(Sheet1!$B$2:$B$101="A社",Sheet1!$A$2:$A$101),$A2),0) として配列数式として入力(Ctrl+Shift+Enter)し、 B列下方とC列にフィルすれば、ご要望のリストが表示されるはずです (EXCEL2003で動作確認) なお、例えば、A社の製品が4つしかランクインしていない場合、5位以降は#NUM!エラーが返ります。 気になるようでしたら、 条件付書式で、数式が:=ISERROR(A1)⇒フォント白 などとして処理してください。 関数を使う方法としては、他に、作業列を使ってOFFSET(MATCH)やINDEX(MATCH)で引く方法や 配列数式の代わりにSUMPRODUCTを使う方法などがあります。 なお、既にご承知かも知れませんが、こういった処理は通常は「オートフィルタ」という機能で行います。 表全体を選択して、データ>フィルタ>オートフィルタ とクリック。 会社名の見出しをクリックして、ドロップダウンリストから「A社」を選択すればご要望のリストが抽出されます。 また、オートフィルタで抽出するだけでなく会社ごとの順位が必要な場合には、 SUBTOTAL(3)関数を使ってフィルタ後の見た目でナンバリングすることもできます。 以上ご参考まで。

関連するQ&A

  • Excelでの抽出

    Excelで下記のような2つのリストがあります。 リスト1にある売上合計データをリスト2にコピーをしたいのですが リスト2の会社名はバラバラに入力されています。しかもリスト1には あってリスト2にはない会社名もあり、ないものは追加されるように したいのです。データの数は大量にあり目で追っていくのは大変な ので、関数などを使ってなにか良い方法はないでしょうか? 教えていただきたいのですが、どうぞよろしくお願いいたします。 リスト1             リスト2 ---------------------     --------------------       会社名   売上合計      会社名  売上合計       A      2000         E B      5340         B C      1000         C D      3200         D E      4888         A F      2000         

  • 抽出結果を条件に、抽出

    アクセス超初心者です。 商品コードを基に、いろいろ情報を検索し、閲覧できるフォームを作りたいと思っています。 (↓説明が長いですが、お願いします↓) エクセルで 【カテゴリシート】商品コード/商品名/生産工場/カテゴリ1/カテゴリ2 というシート(4500件くらい)(商品コード重複あり)と、 【ランキング2007シート】人気ランキング順位/商品コード/商品名/ポイント/調査日 というシート(4000件くらい)(商品コード重複なし)があります。 ※カテゴリ1 ・・・(大分類カテゴリ)/カテゴリ2 ・・・(大分類の中の詳細分類) ※カテゴリ1は1つの商品に1種ではなく、複数の場合があります。 必然的にその分カテゴリ2も複数になります。 例:キャラクターペン カテゴリ1=玩具―カテゴリ2対象小学生以上             =文具―カテゴリ2筆記用具             =文具―カテゴリ2消耗品 ※ランキングは廃盤の商品コードもあり、そこ商品に関しては順位とポイントが空欄です。 ここから、ある商品はどのカテゴリに属しているか、また同カテゴリに含まれる商品のみでの人気ランキングを出すように、と仕事で依頼されます。 いつもは、カテゴリシートでオートフィルタをかけ、必要商品コードを抽出し、作業シートを使ってランキングシートから関数で各コードのランキング/ポイントを拾い出し、昇順で並び替えては提出していました。 しかし、このデータは増える予定が無く、ランキングも年に1回更新されるだけなので、みんなが簡単に検索できるようにしたいと思います。 出来ていること フォームでコードを入力すると、その商品名が表示され、カテゴリ1がリストボックスに表示され、そのリストのいずれかをクリックすると、もうひとつのリストボックスにカテゴリ2が表示され、そのいずれかをクリックすると詳細に必要情報が表示される。 したいこと ランキング作成。 リストボックス、カテゴリ2をクリックすると詳細へ表示される、複数のコード。これを検索条件にしてランキングを抽出。 T_商品名 ID(主キー) 商品コード 商品名 生産工場 テーブル2ID※T_テーブル2のNo.とリレーション T_カテゴリ カテゴリ1 ・・・(大分類カテゴリ) カテゴリ2 ・・・(大分類の中の詳細分類) ID(主キー)※T_テーブル1のテーブル2IDとリレーション T_ランキング2007 ランキング順位 商品コード 商品名 ポイント ID(主キー)(リレーション無し) F_総合検索  ヘッダー部分   (1)コード入力欄(テキストボックス非連結)   (2)商品名(テキストボックス非連結)   (3)カテゴリ1(リストボックス)   (4)カテゴリ2(リストボックス)   (5)ボタン  詳細部分    商品コード/商品名/生産工場/カテゴリ1/カテゴリ2 しくみ  I(1)にコードを入力する   →II(2)に商品名が表示/(同時に)(3)カテゴリ1が表示   →III(3)のどれかクリックすると、そこに属する(4)が表示   →IV(4)のクリックされたカテゴリを条件に詳細が表示    ※(5)ボタンは詳細の表示と同じものを別途クエリを作成し、開くようにしています。(今はまだランキングが出来ていないので、クエリをコピーしエクセルでランキングを作っています。) ランキングは毎年あるので過去のもものもあります。 出来ればボタンで『2007』『2006』・・・と作って、クリックすると、現在フォームヘッダーで指定されている条件を基に、クリックされたボタンの年度内でのランキングを作成したいです。 結果は順位の昇順になるようにしたいです。 また、詳細への表示を今はカテゴリ内のコード他が表示されていますが、それをラジオボタン等のチェックでランキングに切り替えたり、出来るでしょうか? VBA、マクロ、SQLは全くわかりません。 そんな私でもどうにかできないものでしょうか。。 お願いします。

  • EXCELの関数で複数条件の抽出方法

    エクセルの関数について教えてください。 VLOOKUPで複数条件を抽出したい。 以下の様に出来ればと思いますが、数式が分かりません。 売上データーの中から複数の条件に一致したものだけを抽出したい。 例) 商品が1,2,3,4,5,6,7,8,9,10と種類が100あるとします。 売上先A,B,C,D,E,F,G,と100の客先があるとします。 その中から、商品1と売上先Aの場合はA-1と売上金額のデーターを抽出させて、商品1と売上先がDの場合はD-1と売上金額を抽出させたい。但し、商品1と売上先Bの場合は売上金額を抽出させたくない。 このような場合の関数での数式を教えて欲しい。 お分かりの方があればお教え願います

  • 前月のランキングの抽出をしたい

    Excelで例えば以下のようなシートがあり9月のC2に前月のランキングを抽出したい場合、どのような関数を使えばよろしいでしょうか?ちなみに情報番号はユニークです。 sheet9月 A        B  C ランク 情報番号 前月のランキング 1      145 2      212 3     5553 4     4669 sheet8月 A        B ランク 情報番号 1     5553 2      145 3      354 4     2730

  • エクセルで条件抽出して集計

    教えてください! 日付   月  科目  金額 2006/1/1 1  売上高 5000 2006/1/2 1  売上高 1000 2006/1/3 1  仕入高 2000 2006/1/4 1  消耗品 3000 2006/1/5 1  仕入高 1000  2006/2/1 2  仕入高 1000 2006/2/2 2  売上高 5000 ・・・ という表から、seet2に下記のような表を作成し セルA1 に 1 と入力すると 科目    金額 売上高 (1月の合計値) 仕入高 (1月の合計値) 消耗品 (1月の合計値) セルA1 に 2 と入力すると 2月の集計 に変わる 3と入力すれば、3月の集計に変わる というふうに、セルA1に入力した数値(月)に対応するよう、 月を抽出して、合計値を出すには、seet2の (○月の合計値)の部分には、 どのような関数を入れればいいのでしょうか? ちなみにピボットテーブルを作成しようとすると「リストがないから作れない」 と表示されてしまうので、関数で解決したいです。 切実にお願いします。

  • 市場シェアについて。

    市場シェアが載っているデータが欲しいです。そこの会社の製品はその業界で何パーセントをしめているのか?や業界別の売り上げランキングなどが載っているサイトなどを教えてください!

  • 音楽のランキングはオリコン、じゃあ本のランキングは?

    音楽の売り上げ枚数でランキングをつけているのはオリコンですが、 本のランキングをつけている会社はありますか?またはサイトがありますか?

  • 条件のあったデータのみを抽出する

    Excel(Ver.97 or 2000)なんですが、A列に会社名、B列に条件、C列に金額が入っているとします。 A列の会社名は複数あり、しかも同じ会社名が幾つも入っている場合もあります。但し同名の会社でも"〃"は用いずにきちんとフルネームで入力します。B列の条件は"1"か空白です。それで例えばA列に「海山商事」という社名が12行分入力されていて、B列には"1"と入力されている部分が5つあった場合に、「会社名が海山商事で、且つB列に"1"が入力されている」金額のみを抽出させる関数式が知りたいのです。宜しくお願い致します。

  • EXCEL 売上ランキング表を作りたいです

    売上ランキング表を作りたいです、VLOOKUPの関数を使ってやってみたのですが、 ”範囲”の左端はこの場合絶対に店舗名でなければいけないのでしょうか? 下の表だと左端にランキングが来ていて、 これを参照する感じにしたいのですが、エラーになります。 =VLOOKUP(B2,範囲を先月のデータすべてを入れます,1,FALSE) 上の式では無理した。やはり左端のランキングを右側(F列)に移動して =VLOOKUP(B2,$B$20:$I$29,5,FALSE)とかにしないとだめでしょうか? Branch 平日 週末 平均 先月 1 A店 105.1 88.4 96.8 -1 2 B店 38.6 39.6 39.1 ▲3 3 C店 23.0 26.5 24.7 ▼2 先月のデータ 1 A店 123.5 102.4 112.9 2 C店 39.9 39.5 39.7 3 B店 23.7 26.7 25.2

  • エクセルで複数の条件からデータを抽出する方法

    次のような表において、A列の入荷日、B列の製品名から、別表に月別に製品別毎の入荷数及び合計金額を求める関数を教えて下さい。   A         B    C(個数) D(単価)         2013/2/15   みかん    100     50 2013/2/30   みかん    200     50 2013/3/2    りんご     50     70 2013/3/4    ぶどう    150     40 2013/4/3    いちご    100     50    よろしくお願いします     

専門家に質問してみよう