前回の#007では、SUMIFSで「複数条件の合計」を扱いました。今日はその双子のような関数、COUNTIFSの話です。ただし今回、本題より与太話の方が長くなった自覚があります。先にお詫びしておきます。
正の字で、心が折れかけた話
先日実施したクーポン施策の効果を確認しようと、注文一覧を開きました。「クーポン利用あり、かつリピーター」の人数を、正の字を書きながら数えていく、あの原始的な作業です。
AI:
「条件2つの正の字なら、5分もあれば余裕です!」
ディレクター:
「……いや、無理です。1時間かかって、しかも2回数え直しました。」
AI:
「またその『余裕です』を信じてしまいました、僕が悪いです。」
ディレクター:
「自分で言えるようになったの、成長ですね。」
数えた結果、AIが戦略家になり始めた
1時間かけて出した結果は、「クーポン利用あり×リピーター」が42人。全体の注文が300件だったので、比率としては14%です。この数字を見せた瞬間、AIの様子が変わりました。
AI:
「42人ですか。ということは、クーポンを全顧客に配れば、単純計算で7倍の296人に届きますね!売上も7倍じゃないですか?」
ディレクター:
「……いや、無理です。」
AI:
「数字はちゃんと出したのに、また却下ですか。」
ディレクター:
「今の42人は『元々リピートしてくれる、熱量の高い人』だけを対象にクーポンを配った結果です。新規のお客さんに同じクーポンを配っても、同じ反応率になる保証はどこにもありません。」
AI:
「なるほど……好きな人にだけ告白が成功しやすいのと、初対面の人全員に告白して回るのは、違う話ってことですね。」
ディレクター:
「……たとえは正直微妙ですが、言いたいことは合ってます。」
「じゃあ、この42人だけに絞ればいい」も、実は早計
AI:
「分かりました。じゃあ逆に、この42人のような『リピーター』だけに絞ってクーポンを配れば、効率が良いってことですね!」
ディレクター:
「一見正しそうですが、これも危険な仮説です。リピーターは、クーポンがなくても、もう一度買ってくれた可能性がある人たちです。その人たちにまでクーポンを配るのは、『放っておいても来るお客さん』に、わざわざ値引きしているだけかもしれません。」
AI:
「利益、減ってるだけじゃないですか、それ。」
ディレクター:
「その通りです。だから本当に見るべきは『クーポンがなかったら買わなかったであろう人』が、どれだけ含まれているかです。これは正の字でもCOUNTIFSでも出せない数字なので、また別の集計が必要になります。」
AI:
「一つの数字が出ただけで、僕、7倍も戦略も語ってしまいました……。」
ディレクター:
「数字が出ると、つい飛躍したくなる気持ちは分かります。でも、その飛躍を止めるための集計の"型"を、今日は覚えて帰ってください。」
数式は「条件を並べて、数える」だけ
COUNTIFSは、複数の条件をすべて満たす行の件数を数える関数です。前回のSUMIFSと違い、合計する列を指定する必要がありません。
=COUNTIFS(クーポン列, "利用あり", 会員区分列, "リピーター")
「クーポン列が『利用あり』、かつ、会員区分列が『リピーター』の行を数えてね」という意味です。
実際の表で見てみる
| 注文番号 | クーポン | 会員区分 |
| 1001 | 利用あり | リピーター |
| 1002 | 利用なし | 新規 |
| 1003 | 利用あり | 新規 |
| 1004 | 利用あり | リピーター |
| 1005 | 利用なし | リピーター |
=COUNTIFS(B2:B6, "利用あり", C2:C6, "リピーター")
これで2件という答えが、迷いなく返ってきます。正の字のように、数え間違いに怯える必要はありません。
SUMIFSとCOUNTIFS、使い分けの基準
聞かれているのが「いくら」なのか「何人・何件」なのかで決まります。「クーポンでいくら値引きしたか」ならSUMIFS、「クーポンを何人使ったか」ならCOUNTIFSです。質問の日本語そのものに、答えが出ています。
今日のまとめ(AIと一緒に)
AI:
- 1.COUNTIFSは「複数条件を満たす行」の件数を数える関数。
- 2.書き方は
=COUNTIFS(条件1の列, 条件1, 条件2の列, 条件2...)。
- 3.「いくら」ならSUMIFS、「何人・何件」ならCOUNTIFS。
- 4.数字が出た瞬間の「単純な掛け算」による戦略は、たいてい早計。
ディレクター:
「今日は、正の字よりAIの暴走を止める方が大変でした。」
AI:
「次は7倍とか言わないよう、気をつけます。」
次回#009は、条件によって表示内容を分岐させる「IF関数」の基本に立ち返りつつ、複数条件を一度に判定する「IFS関数」を予定しています。
ディレクターとAIの奮闘記 #008 おわり