• ベストアンサー

エクセルでのトップ10の出し方

使えない方が入力したり、閲覧したりできる各店舗ごとの売上表を作成しています。 各店舗1sheetとし売上数だけを入力すればいいように保護もかけています。 店舗の売上として提出できるような形で作りたいとのことなので各店舗ごとのトップ10を出したいのですが上手く行きません。 そのまま印刷して提出書類とするのでフィルタをかけたり「RANK」をつけたりではなく、売上のデータ(表)から抽出(参照)して別の場所に表として抜き出したいのですがわかりません。 なんとか売上数のトップ10は出せたのですが数がダブった商品に関して上手く商品名が出ません。 私もエクセルを使いこなしているのではないので、後もうちょっとなのにそこだけ、煮詰まって考えすぎてきて、なんだかわからなくなってしまいました。 もしかしたら全然違う方法があるかもしれないので知ってる方がいらしましたら是非、教えてください。

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

  • ベストアンサー
回答No.4

もし、売上の一覧を動かしたくないのであれば、一度、コピーしてから、加工すれば、いいのかな・・・なんて。 どうも、フィルタをかけるとごちゃごちゃになるというのが、具体的に見えてきません。 どうやら、実際のファイルを見てみないと、分からないかもしれません。 どちらかというと、ExcelというよりAccessの仕事なのかもしれません。 すみません

dennde
質問者

お礼

間があいてしまったのにもかかわらず回答をして頂いてありがとうございます。 最終目的としてWEb保存をして、見る側が報告書をみながら各店舗の情報や全体の発注や売上を閲覧したい時にツールバーの印刷ボタンをクリックするだけで添付できるような書類になってるということが前提なのです。 入力者もエクセル初心者であり閲覧する方も全然わからない状態なので、入力者が数値を入力するだけで他の作業を行なわず全てが完成できるようにしたかったのです。 結局閲覧用ファイルと各店舗ごとのファイルを作り店舗ごとに数値を入力し、上記のようにコピーをしフィルタをかけ抽出範囲に表を作り、並べ替え、コピーした物を表示しないというマクロを作成しました。 閲覧用のものは、各店舗のファイルからリンクさせて各商品(行)・各店舗(列)の発注、売上、在庫状況の各シートと報告書(提出用)では各店舗ごと(列)の商品全体の売上げ高とTOP10を出し、全てに保護をかけることにしました。 私もAccessで作成とおもったのですが、Excelでとの要望がありましたので悩んでしまいました。

dennde
質問者

補足

完璧には完成ではありませんが本日で締め切ろうとおもいます。 大変失礼なことをしたのにもかかわらずお返事いただいてホントにありがとうございました。 これからもたくさんの質問をするとはおもいますが、そのときは是非よろしくお願いします。

その他の回答 (3)

回答No.3

こちらも遅くなりました。(__) (2) 別のシートにリンクされ、全店舗の売上が一枚になって提出。 基本的には(2)を提出書類とし、各店舗の情報が欲しい方が、すぐ印刷ボタンをクリックすればすぐ出るように設定したいのです。 ご質問ですが、 1、(2)のシートにはどのように各店舗のデータがリンクしているのでしょうか?商品一覧が縦に並んだ(すなわち、各店舗の商品一覧とまったく同じ)ものでしょうか?それとも各店舗の売上がずらっと縦につながったものでしょうか? 2、提出書類とは、トップ10を出したものですか?

dennde
質問者

お礼

