• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Excel2010関数 複数条件で人数カウント-2)

Excel2010関数 複数条件で人数カウント-2

このQ&Aのポイント
  • Excel2010で複数条件を指定して人数をカウントする関数を作成したい。
  • 条件は、B列に名前が入っており、C列には午前午後の出席情報が入っている。
  • 作業列を使わず1つのセルで出席人数をカウントしたい。

質問者が選んだベストアンサー

  • ベストアンサー
  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.4

お示しの表のとおりで例えば10行目までのデータがるとしたら次のような式になりますね。 =SUMPRODUCT((A1:A101<>"")*(C1:C101="○"))+SUMPRODUCT((A2:A102="")*(C2:C102="○"))-SUMPRODUCT((A1:A101<>"")*(A2:A102="")*(C1:C101="○")*(C2:C102="○"))

maikimaiki
質問者

お礼

早々に回答をありがとうございました。 1つのセルで算出出来ました! 助かりました、どうもありがとうございました!!

その他の回答 (4)

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.5

ごめんなさい。回答No4です。最初の文章が間違いていました。 お示しの表のとおりで例えば101行目までのデータがるとしたら次のような式になりますね。

回答No.3

偶数行に○の入っている数 =SUMPRODUCT((MOD(ROW(C2:C21),2)=0)*(C2:C21="○")) 奇数行に○の入っている数 =SUMPRODUCT(MOD(ROW(C2:C21),2)*(C2:C21="○")) 偶数行とその1つ下の行の両方に○の入っている数 =SUMPRODUCT(MOD(ROW(C2:C20),2)*(C2:C20="○")*(C3:C21="○")) 名前の入っているセルの行に○の入っている数 =SUMPRODUCT((B2:B21<>"")*(C2:C21="○")) 名前の入っていないセル(空白セル)の行に○の入っている数 =SUMPRODUCT((B2:B21="")*(C2:C21="○")) 名前の入っているセルの行とその1つ下の行の両方に○の入っている数 =SUMPRODUCT((B2:B20<>"")*(C2:C20="○")*(C3:C21="○"))

maikimaiki
質問者

お礼

あっ!そうか、教えてくださった数式を加算減算すればよかったのですね! 察しが悪くて自分が嫌になります・・・泣。 助かりました、回答くださりどうもありがとうございました!

回答No.2

奇数行に○の入っている数 =SUMPRODUCT(MOD(ROW(C2:C21),2)*(C2:C21="○")) 偶数行に○の入っている数 =SUMPRODUCT((MOD(ROW(C2:C21),2)=0)*(C2:C21="○")) 名前の入っているセルの行に○の入っている数 =SUMPRODUCT((B2:B21<>"")*(C2:C21="○")) 名前の入っていないセル(空白セル)の行に○の入っている数 =SUMPRODUCT((B2:B21="")*(C2:C21="○"))

maikimaiki
質問者

補足

早速回答を頂き、ありがとうございます。配列で行ごとに算出する方法ですね。 配列で何とか1つのセルで算出できないものか私も考えてみまして、下記のように作ってみたのですが、これだと答え「7」になってしまうため、断念しました。 =SUM(SUMPRODUCT((B2:B21<>"")*(C2:C21="○")),SUMPRODUCT((B2:B21<>"")*(C3:C22="○"))) 1つのセルで「6」が算出できる方法がもし分かりましたらまたよろしくお願いいたします。

  • aokii
  • ベストアンサー率23% (5210/22062)
回答No.1

=IF(OR(C2="○",C3="○"),1,0)+IF(OR(C4="○",C5="○"),1,0)+IF(OR(C6="○",C7="○"),1,0)+IF(OR(C8="○",C9="○"),1,0)+IF(OR(C10="○",C11="○"),1,0)+IF(OR(C12="○",C13="○"),1,0)+IF(OR(C14="○",C15="○"),1,0)+IF(OR(C16="○",C17="○"),1,0)+IF(OR(C18="○",C19="○"),1,0)+IF(OR(C20="○",C21="○"),1,0)

maikimaiki
質問者

お礼

あっすみません! ネストレベルは関係なかったですね・・・1000行分のIF式を作るのが大変なので・・・と書かなくてはいけませんでした。 補足に追加入力する方法が分からなかったので、お礼の方に入力させて頂きました。申し訳ありません!

maikimaiki
質問者

補足

早速回答を頂き、ありがとうございます。 私の文章に足りない部分がありました、申し訳ありません! 添付図のように20行ほどであればいいのですが、データは1000行(名前は500名)ほどあり、IF関数のネストできるレベルを超えてしまいます。 1000行でもカウントできる方法はありますでしょうか・・・。