- ベストアンサー
エクセルでこんな計算できますか?変則的です。
朝からずっと考えているのですが、答えを見出せず、行き詰まっているので質問致しました。 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関数では答えが出ません。 説明が分かりにくいと思いますが、分かる方、教えていただけませんか?
- みんなの回答 (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)
ご要望がイマイチ掴めないのですが... 累計が欲しいと言っておられますが、結局のところ、商品別の合計値が知りたいのでしょうか? 例えば、各車種用にタイヤの組み合わせがあるが、 ★ムーブ用のブリジストン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)
お試しください。 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を右方向に必要分コピー
お礼
回答有難うございました。早速試してみます。
補足
有難うございました。回答を数式入力しましたが、思うような計算結果を導けませんでした。やはりIF関数の条件分けが必要みたいです。 累計されず、数量がそのまま表示されました。もう少し、考えて見ます。