• ベストアンサー

売上トップ10を抽出したい

お世話になっています。 Access2003を使っておりますが、抽出条件で煮詰まっており、知恵をお借りできないかと、質問させていただきました。 顧客ごとの売上を抽出するクエリを作ったのですが、そこからさらに、任意の期間でそれぞれの月のトップ10を抽出したいのです。 例:2006年10月~11月の売上トップ10 2006年10月 A社 100万 B社  90万 C社  80万 D社  70万    : 2006年11月 B社 120万 A社 100万 D社  80万 C社  60万    : というように抽出したいのですが、良い方法はあるのでしょうか? どうかよろしくお願いいたします。

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

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

どのようなテーブル構成から条件を抽出しているかわかりませんが、レコードに年と月を格納する列を追加して、クエリで抽出する時に年と月をグループ化するのが一番楽です。 SQL文で何とかしようとするとかなり厄介になるのでお奨めできないかも・・・。

wapparice
質問者

お礼

ご回答ありがとうございます。 >SQL文で何とかしようとするとかなり厄介になるのでお奨めできないかも・・・。 やはりそうですね。 単月で抽出するクエリがたくさんできるのでスマートにできないかな・・・と考えていたのですが、条件が複雑すぎるようなので、無理にまとめずに作ってみようと思います。 ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • CHRONOS_0
  • ベストアンサー率54% (457/838)
回答No.2

>任意の期間でそれぞれの月のトップ10を抽出したいのです。 10月分と11月分は別個に抽出するということでいいのですね だったら1ヶ月分を抽出するクエリでトップ値プロパティーに10を指定するだけです

wapparice
質問者

お礼

