• ベストアンサー

アクセスの抽出について

アクセス超初心者です。仕事で営業成績の集計をしています。営業担当者ごとの管理の仕方で困っています。 基本のtblは担当者名、日時、区分(aまたはbを選択)、営業内容(項目1~6の中から1つを選択する形式)、受注数、成約数で構成されているものです。  月別で、営業内容の項目1を除いたものの集計で、aの件数、bの件数、aとbの合計、営業内容の項目3の件数、受注数の合計、成約数の合計を出したいのです。  一度で出せるクエリの作り方があれば教えていただきたいです。本当に基礎知識しかありません。  一度で出なければどんなテーブルやクエリが必要か教えてください。

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

  • ベストアンサー
  • O_cyan
  • ベストアンサー率59% (745/1260)
回答No.2

1.営業担当者ごとの月別で営業内容の項目1を除いたものの集計でaの件数、bの件数 2.aとbの合計 3.営業内容の項目3の件数、受注数の合計、成約数の合計 これらは集計の仕方が統一ではないためそれぞれ別々のクエリを作らないと出来ません。 1は月を表示するフィールド(日時)・営業担当者・区分でグループ化し営業内容はWhere条件で<>項目1として抽出。区分のレコードをカウントするフィールドを追加する。 2はグループ化は同様で区分をカウントにする。 3はグループ化は同様で営業内容はWhere条件で=項目3.受注数と成約数は合計。 1つのクエリではできませんが1のクエリに2と3のクエリを追加して月と担当者で1・2・3を結合させ2と3の必要なフィールドを1のクエリに追加すれば1のクエリを開けば2・3が一緒に開き1のクエリで表示できます。 ただし1のクエリは担当者1人のレコードで区分がabの2行できるので2・3(2・3は1人で1行)のクエリのフィールドは同じ値で2行できてしまいますが。 その1のクエリを使ってフォームやレポートに上手く全てのフィールドを表示させる事も出来ます。ちょっと考えながらやらないと出来ませんけど。頑張ってみてください。

lynn-ta
質問者

お礼

やはり、クエリを作成してから結合しないとできないんですね。説明よくわかりました。 早速クエリを作成して抽出できました。ab2行になりますが、それで良い感じです。 もう少し勉強して、うまくフォームで出せるようにしてみたいと思います。 ありがとうございました。

その他の回答 (1)

  • snoopy64
  • ベストアンサー率42% (337/793)
回答No.1

・選択クエリの集計機能を使えば、ある条件におけるカウントや合計を求められますが、異なる条件の集計を一度に行うことはできません。 ・クエリデザイン画面で下半分で右クリックすると出てくる「集計」にチェックを入れると集計機能が使えます。 ・担当者別に合計を求めたいときは、担当者名を「グループ化」、受注数と成約数を「合計」にします。 ・日時から月を取り出す必要があると思いますが、クエリデザインで「月:month([日時])」というフィールドを書けば「月」というフィールドができます。 ・営業内容を「Where条件」にして下に「<>"項目1"」とすれば、「項目1以外の~」という条件になります。 上記はヒントです。やってみてわからないことがあったら補足してください。 頑張ってくださいヽ(^。^)ノ

lynn-ta
質問者

お礼

異なる条件の集計は一度にはできないんですね。 日数は元のデータがただの数値になっているため、monthではできませんでしたが、leftかなにかでできそうです。Where条件はできました。 ありがとうございました。

