- ベストアンサー
2つのセルの条件をクリアするセルを数えたい
Excelの計算式のことで質問です。 当方はExcel 2004 for Macを使用しています。 例えば、下記のような表があるとして、 | A |B|C| 1|千 葉|赤|◎| 2|東 京|青|×| 3|山 形|赤|△| 4|新 潟|赤|◎| B列に「赤」と入力されていて、 なおかつ、 C列で「◎」がついているセルの数を数えたいのですが そういった事は計算式で可能でしょうか? 例の表ですと、答えを2にしたいのです。 (そしてその後「青」で「◎」も数えたい) =COUNTIF(B1:B4,"赤") という式までは、 検索して辿り着けたのですが、 C列での条件を加えて指定する方法がどうしてもわかりません。 そんなに大きなデータではないので 目で数えればいい話なのですが、 計算式で出来るならミス無くとても楽ですし、 自分的に良く使いそうなので覚えたいと思っています。 このような式が、もし可能でしたら、どなたかご教授ください。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
赤&◎ =SUMPRODUCT((B1:B4="赤")*(C1:C4="◎")) 青&◎ =SUMPRODUCT((B1:B4="青")*(C1:C4="◎")) データの範囲は実際のシートに合わせて変更して下さい
その他の回答 (2)
- hiro-ss16
- ベストアンサー率42% (18/42)
一つの方法として、B列とC列を先に結合してから"赤◎"の数をカウントされてはどうでしょうか。 BC列を結合するには、D1に次の式を入れます。 =B1&C1 この式をD2からD4まで、コピーします。 次にD5に次の式を入れて、"赤◎"の数をカウントします。 =COUNTIF(D1:D4,"赤◎") これでやってみて下さい。では。
お礼
回答ありがとうございます。 別のセルで一回計算させるのは私も考えたのですが、 他人に見せる必要があるファイルで もしかすると計算式を全然出来ない人が編集したりするかもしれない ので見た目なるべく簡潔な表にしたかったのと、 あと私自身が面倒というのもあり、 一文で計算できないかなあと思った次第です。 でも初心者には一番安全な計算法ですよね。 分からない時は無理に近道せず 地道にセルを作って計算しようと思います。 重ねて有難うございました!
- mu2011
- ベストアンサー率38% (1910/4994)
次の方法は如何でしょうか。 =SUMPRODUCT((CONCATENATE(B1:B4,C1:C4)="赤◎")*1)
お礼
早速の回答ありがとうございます。 Zap35さんの式をもっと洗練した感じなのかな。 私にはちょっと難しかったです。CONCATENATEで一度"赤"と"◎"を結合し、それを数えさせているという考え方で良いのでしょうか。あと、私はCONCATENATEと&の違いがよく分かっていないのですが、CONCATENATEのかわりに&を使うと構文的に支障があるのでしょうか。*1は「それを1として数える」ってかんじの意味でしょうか。 理解できたらとても便利だと思います。 でも私にはもう少し基礎的な勉強が必要そうです(汗。 CONCATENATEは他にもいろいろ活用出来るのかなー。 色々な表を作って試してみます。 重ねて有難うございました!
お礼
早速の回答ありがとうございます。 探していた式はまさにこれです!!! こうしたかったのです! SUMPRODUCTを使えば良かったのですね。 自分がExcel初心者なのもありますが、式の呼び名や、一般的な式の文法がイマイチわかっていないので、ヘルプにしろ、ネットで検索するにしろ、やりたい事を実現する式を逆引きで探すのが大変難しいです。 今回は大変助かりました。 考え方(?構文)も分かりやすく、私の身の丈に合ったやり方です。 覚えて活用したいと思います。 重ねて有難うございました!