• ベストアンサー

エクセル表で直近だけの残りの数を表示させるには?

こんにちは。 添付画像をもとに説明します。 画像のように、表の最右列(残りの数)に直近の数のみ表示させるには、 どうすればできるでしょうか? 表示する数は、「入荷-出荷=種類別の残りの数」だけにできないか? 四苦八苦していましたが、断念して投稿質問することにしました。 関数、VBAの達人の方々、よろしくお願いします。

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

  • ベストアンサー
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.2

こんにちは! 一例です。 セル配置は↓の画像のようになっているとして・・・ E2セルに =IF(A2="","",IF(COUNTIF(B:B,B2)=COUNTIF(B$2:B2,B2),SUMPRODUCT((B$2:B2=B2)*(C$2:C2="入荷"),D$2:D2)-SUMPRODUCT((B$2:B2=B2)*(C$2:C2="出荷"),D$2:D2),"")) という数式を入れオートフィルで下へコピーしています。 こんな感じではどうでしょうか?m(_ _)m

AstroGuy
質問者

お礼

ありがとうございました。 シンプルで完成度高いです。 大変勉強になりました。

その他の回答 (5)

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.6

ご利用のエクセルのバージョンが不明ですが、エクセル2007以降を使って E2: =IF(COUNTIF(B:B,B2)=COUNTIF($B$2:B2,B2),SUMIFS(D:D,B:B,B2,C:C,"入荷")-SUMIFS(D:D,B:B,B2,C:C,"出荷"),"") 以下コピー といった具合に計算するのがベストです。 エクセル2003以前を使っているなら E2: =IF(COUNTIF(B:B,B2)=COUNTIF($B$2:B2,B2),SUMPRODUCT(($B$2:B2=B2)*(($C$2:C2="入荷")-($C$2:C2="出荷"))*($D$2:D2)),"") といった具合にします。

AstroGuy
質問者

お礼

ありがとうございました。 大変勉強になりました。

回答No.5

●出荷の場合は「-100」などと負数を入力する場合 =if(countif(b:b,b2)=countif(B$2:b2,b2),sumif(b:b,b2,d:d),"") ●出荷の場合も正数を入力する場合 =if(countif(b:b,b2)=countif(B$2:b2,b2),sumproduct((b:b=b2)*-1^(c:c="出荷")*d:d),"")

AstroGuy
質問者

お礼

ありがとうございました。 参考になりました。

  • aokii
  • ベストアンサー率23% (5210/22062)
回答No.4

式を簡単にするために、 残りの数の列がE列だとして、F列に以下の式を入れてみてください。 =IF(ISNA(VLOOKUP(B2,B3:B$1000,1,FALSE)),E2,"")

AstroGuy
質問者

お礼

ありがとうございました。 参考になりました。

  • kybo
  • ベストアンサー率53% (349/647)
回答No.3

A1のセルから、E列まで表があるとして、 E2のセルに以下の様に入れ、下へ数式をコピー。 =IF(COUNTIF(B$2:B2,B2)=COUNTIF(B:B,B2),SUMPRODUCT((B$2:B2=B2)*(D$2:D2)*((C$2:C2="入荷")-(C$2:C2="出荷"))),"")

AstroGuy
質問者

お礼

ありがとうございました。 大変勉強になりました。

  • shintaro-2
  • ベストアンサー率36% (2266/6245)
回答No.1

作業列をf列とし、そこに入荷の場合はそのままの数値、出荷の場合はマイナスの数値で入力し 後は、sumif関数を使って 在庫表示させたい列の5行目に =sumif(A$1:A5,a5,f$2:f5) とすればOKなはず

参考URL:
http://pc.nikkeibp.co.jp/pc21/tech/excel36/03/
AstroGuy
質問者

お礼

ありがとうございました。 参考になりました。

関連するQ&A