関連するQ&A

  • Accessクロス集計クエリで

    Accessのクロス集計クエリで下記のような商品名・納品週を行見出し、受注状況を列見出しにして集計クエリを作ったのですが、受注状況1 受注状況2の合計を列に増やしたいのですがどうすればよろしいでしょうか。 商品名 納品週  受注状況1 受注状況2 受注状況3 合計 ------------------------------ A   2007/03/25   10      15       0     25 A   2007/04/02   15      12       15     42 A   2007/04/09    0      10       7     17 B   2007/03/25   11       0       11     22 B   2007/04/02   10      15       0     25

  • access 抽出したフィールドの合計

    access2010です。 現在、以下のようなクエリがあります。(数値のところがずれて表示されているかもしれませんが、それぞれフィールド毎の値です) [ID] [項目A] [項目B]  [項目C] [項目D] [合計;[項目A]+[項目B]+[項目C]+[項目D]] 1     50    100    100    50 このままデータシートビューにすると[合計]欄は300になります。 表示をAとBとCのみにした場合、合計が250になればいいのですが、300のままです。 AとB、BとCなどいろいろ組み合わせを変えて表示したいのですが、全組み合わせ分のクエリーを作らずに、選択した分のフィールドのみの合計を出す方法はありませんでしょうか。 よろしくお願いします。

  • Accessで集計したい!

    こんな集計ができないか?いろんな参考書を見ても載っていないので、どなたか教えて下さい。 例) 選択クエリで、「金額」は計算して合計を表示するようにして、製品の合計を見出しを追加して集計したいのです。 製品 数量 単価 金額 <製品の合計を表示したい> A1  100  1   100      800 A1  100  3   300      800 A1  200  2   400      800 B1  150  2   300      1800 B1  300  0.5  150      1800 B1  450  2   900      1800 B1  450  1   450      1800      

  • Accessフォームから条件抽出する

    access2010で、フォーム内のリスト選択によって、 クエリのフィールドの計算を変えたいです。 「クエリ1」のフィールド名 いずれも数値 ・合計 ・A ・B ・C 「フィールド1」の「リスト1」で、1;2;3いずれか選択し、 選択した結果を「合計」に表示させたい。 ・リスト「1」のとき、Sum(A,B) ・リスト「2」のとき、Sum(A,B,C) ・リスト「3」のとき、Sum(A,B,C,D) できれば「合計」のフィールドの式のみで済ませたいのですが、 何か適切な式はありませんでしょうか。 よろしくお願いいたします。

  • アクセスの入力データが集計されない

    アクセスで毎日件数入力するのですが、あるところだけ集計されません。たとえばA市B市C市に昨日までの件数が2、2、2件入ってたとします。そして、今日入力する件数を1件ずつ入力します。すると、B市C市は今日までの合計が3件となるのにA市だけは1件のままです。 アクセスのデータベースやクエリをみてもA市のデータは入ってるのに。 原因がわかりません。 集計結果はエクセルにでるようになってます。

  • Access2007 クエリ 累計求め方

    以下の並びの選択クエリがあります。 [営業担当] [担当企業] [受注フラグ] [月] [累計] 月は昇順で増えていきます。 受注フラグは全て「1」と表示されています。 受注フラグを合計して、月次の累計推移を出したいと考えています。 【累計】のフィールドにDsum(式)を活用する所までは分かりましたが、 (式)内にどの様な式を指定すればよいか分かりません。 どなたかご教授頂ければ幸いです。

  • エクセルでグラフを作りたいのですが・・・?

    エクセル2007を使って会社の各営業所の実績が分かるように集計した表を元にグラフを作成しようと思っています。 内容はザくっとこんな感じです。 営業所は全部で12あるとします。そして、かく営業所毎の市場規模(これは件数で表されます)があり、その中で、受注出来た件数と受注率(市場規模の件数の内、何件受注できたか)と受注金額の合計という4つの違った性質の数値をまとめて一つのグラフにしたいというのが目的です。  とにかく、数字を並べてるだけだと分かり辛いので、何とか、見て分かるモノになればよいのです。 つまり、それぞれの営業所で受注件数が一番多いのはここだけど、受注率でトップなのはあそこで、売り上げが一番はココだといった具合になればよいということです。 宜しくお願いします。

  • Access2000のレポート作成

    アクセスの初心者です。どうぞ、お願いします。 Excellで入力すれば、私としては簡単だったのですが、 入力するフォームが多いので、入力フォームを利用したくて、 Accessを始めたところです。 100名以上の人から、52項目ほどを提出してもらい、 集計するだけなのです。 入力フォームを整形し、 一行に、フォームを4つずつ、置いてます。 [件数_1] [合計額_1] [負担額_1] [差引額_1] [件数_2] [合計額_2] [負担額_2] [差引額_2]   ・    ・     ・     ・   ・    ・     ・     ・ [件数_12] [合計額_12] [負担額_12] [差引額_12] [件数_13] [合計額_13] [負担額_13] [差引額_13] というような形です。 説明できないので、このように投稿します。スイマセン。 これをそれぞれ集計したいのですが、クエリで集計できる能力に欠けてますので、 いろいろやっています。参考書を書店にて立ち読みしましたが、 クエリでは、抽出条件だけで、どうも、分かりませんでした。 それで、フォームの中に、テキストボックスを作成し、 =Sum([件数_1]) などと、書き込むと集計できるので、 これで、レポートを作成しようとしましたが、上手く行きません。 レポートに枠線を作成し、 テキストボックスで"=Sum([件数_1])"や"=Sum([件数_2])"としたら、 "#ERROR"となります。 どうしたら、上手く集計して、レポートを作成できるでしょうか? 拙い説明で申し訳ないですが、お願いいたします。

  • access 選択クエリでの抽出条件について

    accessで在庫表を作成しています。 ある時点での在庫を求めるために、 クエリ「Q仕入数合計」で○月○日までの仕入れ数の合計を集計 クエリ「Q納品数合計」で○月○日までの納品数の合計を集計 クエリ「Q在庫表」でその合計を出す という方法にしました。 「Q在庫表」で演算してその結果、在庫数「0」の商品を非表示にして レポートを作成したいのですが、 「Q在庫表」で0以外を抽出しようと条件入力すると、結果がすべて消えてしまい、 抽出することができません。 ちなみに、Q仕入数合計、Q納品数合計はフォーム「F在庫確認日」で入力した日付を もとに抽出して集計しています。 Q在庫表でテストをしようとしてデータシートビューに切り替える際、「仕入数」と「納品数」の パラメータ入力を求められてしまいます。 どのような方法で在庫「0」を非表示にすればよいのでしょうか? 他に必要な情報があればご指示お願いいたします。

  • accessレポートの除外表示、実人数、並べ替え

    ご覧いただき、ありがとうございます。 Access2010を使用している初心者です。レポート2枚を作成しています。 3点、お聞きしたいことがあります。 お分かりになる部分だけでも結構ですので、どなたかご教授いただけますでしょうか? ********* (1) グループ化で特定のレコードを除外して表示 レポート名:レポート2 / レコードソース:テーブルI 使用するフィールド:依頼者ID、曜日、項目名 --- 曜日 ヘッダー ---   [曜日] --- 項目名 ヘッダー ---   ★[項目名]       <[項目名]A-Dの各件数> =Count([項目名])  --- レポート フッター ---   E             <[項目名]がEの件数> =Sum(IIf([項目名]="E",1,0))   ひと月の項目名と件数を下方向に並べます。 この時、項目名A,B,C,Dがあり、Eを除外して表示したいです。 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ また、そのレポート内の下部で、グループ化せずにEの集計も行いたいのです。 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ … ★の式を、=iif([項目名]<>"E",null ,[項目名]) としたら循環参照となってしまいます。 … テーブルIから作ったA-DおよびEのみの選択クエリ、またはテーブルIとEのみの選択クエリに分けて、レコードソースに追加し、参照先を分けようとしましたが、「指定されたフィールド '[項目名]' が SQLステートメントのfrom句にある複数のテーブルを参照しました」とエラーが出ます。 ********* (2) 実人数のカウント レポート名:レポート2 / レコードソース:テーブルI 使用するフィールド:担当者名、依頼者名、会員、項目名 --- レポート ヘッダー --- <「項目名」A-Dの総件数>  =Count([担当者])-Sum(IIf([項目名]="E",1,0)) ★<「項目名」A-Dの依頼者実人数>  <A-Dで「会員」フィールドが null の総件数>  =Sum(IIf([依頼者名]<>"" And [会員]="",1,0))-Sum(IIf([項目名]="E" And [会員]="",1,0)) ★<A-Dで「会員」フィールドが null の依頼者実人数> <A-Dで「会員」フィールドが 1 の総件数>  =Sum(IIf([依頼者名]<>"" And [会員]="1",1,0))-Sum(IIf([項目名]="E" And [会員]="1",1,0)) ★<A-Dで「会員」フィールドが 1 の総件数> ひと月の項目名をフィールド「会員」で分けて集計します。 実人数はクロス集計クエリを参照して、手入力すれば解決しますが、できれば自動的に行いたいです。 ********* (3) グループ内での任意の並べ替え レポート名:レポート2 / レコードソース:テーブルI / 使用するフィールド:担当者名、依頼者名、会員 --- 担当者 ヘッダー --- <A-Dでの担当者>  ★[担当者]           --- 依頼者名 ヘッダー --- --- 項目名 ヘッダー --- <A-Dでの依頼者>  [依頼者名]       [項目名]         <各依頼者、各項目名の件数> --- 担当者 フッター ---  <担当者ごとの総件数> =Count([担当者])-Sum(IIf([項目名]="E",1,0)) レポート1の問題を踏まえ、一応、項目名Eを除外して集計しています(現時点で未解決) ここでは、担当者の並び替えを任意に行いたいです。 昇順や降順ではなく、例えばあ・い・う・え・おを、い・う・あ・お・えのように並べたいのです。

専門家に質問してみよう