補足要求がになってるにもかかわらず返信しなくてホントにすみません。 別件が重なり回りきらなくなり少し保留にしてしまったのです。(というか逆切れに近い状態で今月一杯に延ばしてもらった) ホントにホントにすみません。(>_<;)失礼きまわりないヤツです。ごめんなさい。 一応今週金曜日までなので木曜日あたりまで締め切らずに置いておこうかと思います。もし拝見して頂けたら回答いただけると幸いです。 質文に対してですが 1店舗の総売上金額と人気商品のTOP10が1列として1枚で全店舗店舗の売上がわかり最終的にこの1枚を上司に提出という形にし、各商品の全体の売上が見たい人が発注管理や在庫、売上状況を閲覧できたり、各店舗の売上を商品ごとに閲覧できるようにしたいと考えているのですべてのシートが印刷すれば書類として成り立ちようにしたいのです。 そのため売上入力用と売上閲覧用と2つのファイルを作成したのですがマクロを使用したりするとやはり1つのファイルにした方がいいのかと考えています。 あまりフォーマットだけで容量が大きくなるのもおかしいですしね。

回答No.2

どういうシートを作っているのか詳細が無いので、こんな感じの表なのかな、と想像しながらお話します。 【私が想像したシートの概要】 ・各店舗ごとのシートに、商品名・単価・売上数・売上金額という項目がある。 ・売上数以外のセルには保護がかかっている。 以上のような前提でお話するならば、各店舗のシートで同じ作業をする事になりますが、以下のような手順では、どこがだめなのか、を知りたいです。 (1)シートの保護を解除する (2)売上金額をキーにしてデータを並び替える。 (3)トップテンオートフィルタを使って、上位10位を抽出する。 (4)抽出されたデータを印刷プレビュー画面で確認し、タイトル、ヘッダ、フッタ、余白の調整をして体裁を整えて、提出 という流れで、ここはこうしたい等がありましたら、補足願います。

dennde
質問者

お礼

遅くなりました。ごめんなさい。 説明が悪かったですね。 (1) 商品の一覧があり(これは全店舗共通)それに数値だけを入れると各店舗の売上が出る。 (2) 別のシートにリンクされ、全店舗の売上が一枚になって提出。 基本的には(2)を提出書類とし、各店舗の情報が欲しい方が、すぐ印刷ボタンをクリックすればすぐ出るように設定したいのです。 上記の方法ですとシートがすべてリンクされているので売上金額をデータで並び替えてしまうと(2)のぐちゃぐちゃになってしまうので出来ればデータ自体を動かしたくないのです。 私が使用するのではなくまったく使ったことのない方たちが入力や閲覧するので保護は絶対はずせないのです。 やはりあきらめた方がいいんですかね。。。

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.1

アドバンスドフィルターを使う。但し別シートのセル範囲には 抽出できない。そう言う制約がある。Rank関数で順位数をある列(下記ではB列)に出す。式の記述は省略します。 A1~A11のセルに下記データを入れる。 売上 順位 23 6 53 3 62 1 22 7 2 10 35 5 47 4 56 2 14 9 16 8 条件としてE1からE2に下記データを入れる。5位まで 抽出する例とする。 順位 <6 操作として データ-フィルタ-フィルタオプションの設定 抽出先-指定した範囲 リスト範囲$A$1:$B$11 検索条件範囲$E$1:$E$2 抽出範囲$G$7:$H$18 OKをクリック。 結果はG7からH12に 売上 順位 53 3 62 1 35 5 47 4 56 2 となります。必要あればG7からH12の範囲のデータを順位でソートすれば良いでしょう。 G7にしたのは全く意味なし。空いたところであれば良い。

dennde
質問者

お礼

別件の作業がありましてお礼が遅くなりました。すみません この方法でやってみたのですが他のシートがリンクされているので売上一覧のデータ自体をあまり動かしたくないのです。 私が使用するのではないので設定をして…、範囲を指定して…、と数値を入れてから作業をしたくないのです。 あくまでも使用する人は売上の数値だけを入力すれば全ての報告が出来るようにしたいので、出来れば元のデータから参照して抽出する方法を取りたいのですが…

