このページには広告が含まれる場合があります。
前回に引き続き、いつの間にかシリーズ化しているExcel入社テストの実践編第2回目です。
さて、前回少し書きましたが、今回の問題は私が一番よく使うあの関数が登場します!
条件に合う件数と合計を求める
問題のファイルを真似て作ってみました。必要な方はこちらからダウンロードしてください。
日常の仕訳が多い会社だと、経理専用ソフトウェアを使っているでしょうけれど、
経理を自分でやっていて、それも値の張るソフトウェアになんかお金をかけられない、という当サイトの運営者と合致する会社さんであれば、その内気が付くのです。
”そうだ、Excelに移行(いこう)”
と、JRのどっかのコマーシャルみたいなキャッチフレーズをつぶやいたりしながら、普段の仕訳だけでもエクセルで管理なんかを始めたりします。
そう、この問題のパターンはまさにそれです。
つまり、「勘定科目ごとに数値を合計」したいときに、あの「sumif」の登場となります。
この問題は、「名称ごとに、合計を出す」・・・、そういうことです。
そして、この関数に慣れてしまうと、他の「〇〇if系」の使い方にも慣れてしまいますから。
怖いものなしですね。
前回同様、ポイント3つを確認しておきましょう。
- 与えられている表以外のセルに何かを書き込んではいけない
- 黄色い枠以外は変更してはいけない
- 効率のいい方法で処理する
まず、「名称別件数」を求めるために、「countif」関数を使います。
「count」関数の条件指定版です。
条件範囲から、条件に合致する件数を調べるのですから、
「COUNTIF(B$5:B$19,F5)」
となります。
回答は、条件範囲をどちらも絶対参照にしていますが、問題を見るとcountif関数はこの列しか使わないので、B列には絶対参照を指定しなくても大丈夫だと思います。
さて、次の「A合計」と「B合計」は関数はそれほどでもないですが、絶対参照の指定が少し複雑ですね。
最初に「セルH5」だけ解答できれば、後は簡単です。
「セルI5」は「セルH5」からのオートフィルで求められます。
これで、「名称あ」のA合計とB合計が出ました。
最後に、この2つのセルを範囲選択して、セルI5のオートフィルで一気に12行目までドラッグしましょう。
セルH5は「SUMIF($B$5:$B$19,$F5,C$5:C$19)」
検索範囲は、求めるセルがどこであろうと変わることはないので、行も列も絶対参照になります。
検索条件は行ごとに変わる必要はありますが、「A合計」だろうが「B合計」だろうが列は固定なので、列だけ絶対参照となります。
最後の合計は、5行目から19行目までの合計範囲は変わりませんが、「A合計」と「B合計」と列ごとに変わります。
つまり、行だけが絶対参照となりますね。
「一番効率のいい方法で解答」しなければならないので、やはり複数セルのオートフィルは使いたいところです。
さて、最後にもう一度件数を数える関数ですが、
問題を写している時に
「空白セルがある・・・あっ、あの関数を使わせる気だ!」
と、気づいてしまいました。
いやらしいですね(笑)
「全体件数」は、次のように2通りで表示できます。
- セルC5からセルC19までを「count」関数で数える
- セルG5からセルG12までを「sum」関数で数える
もちろん、どちらの関数でも間違いではないんですが、
「一番効率のいい方法で解答」しなければならないので、ちょっと考える必要がありますね。
セルG15(全体件数)を求めて、それをH15(A件数)とI15(B件数)にオートフィルするのが一番効率がいいでしょう。
したがって、「count(C5:C19)」でセルG15の全体件数を求めて・・・・はダメなのですよ。
それはなぜか?
セルC15に「空白」のセルがあります。
これは、「名称か」のAに、何の取引も発生していないという意味なのでしょう。
ということは、この空白は件数としては数えてはダメだという意味ですね。
何らかの取引があれば、「名称」は必ずセルに埋まるんでしょうけれど、商品(かどうかは問題文からは不明だけど・・)Aも商品Bも取引がなければ空白になる可能性もあるということで、常に空白を除いた数を数えるようにしなければなりません。
その場合に使う関数は「counta」関数となります。
これは、範囲内の空白セルを除いた件数を数えてくれる関数です。
長くなったので、続きはまた次回