[[20160308135953]] 『Sumifの合計範囲(列)を可変にしたい』(ここあ) ページの最後に飛ぶ

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

 

『Sumifの合計範囲(列)を可変にしたい』(ここあ)

元となる表があります。
A列に商品、1行目(項目)にはBCDEF列・・・と店舗名があります。
これを店舗別のシートで商品別の集計をかけたいのですが、毎回元データのBCDEF・・の店舗の順番が変わります。
これをどのように集計すればよいでしょうか。

元データ(Sheet1)

	aa	bb	cc	dd	ee
あ	1		1	4	
い	1		1	1	2
う	1		1	1	1
え	1	2		1	
お	1			2	1
い	1	5	1	1	
え	1			1	3
あ	1		1		
え	3	1	1		1
お	1	1			1
う	1	1		1	1

各店舗別シート

	aa
あ	※計算式
い	
う	
え	
お	

各店舗別シートの※計算式には以下の計算式を入れました。
=IFERROR(SUMIF(元データ!$A$1:$A$11,$B1,OFFSET(元データ!$A$1:$A$11,,MATCH($B$1,元データ!$B$1:$F$1,0))),"")

しかしながら、数値が正しく表示されません。
アドバイスをいただけると助かります。
よろしくお願いいたします。

< 使用 Excel:Excel2013、使用 OS:Windows7 >


 セル位置がよくわからないけど、SUMIFの検索値は「A2」では?

 =SUMIF(Sheet1!$A$2:$A$12,$A2,OFFSET(Sheet1!$A$2:$A$12,,MATCH($B$1,Sheet1!$B$1:$F$1,0)))

 または

 =SUMIF(Sheet1!$A$2:$A$12,$A2,INDEX(Sheet1!$B$2:$F$12,,MATCH($B$1,Sheet1!$B$1:$F$1,0)))

 こんな感じ?
 
 
 追記)
 $A2 → A2 でオッケー

 下にコピーするだけですよね?
(笑) 2016/03/08(火) 14:34

 =SUMPRODUCT((Sheet1!$A$2:$A$12=$A2)*(Sheet1!$B$1:$F$1=B$1)*Sheet1!$B$2:$F$12)
 こんなのでも。
(ねむねむ) 2016/03/08(火) 14:52

(笑)さん、わかりづらい質問に答えていただき、ありがとうございます。

はい。下にコピーするだけです。

両方当てはめてみましたが、OFFSETを使用した計算式では正しい数値が得られませんでした。(本来6のところ5が返ります)
なぜなのかどうしてもわかりません。

しかし、教えていただいたINDEXを当てはめたところ、正しい数値が返りました。

こちらを使用させていただきます。
この数式をみて勉強します。

(ねむねむ)さんも、ありがとうございます。
なるほど!!!sumproductでもできるのですね!勉強になります。
試してみます。
(ここあ) 2016/03/08(火) 14:56


 > 本来6のところ5が返ります

 ↑ どの条件の場合ですか?

 OFFSET と INDEX、両方同じ結果になりますけどね?

 こっちでは。
(笑) 2016/03/08(火) 15:38

(笑)さん、

本来6のところ5が返ります は、OFFSETの場合でした。
INDEXの場合でも、同様のことがおきたのですが
SUMIFの検索値をA1にしたら、正しい数値が返りました。

試行錯誤しましたが結局できました。
もう少し勉強がんばります。
(笑)さん、(ねむねむ)さん、ありがとうございました。
(ここあ) 2016/03/09(水) 13:52


コメント返信:

[ 一覧(最新更新順) ]


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