• ベストアンサー

エクセルでこんな計算できますか?変則的です。

 朝からずっと考えているのですが、答えを見出せず、行き詰まっているので質問致しました。     A   B   C     D    E    F    G      1部品 タイヤ ハンドル シート タイヤ ハンドル シート  2車種 ムーヴ タント  エッセ ムーヴ タント  エッセ   3数量  30  30    30  100  100  100  4品番  T1  H1    S1   T3   H1   S3  5累計  30            100  6累計      30             130  7累計            30             100  8 ↓  このような配列で5行目にタイヤの累計、6行目にハンドル累計、7行目にシートの累計があり、ムーヴ~タント~エッセという車種の並びはこの並びで続いているのですが、車種の並び方が不変でも、タイヤ、ハンドル、シートはそれぞれの車種に複数存在し、(1~5それぞれタイプあり)品番ごとに累計をして行きたいのですが、部品セルが離れ離れになっているため、上手く累計していけません。  ※タイヤならT1が連続するならそれまでの累計を、T3に変わった位置から新たに累計をしたいのです。  タイヤならタイヤ品番が表記されているセル、行のみ累計し、その他の項目(ハンドル、シート)のセルは空白としたいのです。  IF関数にSUMIF関数をネストしてやっていますが、それぞれの部品はタイプ別に複数あるため、単純なSUMIF関数では答えが出ません。  説明が分かりにくいと思いますが、分かる方、教えていただけませんか?

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

  • ベストアンサー
  • eco_kichi
  • ベストアンサー率100% (1/1)
回答No.3

以下の条件で作成するとこうなります。 ・3行に分けてタイヤとハンドルとシートを集計しなければならない。 ・C6の30は必要ない気がするが、これも表示しなければならない。 B5には =SUM(IF(($B$4:B$4=B$4)*($B$1:B$1="タイヤ"),$B$3:B$3)) B6には =SUM(IF(($B$4:B$4=B$4)*($B$1:B$1="ハンドル"),$B$3:B$3)) B7には =SUM(IF(($B$4:B$4=B$4)*($B$1:B$1="シート"),$B$3:B$3)) を入力し、決定するときにEnterだけでなく、 ShiftとCtrlを両方押しながらEnterを押してください。 (セルを選択したときの数式バーには{}で囲まれた式が表示されればOKです) 後はB5~B7をコピーして横に貼り付けていくだけです。 (値が無いセルは0が表示されます。  0表示が必要ない場合は  ツール -> オプション -> 表示  からゼロ値のチェックをはずしてください) ------------------------------------------------------- 仮に、3行に分けて集計する必要がないなら B5には =SUM(IF($B$4:B$4=B$4,$B$3:B$3)) を入力し、決定するときにEnterだけでなく、 ShiftとCtrlを両方押しながらEnterを押してください。 後はB5をコピーして横に貼り付けていくだけです。 (セルを選択したときの数式バーには{}で囲まれた式が表示されればOKです)

その他の回答 (2)

noname#79209
noname#79209
回答No.2

ご要望がイマイチ掴めないのですが... 累計が欲しいと言っておられますが、結局のところ、商品別の合計値が知りたいのでしょうか? 例えば、各車種用にタイヤの組み合わせがあるが、 ★ムーブ用のブリジストン165/60-13=30セット □ムーブ用のブリジストン175/50-14=100セット ★タント用のブリジストン165/60-13=80セット ○タント用のヨコハマ  165/60-13=40セット ★エッセ用のブリジストン165/60-13=50セット □エッセ用のブリジストン175/50-14=70セット という設定があったとき、 (車種とタイヤサイズが適合するかどうかは、いい加減ですよ) ★ブリジストン165/60-13=30+80+50=160セット □ブリジストン175/50-14=100+70=170セット ○ヨコハマ  165/60-13=40セット を算出したいということでしょうか?

  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.1

お試しください。 B5=SUMPRODUCT(($B$1:B$1="タイヤ")*($B$2:B$2=B$2)*($B$4:B$4=B$4)*($B$3:B$3)) B6=SUMPRODUCT(($B$1:B$1="ハンドル")*($B$2:B$2=B$2)*($B$4:B$4=B$4)*($B$3:B$3)) B7=SUMPRODUCT(($B$1:B$1="シート")*($B$2:B$2=B$2)*($B$4:B$4=B$4)*($B$3:B$3)) 上記B5:B7を右方向に必要分コピー

superfighter823
質問者

お礼

 回答有難うございました。早速試してみます。

superfighter823
質問者

補足

有難うございました。回答を数式入力しましたが、思うような計算結果を導けませんでした。やはりIF関数の条件分けが必要みたいです。  累計されず、数量がそのまま表示されました。もう少し、考えて見ます。

関連するQ&A