• ベストアンサー

条件に合うデーターを任意のセル間で累計、合計するには?2

 下記のような出荷予定表があります。非常に細かく数量、モデルは分かれておりますが、対応コードはNT-233,236,334の3つなんですが(対象外の時もあり、空白が該当)この中で、対応コードの横列に各対応コード毎にまとめ、切替わる地点間の合計を出したいのですが、どうすればよいでしょうか?  式をフィルドラッグで出したいのです。  IF,SUMIF関数を使うのは分かっていますが、対応コードが連続した間毎の累計合計を出すと言う条件設定、セル指定が理解記述できません。どなたかアドバイスお願いします。    A     B    C       D 出荷モデル 数 量 対応コード   コード条件連続時累計合計 PW-Z7  40   NT-233 PW-71  60   NT-233  100と表示したい PW-63  80   NT-236 PW-Z5  20   NT-236 PW-50  30   NT-236 PW-Z4  40   NT-236 PW-40  50   NT-236  220と表示したい PW-36  60 PW-Z4  50   NT-236 PW-40  150  NT-233 PW-40  40   NT-236 PW-28  70 PW-28 180 PW-Z2 450 PW-Z2 440   NT-334 PW-25  70   NT-334 PW-25  75   NT-334 PW-22  60   NT-334 PW-22 160   NT-334 PW-Z2 185   NT-334   985と表示したい PW-EZ  30   NT-236 PW-EZ  50   NT-236    80と表示したい PW-EZ  20 PW-EZ 100 PW-EZ  80   NT-334 PW-EZ  50   NT-334   130と表示したい

質問者が選んだベストアンサー

  • ベストアンサー
noname#40742
noname#40742
回答No.2

再びNo.1 です。 =IF(AND(C2<>"",C2<>C3),SUMIF($C$2:C2,C2,$B$2:B2)-SUMIF($C$1:C1,C2,$D$1:D1),"") 前半のSUMIF は、同一コードの累計、 後半のSUMIF は、同一コードの既出累計(D列)の合計、 その差を求めることで、その行まで連続している累計をだしています。 最初の行からの累計しかでないとなると、後半のSUMIF が生きていないようです。 こちらではフィルドラッグして正しく反映しています。

superfighter823
質問者

お礼

重ね重ねの回答有難うございました。 もう一度、慎重に入力した結果、正確に値を出せました。D2セルに入れる式をD1セルに入れていたからおかしくなっていたと思います。  有難うございました。

その他の回答 (2)

noname#204879
noname#204879
回答No.3

原始的な方法ですが… 1.セル E2、F2、G2、D2 にそれぞれ次式を入力   E2: =IF(C2="","",C2<>C3)   F2: =IF(C2="","",C2<>C1)   G2: =IF(E2=FALSE,IF(F2=TRUE,1,G1+1),IF(F2=FALSE,G1+1,""))   D2: =IF(C2="","",IF(AND(E2,NOT(F2)),SUM(OFFSET(B2,-G2+1,0,G2,1)),"")) 2.範囲 D2:G2 を下方にズズーッと複写

superfighter823
質問者

お礼

 回答有難うございます。NO.1の方のアドバイスで何とかできましたが、mike_gさんの回答方式でも再現できました。  私はオフセット、アドレス等の関数は苦手であまり使いませんが、基本を覚える意味では大いに参考になりました。  有難うございました。

noname#40742
noname#40742
回答No.1

連続しない行(たとえば「220と表示したい」行の下2行目から4行目までの 単独行)も数字表示してよければ、 D2:=IF(AND(C2<>"",C2<>C3),SUMIF($C$2:C2,C2,$B$2:B2)-SUMIF($C$1:C1,C2,$D$1:D1),"")

superfighter823
質問者

補足

ご回答有難うございます。早速実行してみましたが、私のやり方が悪いせいもあるのか、先頭行からの累計が表示されてしまいます。  説明不足で申し訳ありませんが、スタート行からの累計ではなく、同じ対応コードが連続する範囲のみ、その区間だけの合計をフィルドラッグで出さればいいなーと思っているのですが。  スキルが低くて申し訳ありません。教えいただいた数式で後半の)-SUMIF($C$1:C1,C2,$D$1:D1)の部分が今一、理解できてないようです。  もう一度、試してみます。すみません。

関連するQ&A

専門家に質問してみよう