【Excel2003】複数の条件を満たすデータの合計を求めるには?【SUMとIF関数】
外貨MMFの管理をしようと思って、Excel2003で単純な表を作ったのだけれど、どうせなら集計したくなり、SUMIF関数を使おうとしたら、SUMIF関数って、複数の条件を指定できないのね。
やりたかったのは、こういうこと↓。
つまり、一定の範囲(表)の中で、同一行のあるセルに“野村”(野村証券)と“ ”(ブランク=売却ではない)という数字(豪ドルの利金)だけ集計したかったわけです。
で、手持ちのExcel逆引き辞典を調べてみたところ、SUM関数とIF関数という分かりやすい関数でできることが判明。このような表の場合、DSUM関数は使えないということも分かりました。
で、どうやるのかというと、「配列数式」というのを使うのですね。
上の表は複雑なので、簡単な表で説明します。
上の図でポイントしているセル(F4)の式は『B3-B14の範囲に“A”という文字列があって、且つ、C3-C14の範囲に“ワイン”という文字列がある場合、その行の数量(D3-D14)を集計せよ』という内容です。
つまり、やりたいことは「A社から仕入れたワインの数量を合計したい」です。
F4に記入してある数式は、
文字列: =SUM(IF(B3:B14="A",IF(C3:C14="ワイン",D3:D14,0)))
です。でも、
のように見えますよね。両端の中カッコ({ })は手で入力したものではありません。「=SUM 」から始まる数式を入力して、最後にEnterではなくて、Ctrl+Shift+Enter (Macなら「リンゴマーク」+Return だそうです。Macは知らないので「リンゴマーク」と書きましたが、ロゴの付いたキー。)で確定すると、このように表示されます。
中カッコ付きの数式は「配列数式」と呼ぶそうですが、式を変更する場合も、必ずCtrl+Shift+Enterで確定する必要があります。
上の例は、Excelの逆引き辞典に載っているものを更に単純に書いたのですが、Excelを使う場合、文字や数字を入力したり、罫線が引ける、関数(というものがあることを)知っている、という程度の最低限の知識があれば、逆引き辞典のようなマニュアルを手元に置いておくと便利です。
(独習書の類は買うだけ無駄、とまでは言わないけれど...。まぁ、最初に目標物=できあがり図が提示してあって、それを作りながら学ぶというタイプがあるかどうか分からないけど、こういうのなら買う価値があるかもしれませんが、独習書を買ってマスターできた人を見たことがないです。 )
ブログ主はOffice2003(つまり、Excel2003)を使っているので、対象となる本は下に貼った(ブログ主のブクログから貼りました)ハンドブック(Excel2000以下にも対応)なのですが、他のバージョンなら、同様の本が書店に行けばあると思います。
EXCELを使用していて、「こういうことをやりたいのだけれど、どうやるの?」という時に使う逆引き辞典。
Office2003をいまだに使用しているので、手放せません。
章立てが、1.入力、2.編集、3.書式、4.印刷、5.計算、6.関数、7.グラフ、8.データベース、9.ファイル、10.応用機能、11.環境設定・その他
となっていて、目次も「セル内で改行したい」のような質問形式なので分かりやすく、初級者から使える本だと思う。
コメント