- ベストアンサー
多数の商品の検査結果の平均値を求める方法
- MS-EXCELを使って、多数の商品について複数回の検査結果の平均値を計算する方法について説明します。
- 複数の商品の検査結果を個別にランク付けし、2回目以降の検査結果の平均値を計算するためには、MS-EXCELの関数を活用することができます。
- DSUM関数やDAVERAGE関数を用いて、特定の日付以前の複数の商品の検査結果のランク平均値を計算することができます。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。 とりあえず、以下のようなものを考えてみました(A~C列および1行目がデータ入力部分、D2以降が計算結果)。 A B C D E F ・・・ 1 検査日 商品 ランク | a b c 2 4/1 a 5 | - - - 3 4/2 b 2 | - - - 4 4/3 c 3 | - - - 5 4/3 a 5 | 5 - - 6 4/4 c 1 | 5 - 1 7 4/6 a 3 | 4 - 1 8 4/9 a 1 | 3 - 1 : : ※検査日順に並べ替えておく必要があります。 D2のセルに以下の数式を入力します。 =(SUMIF($B$2:$B2,D$1,$C$2:$C2) -VLOOKUP(D$1,$B$2:$C2,2,FALSE)) /(COUNTIF($B$2:$B2,D$1)-1) これを縦横にコピーします。 まずSUMIF関数で、そのセル(の検査日)までの、1行目に入力した商品名のランクの合計を求めます。次にVLOOKUP関数で、その商品名の1回目のランクを求めます。最後にCOUNTIF関数で、そのセルまでの検査回数を求めます。あとは、合計から1回目を引いたものを検査回数-1で割れば、そのセルまでの2回目以降のランクの平均値が求められます。 ただしこの数式は、検査回数0回のときエラー値#N/Aを、1回のときエラー値#DIV/0!を返します。 一応目的は達成できたとは思いますが・・・。勘違いしている、うまくいかない、もっとこうしてほしい等ありましたら補足してください。
お礼
cafe_au_laitさん。早速の答え大変ありがとうございました。 確かに、ご提示いただきました数式で、求めていた数値が出てきます!! 有り難うございます。 可能ならば、D,E,F…の列がD列1つにまとまればなお良いのですが。というのも、商品(a,b,c,..)の数を3000くらいと想定していますので。--このD列1つにまとまられるかどうかの点は、自分で試してみます。もしできるようなら、「補足」に記したいと思います。
補足
cafe_au_laitさん。 ご提示のあった表で、D2に =IF(COUNTIF($B$2:$B2,B2)=1,"",(SUMIF($B$2:$B2,B2,$C$2:$C2)-VLOOKUP(B2,$B$2:$C2,2,FALSE))/(COUNTIF($B$2:$B2,B2)-1)) とする(そしてこれをD3以下にコピーする)数式が求めていたものです。 私の最終的な目標は、商品を複数回検査したことによる期間比較をしてその傾向を調べることでした。 有り難うございました。