- ベストアンサー
エクセル集計でビットの立っているものだけを集計したい!
エクセルで物品費の集計表がこういった形であります。 (日付)(物品名)(受払有無)(物品費) 2/1 A 1 ¥500 2/10 A ¥1000 2/27 A 1 ¥2000 と連日データ打ち込みをした表Aがあり、下段に集計欄(表B)があります。それで 1.「受払有無」に「1」が立っている 2.表Aと表Bの「物品名」が一致しているもの の集計を取り出したいのですが、sumifですると「受払有無」の「1」も「ブランク」も含まれた物品費の合計が出てきてしまうのです。 (物品名)(合計) A \2500 といった具合に出したいのですが・・・かなり説明不足かもしれませんが、知恵を貸してください。よろしくお願いいたします。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
物品名の範囲に、AやBやCといろいろな品名が混じっていて、その中から物品名がAで受払有無が1のものを集計したいなら、 =SUM((物品名の範囲="A")*(受払有無の範囲)*(物品費の範囲)) (例) =SUM((B2:B100="A")*(C2:C100)*(D2:D100)) でどうでしょう。ただし、これは配列数式なので、式の入力後にShift+Ctrl+Enterを押す必要があります。
その他の回答 (4)
- kimino_naha
- ベストアンサー率33% (26/78)
SUMIF関数をそのまま利用する(作業列が必要ですが…) せっかく受払の有無欄に"1"が立っているのですから、作業列=受払有無×物品費としてから、SUMIFで作業列を合計する、という方法はいかがでしょうか。
お礼
短時間でたくさんの回答ありがとうございます。作業列を入れることも考えたのですが、提出せねばならないため、断念しました。今まで「集計=足し算」という頭があったため、「受払有無×物品費」という発想が思いつきませんでした。関数の本で「sumproduct」という関数を見つけたのですが、この関数と近い感じかもしれません。今後もエクセル関数ではかなり手こずると思いますので、参考にします。本当にありがとうございました<(_ _)>
- shkwta
- ベストアンサー率52% (966/1825)
表の構成がよくわからないのですが、SUMPRODUCTを使うとできるかもしれません。 =SUMPRODUCT(受払有無の範囲, 物品費の範囲) ※SUMPRODUCTは、両方の範囲で対応するセルの値を乗算し、その和を求める関数です。
お礼
短時間でたくさんの回答ありがとうございます。関数の本で「sumproduct」を見ましたが、イマイチわけがわかりませんでした。shkwta様の説明でようやくわかりました。それを使ってみたのですが、物品名がAのほかにもBとかCとか混在していてウマくできませんでした。今後何かに使えると思うので、「sum関数」を極めてみようかと思います。ありがとうございました!
- matsu_jun
- ベストアンサー率55% (146/265)
作業列を利用してもよいなら簡単にできます。 今、A列に日付、B列に物品名、C列に受払有無、D列に物品費 が入力されているとして、 セルE2に「=B2&C2」と入力して、下までドラッグします。 すると、wagako様の例だと、2/1の分(セルE2)と2/27の分(セルE4)に「A1」と入り、 2/10の分(セルE3)には「A」とだけ入るはずです。 表Bについて、A列に物品名、B列に合計が記入されており、 表Aが仮に10行目までで終わっており、表Bが11行目から始まっているとします。 セルA11にある物品名が書かれていたとき、セルB11に 「=SUMIF(E2:E10,A11&1,D2:D10)」 と入力してやれば、表Aの物品名が「A」で、受払有無が「1」の行の物品費だけを 合計します。 最後に列Eを非表示にすればOKです。
お礼
短時間でたくさんの回答ありがとうございます。作業列を入れることも考えたのですが、提出せねばならないため、断念しました。文字を結合させたものを別セルに置いてそれを集計するという方法もあるのですね。本当関数は奥深いです。ありがとうございました!!
- son123
- ベストアンサー率23% (17/72)
表題の行をドラッグして、「データ」「フィルタ」「オートフィルタ」をすると△がつきます。Aの入力された列(A・B・C・D・E・・・)と1が入力された列の三角をクリックすると、指定したものだけが表示されSAM関数などで集計するとできますよ。
お礼
短時間にたくさんの回答ありがとうございます。検算用にオートフィルタを使って集計します。ありがとうございました!
お礼
短時間でたくさんの回答ありがとうございます。この方法でしたらキレイにできました!ただ「配列数式」の意味が全然わかりません。用語集で勉強します。助かりました!ありがとうございました<(_ _)>