関連するQ&A

  • 店舗別売上トップ3

    access2002 店舗、日付、商品、売上数が登録されているテーブルから各店舗の売上数トップ3を抜き出し一覧表示させたいのですが、どのようにしたらいいのでしょうか? 売上テーブル ShopCode,Date,ItemCode,Count 00000001,2006/10,00001,70 00000001,2006/10,00002,88 00000001,2006/10,00003,109 00000001,2006/10,00004,120 00000001,2006/10,00005,61 00000002,2006/10,00001,60 00000002,2006/10,00002,128 00000002,2006/10,00003,99 00000002,2006/10,00004,92 00000002,2006/10,00005,86 00000003,2006/10,00001,10 00000003,2006/10,00002,78 00000003,2006/10,00003,80 00000003,2006/10,00004,72 00000003,2006/10,00005,98 上記のようなテーブルから作成したいのは以下のようなものです。 ShopCode,Date,ItemCode,Count 00000001,2006/10,00004,120 00000001,2006/10,00003,109 00000001,2006/10,00002,88 00000002,2006/10,00002,128 00000002,2006/10,00003,99 00000002,2006/10,00004,92 00000003,2006/10,00005,98 00000003,2006/10,00003,80 00000003,2006/10,00002,78 全体のトップ3であればトップ値で対応できるのですが、各店舗ごととなると検討がつきません。 どうぞよろしくお願いします。

  • SQL SERVER 店舗毎のTOP10

    表題の件のSQLについてアドバイスお願いいたします。 DB:SQL SERVER 2008 R2 テーブル:売上伝票 カラム 店舗|伝票No|伝票日付|商品CD|商品名|数量|単価|金額(数量x単価) SELECT TOP 10 店舗NO, 商品CD, 商品名, SUM(数量) AS 販売数, SUM(金額)AS 販売金額 FROM 売上伝票 WHERE 伝票日付 BETWEEN [開始日] AND [終了日] GROUP BY 店舗NO,商品CD,商品名, ORDER BY 店舗NO,販売金額 DESC 当然ですが、上記のSQLでは、一番若い店舗NOのトップ10しか抽出できません。 店舗別、販売金額のトップ10を抽出するための、SQL文についてお教えください。

  • Excel 関数

    Excelの関数で教えていただきたいことがあります。 A       B      C  店舗コード 売上金額 商品名 1111     1,000    AAA 1111     2,000    BBB 1112     1,000    CCC 1111     2,000    DDD 上記のように、店舗別X商品別の売上金額一覧があります。こちらから、店舗別のTop10ランキングを作成したいです。金額のTop10は集計表の店舗コードをKeyとしてLarge関数で引っ張ってきていますが、商品名も同様に引っ張ってきたいです。しかしながら、参照テーブルでは同額のものがあるため、indexとmatchの入れ子, offset, indirect関数、indexとsumproductの入れ子でもやり方が正しくないようでエラーになってしまいます。 集計表では、 商品名  金額 で並べており、金額のところに店舗コードをKeyとしたLarge関数が入っています。こちらのLarge関数で指定している値と同じ行数の別の列数(B列を引っ張りたい)を返してくれればいいのですが、正しいやり方がわかりません。。。 どなたかご存じないでしょうか? よろしくお願いします!      

  • エクセル関数を向教えてください!!!

    (1)売上表があります。 ちがうシートに(2)在庫表があります。 (2)在庫シート D列商品コード L列入出庫数 の表があります。 (1)売上シートのE列に商品番号を入力すると入力に応じて (2)在庫シート のL列入出庫数を減らすようにしたいです。 どのようにしたらできるのでしょうか?? 関数は無知で見よう見まねでやっています。 詳しい方、教えてください。よろしくお願いいたします。

  • Excelのオートフィルタについて

    Excelのオートフィルタで1400件程度のレコードを処理しています。 フィールド名の横の▼をクリックしたときに出るドロップダウンリストの数は制限があるのでしょうか。 というのは、たとえば商品名で抽出する場合、ある商品名が入力されているにもかかわらず、リストには表示されません。が、オートフィルタオプションのダイアログボックスでその商品名を入力すると抽出できるのです。 もしリストの数を増やしたりできない場合は、毎回オプションで手入力しなければいけないのでしょうか。 正確には数えていませんが,商品名の種類は1000件くらいあると思います。

  • エクセルで保護を自動に行う設定

    今回、店舗の売上表を作成をしております。 毎日、売上を店舗スタッフに入力してもらうのですが、入力をした次の日(または数日後)に自動で入力をしたセルの保護(パスワードでロック)をかけることはエクセルで可能でしょうか?(後日データの改ざんなど変更をされないように)  ※マクロなど使用可(ですが、マクロ詳しくありません・・・) どのような方法でも構いませんので、わかる方いらっしゃいましたら、 教えていただきたいです。 よろしくお願いいたします。

  • エクセルのフィルタについて教えてください。

    エクセルのフィルタについて教えてください。 表示させたい結果の表を添付しました。 条件にあったものを抽出したいのですが、「個数が1より大きいもの」という 条件にしたい場合は、どのようにしたら良いでしょうか? 「1<」と入力しましたが、表示されませんでした。 フィルタでは、できないのでしょうか? フィルタ以外でも結構ですので、抽出方法をご存知の方がいらっしゃいましたら、よろしく ご教授ねがいますm(_ _)m

  • excel 複数条件の値を返す Vlook条件2つ以上の場合

    質問集を探しましたが、該当するものを探すことが出来なかったので、質問させてください。 エクセルデータで以下のような基データ表があるとします。 【表1】 A          B          C           D           E 商品NO    商品名    店舗名    売上数    売上額  123        ガム       東京        10        100 123        ガム       大阪        20        200 345        チョコ      東京        40        200 345        チョコ      大阪        30        150 345        チョコ      北海道       10        50 678        アメ       東京         20        80 678        アメ       北海道        10        40 ↓↓のように値を求めたい。 【表2】 A          B          C           D           E           F  商品NO    商品名     店舗名→    東京      大阪     北海道 123        ガム        売上数      10         20        N/A                    売上額      100        200        N/A 345        チョコ        売上数      40         30        10                    売上額      200        150        50 678        アメ         売上数      20         N/A        10                    売上額      80        N/A        40 表1を表2のように少々形を変え、引っ張ってきたいのです。 商品NO(or商品名)と店舗名と売上数(or売上額)の3つの条件が あるものを引っ張っていくにはどうすればいいのか。 表2のD2~F7に置く関数を教えてください。 出来れば、作業列など作らずにひとつの式で片付けたいのですが、 教えていただけますでしょうか。

  • エクセル表でフィルタしてもすっきりした見た目に

    エクセルで一覧表を作ってますが、見た目をすっきりさせて、かつフィルタしても見やすい表にしたいです。 扱うデータは ・店舗(東京、大阪、名古屋) ・商品(A、B、C、D) ・在庫数 の3項目でこれを一覧表にします。 最初は1.のようにすべてのセルに書き込んでましたが、店舗は1ヵ所表示すれば充分なので 2.のように、1行上と同じ情報であれば見えないように (文字を白色に、セル上辺の罫線も白色に)しました。 しかし、3.のように商品B、Cでフィルタすると店舗や罫線が見えなくなってしまいます。 4.のように、フィルタをしても店舗を1ヵ所だけ表示することはできますか? よろしくお願いします。

  • エクセルの表で集計するには

    エクセルの表の中で  名前  20代 30代 40代 50代 60代 ○○○○       1 ○○○○           2 と、いうように、男が1、女が2と入力してあるのですが、 年代別で、1が何人、2が何人と数を集計するには、 どういう方法を使えばよいですか? オートフィルタで抽出した表(抽出×10回)を、コピーして集計する方法しかないでしょうか? 数だけを簡単に集計する方法があれば教えてください。

専門家に質問してみよう