[[20110629220208]] 『条件ごとで違う計算をさせたいのです』(初心者 ぴの) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『条件ごとで違う計算をさせたいのです』(初心者 ぴの)
Excel2003です。このところ頭を抱えています。ぜひ教えてください。

商品ごとに価格の平均値をC列に入力したいのですが、こんな式はできるのでしょうか?

 例えば「婦人A」の金額が4件以上入っているので婦人Aの平均価格を出してCに入力。
 他の商品は単独で4件未満なので残りの平均値が入っていない「服」の平均値をCに入力。
 くつはどちらの条件にも当てはまらないので別のシートを参照して平均価格を入力

    A       B    C平均
 1 婦人A(服)   20    25
 2 婦人A(服)   30    25
 3 婦人A(服)   20    25 
 4 子どもA(服)       19
 5 子ども(服)   30    19 
 6 婦人A(服)   30    25
 7 婦人B(服)   10    19
 8 婦人B(服)   15    19
 9 紳士A(服)   20    19
 10 子どもB(服)  20    19
 11 くつA(くつ)  10    別シートを参照した価格
 12 くつA(くつ)  20    別シートを参照した価格

 まず「服」とそうでない区別を A列から判定する手段が必要に見えます。
 4件以上なく、「服」ではないものは必ず参照シート先にあるのでしょうか。

 いくつ条件が重なっても、基本は IF(条件,真の式,偽の式) の組み合わせですが
 4件以上ない、「服」、という部分をまとめるためには作業列が必要だと思います。
 (Mook)


 >くつはどちらの条件にも当てはまらないので 

 くつAは単独で2件、だから、「単独で4件未満」という条件に当てはまっているけど ??

 ぶらっと立ち寄り

Mookさん、ぶらっと立ち寄りさん、ありがとうございます。

説明が下手ですみません。

4件以上ない分類(くつ、バック、ぼうしなど)の平均数値は別参照シートに作成します。まだ他にも多くの商品と分類があります。個別に平均価格が出ないもの(1商品で4件未満は分類の平均価格)を入力する。分類でも4件未満のものは別参照シートより数値をひらってくるとしたいのです。

服は分類で間違いでした。すみません  服× → 婦人B

婦人A=4件あるので平均価格をCに入力

子どもAB、紳士A、婦人Bは単独で4件無いが分類の服では4件あるので、6件の平均価格を入力

くつAは単独で2件、分類の「くつ」でも4件未満なので別参照シートから数値をひらう。

としたいのです。

IF関数ですが、「4件以上ある」or「4件未満」でさらに分類も「4件以上or4件未満」と判定するような式はどのような式を使えば良いのでしょうか?

作業列やシートを別に使用する方法でも良いですので、アドバイスをいただけたら助かります。あまり詳しくないので関数をぜひ教えてください。

よろしくお願いします。

(初心者 ぴの)


 作業列を二列使用します。
 >別シートを参照した価格
 と言う事ですが、式が長く成るのでまずは
 この表が同じシートに有ると想定して作製して居ます。
 使える様であれば、この範囲を切り取って 別シートに貼り付けて貰うと
 式が勝手にそのシートを参照してくれる様に成ると思います。

 また、数式内の範囲は20行までとして有ります。
 実際はもっと範囲が広いと思いますので、適宜変更して下さい。

 まずはサンプルから。。。
	[A]	[B]	[C]	[D]	[E]	[F]	[G]	[H]	[I]
[1]	分類	商品	金額	平均	商品件数	分類件数		分類	価格
[2]	服	婦人A	20	25	4			服	50
[3]	服	婦人A	30	25	4			くつ	30
[4]	服	婦人A	20	25	4				
[5]	服	子どもA	19	19	1	6			
[6]	服	子ども	30	19	1	6			
[7]	服	婦人A	30	25	4				
[8]	服	婦人B	10	19	2	6			
[9]	服	婦人B	15	19	2	6			
[10]	服	紳士A	20	19	1	6			
[11]	服	子どもB	20	19	1	6			
[12]	くつ	くつA	10	30	2	2			
[13]	くつ	くつA	20	30	2	2			
 E,F列が作業列、H,I列が「別シートの価格表」です。

 D2  ↓途中で改行して有りますが、2行で一つの式です。
=IF(E2="","",IF(F2<4,VLOOKUP(A2,$H$1:$I$20,2,FALSE),IF(E2<4,
SUMPRODUCT(($A$1:$A$20=A2)*($E$1:$E$20<4),$C$1:$C$20)/F2,SUMIF($B$1:$B$20,B2,$C$1:$C$20)/E2)))
 E2
=IF(C2="","",COUNTIF($B$1:$B$20,B2))
 F2
=IF(E2="","",IF(E2<4,SUMPRODUCT(($A$1:$A$20=A2)*($E$1:$E$20<4)),""))

 E列で、COUNTIF関数を使って 商品毎の件数を求めます。
 F列で、商品毎の件数が4件未満だった物に関して、
        SUMPRODUCT関数と使って分類毎の件数を求めます。
 COUNTIF関数と、SUMPRODUCT関数に付いてはこちらをご覧下さい。
http://www.excel.studio-kazu.jp/mag2/backnumber/mm20040824.html
   エクセルマイスター「countifで複数条件」

 D列で、まず 分類件数も4未満の物は VLOOKUP関数で別表から価格を参照します。
http://www.excel.studio-kazu.jp/lib/e1tw/e1tw.html
   ライブラリ「VLOOKUP」
http://www.excel.studio-kazu.jp/mag2/backnumber/mm20040921.html
   エクセルマイスター「VLOOKUP」
 平均は、合計/件数 ですが、件数はE,F列で求められているので
 合計の方を、SUMIF関数やSUMPRODUCT関数を使って求めます。
http://www.excel.studio-kazu.jp/lib/e3h/e3h.html
   ライブラリ「SUMIFとSUMPRODUCT」

 (HANA) 

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.