データと集計するシートは別々に作り、データが入力されているシートは「データ」、集計表は「集計」というシート名にしました。
1.「データ」シート

2.「集計」シート 仕入価格表

3.「集計」シート 等級別集計表(数量、価格、金額欄は二つのセルを結合をしています。)

上図の「氏名」と「品種」の欄にそれぞれ入力すると、条件を満たす数量を「データ」シートからDSUM関数で集計し、価格をVLOOKUP関数で表示し、さらに数量および金額の計算もします。
数量の集計から行います。
DSUM関数の引数です。
DSUM(①データベース範囲,②フィールド,③条件範囲)
まずは等級別集計表の等級「優」の20玉から集計します。

ここで考えなければならないのは、③の条件範囲です。
条件は「氏名」「品種」「等級」になります。
「氏名」と「品種」は固定されますので1行の条件で済みます。しかし、等級は「優」「秀」「良」と3つに変化します。
変化する条件を含む場合は変化分の条件を用意する必要があります。
したがって、下図のように「優」「秀」「良」の3つ分の条件範囲を集計表の下に用意しました。

それぞれの等級に合わせて、条件範囲を変えればいいわけです。
ただ、「氏名」と「品種」が変わるたび3つとも修正するのを避けるため、集計表の上「氏名」と「品種」に入力したら条件の「氏名」「品種」が自動で変化するようにしましょう。
条件1の「氏名」のセル「A26」を選択し、「=」まで入力し、図のように集計表の「氏名」のセル「A9」をクリックします。(絶対参照にしましょう。)

同じく品種の欄も設定します。

残りの条件2と条件3にコピーします。

それでは今回集計に使う「青森太郎」さんの「つがる」をセル「A9」と「B9」にそれぞれ入力してみましょう。

条件の欄すべてに反映されました。
複雑な条件でも一気に解決しようとせず、何段階かに分けて考えると大抵解決できます。
DSUM関数で集計表~数量集計へつづく
0 件のコメント:
コメントを投稿