海外旅行から帰ってきたら、まず何を食べる?

添付図のように全品調査表の判定結果から品名別に良・不良の件数を集計したいです。
まずは、使用する関数名または参考URLを教えてください。
それを勉強して、具体的に操作してわからないことは別件で質問したいと思います。

実際の集計条件は
全品個数=   約 1,000個
品名数=    約 300個
品名毎の個数= 不特定1~10
集計表の表示位置は、計算過程の作業領域が必要なら、別の位置またはシートでOK

「エクセル2007でマクロを使わずに集計す」の質問画像

A 回答 (4件)

F3セルには次の式を入力しF3セルまでオートフィルドラッグしたのちに下方にもオートフィルドラッグします。



=IF($E3="","",SUMPRODUCT(($B$3:$B$1500=$E3)*($C$3:$C$1500=F$2)))
    • good
    • 0
この回答へのお礼

早い回答ありがとうございました
教えていただいた式で完璧でした
SUMPRODUCT関数は奥が深そうなので、これを機に一層勉強させていただきます。

お礼日時:2011/08/29 19:58

回答No1です。


先の式ではデータ多くなると計算に負担がかかります。負担もかからずに分かり易い方法は作業列を作って対応することです。
例えばD3セルには次の式を入力して下方にオートフィルドラッグします。

=B3&C3

その後にF3セルには次の式を入力しG3セルにオートフィルドラッグしたのちに下方にもオートフィルドラッグします。

=IF($E3="","",COUNTIF($D:$D,$E3&F$2))
    • good
    • 0
この回答へのお礼

更に簡潔な式でのご回答ありがとうございます。
とりあえずは、No1回答をマスターしてから、この式を勉強することにいたします。

お礼日時:2011/08/29 20:07

回答1,2です。


品名数も多いので品名も自動で表示させるとすればお示しの表がシート1に有るとして作業列をD及びE列に設けます。
D3セルには次の式を入力して下方にオートフィルドラッグします。

=IF(COUNTIF(B$3:B3,B3)=1,MAX(D$2:D2)+1,"")

E3セルには次の式を入力して下方にオートフィルドラッグします。

=B3&C3

お求めの表をシート2に表示させるとしてA1セルに品名などと入力してから、A2セルには次の式を入力して下方にオートフィルドラッグします。

=IF(COUNTIF(Sheet1!$D:$D,ROW(A1))=0,"",INDEX(Sheet1!$B:$B,MATCH(ROW(A1),Sheet1!$D:$D,0)))

B1セルには良、C1セルには不良と入力します。

B2セルには次の式を入力してC2セルまでオートフィルドラッグしたのちに下方にもオートフィルドラッグします。

=IF($A2="","",COUNTIF(Sheet1!$E:$E,$A2&B$1))

これでどんなに品名などを含めたデータが多くなっても速やかに計算表示されます。
    • good
    • 0
この回答へのお礼

重ね重ねご回答ありがとうございます。
順次参考にさせていただきます。

お礼日時:2011/08/29 20:10

countifs関数を使えばいけます。



例を参考にすると以下の様になります。

集計表Aの良を集計するF3セルは
=COUNTIFS(B3:B9,E3,C3:C9,F2)

B3:B9は品名の範囲、カンマの後のC3は品名の範囲で指定する名前、
同じくC3:C9は評価の範囲、カンマの後のF2は評価の範囲で指定する名前となります。

集計表のAの不良を集計するG3セルについては
=COUNTIFS(B3:B9,E3,C3:C9,G2)
となります。

ただこれだと全品調査表と集計表が同じ位置にあるため、コピー&ペーストで式を移すと
範囲にズレが出るので、その辺の調整は必要になるかと思います。
    • good
    • 0
この回答へのお礼

具体的な解説をしていただきありがとうございます。
お礼が間に合わないほど多数かいとういただき、感謝いっぱいです。
参考にさせていただきます。
全部をベストアンサーにしたいですが、できませんので
先着順とします、ご了承ください。

お礼日時:2011/08/29 20:15

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!