ご回答ありがとうございます。 単月のクエリだと数が増えていくので、うまい方法はないかなと考えていたのですが、やはり抽出条件が複雑すぎるようなので、ご回答頂いた方法を使って考えてみます。 ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • エクセルにてこのような抽出はできますか?

    エクセルにてこのような条件抽出(?)はできますでしょうか? 例えば下記のような売上データーがあります。 A列 売上月(4月~3月) B列 顧客名 C列 商品名 月別の売り上げデーターが毎日記入されます(1年間)。 1万行以下には全顧客名のリストが記入されています(例えば500社)。 この全顧客500社の内、売上の上がっていない顧客はどこなのかを抽出することはできますでしょうか? 売上データーを毎日記入することで、売上げのある顧客は分かりますが、売上げの上がっていない顧客はどこなのかを調べたいのです。 全顧客500社-4月売上顧客=4月売上げの上がっていない顧客一覧 こんなイメージです。 月単位で未売上の顧客を調べたいのです このようなことは可能でしょうか? どなたかご知恵を拝借できましたら幸いです。 ※1年を通して月別の売上げを記入します。   A     B    C 1   月  顧客名  商品名   2  4月  顧客A  商品A 3  4月  顧客B  商品B 4  4月  顧客C  商品C 5  4月  顧客D  商品D   ・    ・    ・   ・    ・    ・   ・    ・    ・   ・    ・    ・ ------------------------- ※1万行以下に全顧客データーを記入します(必ずしもここでなくても別シートでも問題ありません) 10000 顧客A 10001 顧客B 10002 顧客C 10003 顧客D 10004  ・ 10005  ・ 10006  ・ 10007  ・ 10008   よろしくお願い致します。

  • 売上の多い顧客順に合計金額を抽出する。

    エクセルの下のようなデータから    A     B     C 1  日付  顧客名  売上 2 11/10   A社  10000 3 11/11   B社   5000 4 11/11   C社  10000 5 11/12   A社   5000 6 11/13   B社   2000 別シートに、下記のように顧客売上順に合計を抽出したいのですが     A     B 1 顧客名   売上 2  A社    15000 3  C社    10000 4  B社    7000 どなたか教えていただける方がいましたらよろしくお願いします。 エクセルは2010です。

  • アクセスの関数で質問です。

    お世話になります。 アクセスの超初心者です。 顧客リストのテーブルがあります。 売上伝票フォームで顧客名と売上金を入力します。 ある一定期間で売上げで 顧客名   売上金 A社   ¥200 B社     ¥0 C社   ¥400 D社     ¥0 このようなクエリを作成するにはどうしたらよいのでしょうか? 売上げのある顧客の抽出は出来るのですが、売上げのない顧客の 売上げを「¥0」として反映させる方法がわかりません。 よろしくお願い致します。

  • Accessで名寄せグループの関係人を抽出する方法について

    先日からAccessを使ってある顧客データから条件抽出していますが、名寄せグループの抽出方法が分からず悩んでおります。 具体的には、全員で8人の顧客データがあります。 仮に名前を A-1,A-2,A-3,B-1,C-1,C-2,C-3,C-4,D-1,D-2 とします。 A,B,C,Dは名寄せグループを意味します。 A=3人、B=1人、C=4人、D=2人となります。 夫々に顧客コードと名寄コードを持っています。 (1)ある条件でA-1,C-2,D-1,D-2が抽出されるクエリ1を作成しました。 (2)次にA-1,C-2,D-1,D-2に関係する名寄せグループの他の顧客コードを抽出したいのですが、この方法が分かりません。 なお、A-2,A-3,C-1,C-3,C-4だけが抽出され、A-1,C-2,D-1,D-2は含まない方法があればBESTです。 当方Access初心者なので、出来るだけ判りやすく教えて頂けると助かります。できれば、初心者なのでデザインビューで分かりやすく教えて頂けると助かります。どうか宜しくお願いいたします。

  • 売上データに会社毎に請求番号を振る(access

    顧客の売上データ(テーブル)があるのですが、 同じ顧客名で、複数のレコードがあります。 売上を1ヶ月毎に、顧客毎に利用分をまとめて請求書を 作成しています。 下記のように、10月分には、すでに請求書番号(連番)が 入っています。 11月分の売上データの空欄の請求番号のところに、 顧客毎に、自動的に連番(2523~)で請求番号を振る方法がありましたら、 教えてください。どうぞよろしくお願いいたします。 (売上テーブル) 売上日   顧客名 金額  請求書番号 12/10/08 C社  \2000  2511 12/10/09  C社  \5000  2511 12/10/10  C社  \3000  2511 12/10/01  D社  \1000  2522 12/11/01  A社  \2000 12/11/06  A社  \1000 12/11/01  B社  \1000 12/11/08  C社  \2000

  • 月を指定してデータを抽出する

    下記のようなデータから(テーブル)     A     B      C      D 1  年月日  会社名  商品名   金額 2 10月27日  A社   リンゴ    5000 3 10月29日  B社   みかん   8000  4 11月1日   A社   バナナ   1000 5 11月2日   C社   みかん   4000 6 11月3日   B社   ぶどう   10000 下記のような別シートの見出しのB1セルを参照して。フィルタオプションで11月のデータだけを下記のA6:D9セルのように抽出するには抽出条件のA4セルにどのような関数を入れたらよいのでしょうか?     A      B    C      D 1 平成22年  11月  売上表 2 3 年月日 4  5 6 年月日   会社名  商品名   金額 7 11月1日   A社   バナナ   1000 8 11月2日   C社   みかん   4000 9 11月3日   B社   ぶどう   10000 A4セルに条件を入れなくても抽出できる方法でも結構です。 エクセルは2010です。 教えていただける方がおりましたらよろしくお願いします。

  • 初歩的な抽出方法に関して(Access)

    A社とB社の管理コードや売上金額を(A社テーブル、B社テーブルと存在します。) クエリで抽出する際に、 A社   B社 0001   0002 0002   0003 0003   0005 0004   0006 0006   0007 0009   0008 となっている場合、 クエリによって 0002 0003 0006 なるように抽出条件を設定したいのですが。 どなたかこの初歩的な質問に教えていただくことが出来ますでしょうか?

  • ACCESS 比較後の抽出

    テーブル1 a_b テーブル2 c_d クエリ1 a&b:[a]+[b] c&d:[c]+[d] クエリでiif([a&b]=[c&d],"○","×") としたとき抽出条件に○としてもパラメータクエリが出てしまいます。 サブクエリを使うのでしょうが今一使い方が分かりません。 ご教授お願いします。

  • アクセス2010 最新データを抽出する方法

    はじめまして。 アクセスを猛勉強中の初心者です。 過去記事を探しましたが、解決できませんでしたのでご教示お願いします。 やりたいことは、2つのテーブルからクエリを使って、最新のデータを抽出したいです。 ですが、その中に抽出したくないワードが存在します。 それ以外のワードで最新のデータを抽出したいです。 まず、下記のような2つのテーブルがあります。 ●テーブル1        ・ID(主キー)       ・日付 ・コメント ・顧客ID ●テーブル2 ・顧客ID(主キー) ・顧客名 ・住所 次にこのテーブルをクエリにしてデータを返すと、下記のようになります。 日付    コメント      顧客名    ・2/1     保留       Aさん ・2/1     発送       Bさん       ・2/1     相談       Cさん ・2/2    次回未定     Bさん ・2/3     発送       Aさん  ・2/4    次回未定     Dさん        今回抽出したいデータは、「発送」というワードをはぶいた最新のデータをとりたいということです。 なので、データとしては、 日付    コメント      顧客名    ・2/1     保留       Aさん ・2/1     相談       Cさん ・2/2    次回未定     Bさん ・2/4    次回未定     Dさん と、このように抽出したいのです。 最新データの抽出にはMax関数を使ってでき、いらないワードである「発送」はクエリのフィールドの抽出条件に『<>”発送”』と入力することで抽出を防ぐことができたのですが、これらの方法でMax関数を入れて最新データの抽出をしようとすると、全ての「発送」を除いたデータが抽出されるので、最新データに該当する顧客のデータが消えてしまいます。 なので、本来のコメントデータが分からない状態になります。 また、エクセル側でパラメータクエリを使って資料を作成し、アクセスに触ったことがない人たちが使用するので、アクセスを更新してといったことができません。 なので、更新クエリなどを使ってのやり方以外の方法はないでしょうか? 全くの初心者ですので、言葉足らずで説明が分かり辛くて申し訳ありません。 ご教示をお願いいたします。

  • ACCESS2007 クエリの抽出条件について教えてください

    ACCESS2007で、ルックアップ列(コンボボックス)を使用したテーブルがあります。そのテーブルをクエリにて、コンボボックスの条件別に抽出させたいのですが、その抽出条件を教えていただけませんでしょうか。 コンボボックスリストの中身(A,B,C)       A→Aのみ抽出したクエリ       B→Bのみ抽出したクエリ       C→Cのみ抽出したクエリ という風に作成したいのですが。 お忙しいところ申し訳ありません。よろしくお願いします。

専門家に質問してみよう