• ベストアンサー

関数COUNTIFの複数条件?について

先程も質問させていただいたのですが、再度質問させてください。 【先程の質問】 エクセルでタイムシートの打刻時間が一定の時間(例えば23時)を越えている人数と分数を調べたいと質問しました。 先程はその条件で良かったのですが、店舗が複数店舗入り それが一覧になった状態で渡されました。 店舗ごとにエクセルでタイムシートの打刻時間が一定の時間を越えている人数と分数を出したいのです。 店舗数も数百店舗あるので、できればシートを分けるなどせず関数などで一気に計算できないかなと思っています。 下の画像のような表の場合、CとDの求め方を教えてください。 よろしくお願いします。

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

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

A1セルに店舗名、B1セルに超過時間とあり、下方にそれぞれのデータが入力されているとして、店舗名も自動で表示させるとしたら作業列を使って対応するのが分かりやすく、計算にも負担のかからない方法でしょう。 例えばC2セルには次の式を入力して下方にオートフィルドラッグします。 =IF(B2="","",IF(COUNTIF(A$2:A2,A2)=1,MAX(C$1:C1)+1,INDEX(C$2:C2,MATCH(A2,A$2:A2,0)))) そこでお求めの表ですがE1セルに店舗名、F1セルに超過時間件数、G1セルに超過時間合計とでも入力します。 E2セルには次の式を入力して下方にオートフィルドラッグします。 =IF(ROW(A1)>MAX(C:C),"",INDEX(A:A,MATCH(ROW(A1),C:C,0))) F2セルには次の式を入力して下方にオートフィルドラッグします。 =IF(E2="","",COUNTIF(C:C,ROW(A1))) G2セルには次の式を入力して下方にオートフィルドラッグします。 =IF(F2="","",SUMIF(C:C,ROW(A1),B:B))

tarutaruebi
質問者

お礼

お礼が遅くなってしまい申し訳ありません。 ご回答ありがとうございます。 とても便利な数式で感動いたしました。 店舗名数がとても多かったので、一部利用して表を作成いたしました。 本当にありがとうございました。

その他の回答 (1)

noname#204879
noname#204879
回答No.1

せっかくなら「下の画像のような表」に貴方が正解とする値を書いておくべきです。 貴方の期待値どおりになるかどうかを知りたい回答者のために、ですッ! 添付図の場合なら、 E2: =SUMPRODUCT(($A$2:$A$10=$D2)*($B$2:$B$10>0)) F2: =SUMPRODUCT(($A$2:$A$10=$D2)*($B$2:$B$10))

tarutaruebi
質問者

お礼

お礼が遅くなり申し訳ありません。 ご回答ありがとうございます。 画像の添付の際は、今後注意いたします。 ご指摘ありがとうございます。 教えていただいた数式を利用させていただきました。 本当にありがとうございました。

関連するQ&A