- 締切済み
エクセル関数 条件一致セルのカウント
複数散らばっている箇所にあるデーターで、条件に一致するデーターの数を集計したい。COUNTIF(A1:B10,"**")の場合はうまく出来たが、指定する範囲のセルが続いていない場合(範囲A1,A3,A6,A10,B1,B3,B6,B10の場合)のデーターの抽出を行いたいのですが、どなたかアドバイス宜しくお願い致します。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- dogsiva
- ベストアンサー率32% (92/279)
回答2.3のdogsivaです。再度回答します。 お示しの表を拝見すると、B行に出勤時間、退社時間と記入されていますので、これを利用します。 B列に出勤時間と入力されているうち、指定の時間以下の出勤時間の者の数から、 B列に退社時間と入力されているうち、指定の時間未満の退社時間の者の数を引きます。 これを式にすると、以下のようになります。 =sumproduct((B:B="出勤時間")*(c:c<=b20))-sumproduct((B:B="退社時間")*(c:c<b20)) (※例としてセルb20に入力した時刻に在勤しているか、という式をお示ししています。)
- dogsiva
- ベストアンサー率32% (92/279)
No.2の回答者です。再度回答します。 添付画像の表をご覧になってください。 こちらのA12~14には、それぞれ以下の式が入力されています。 =SUMPRODUCT((A1:A10)*(B1:B10="○")*(A1:A10>50)) (A1~A10のうち、B1~B10に「○」と記入されている、50より大きなの数値が入力されているセルの合計値を返す) =SUMPRODUCT((A1:A10)*(B1:B10="○")) (A1~A10のうち、B1~B10に「○」と記入されているセルの合計値を返す) =SUMPRODUCT((B1:B10="○")*(A1:A10>50)) (A1~A10のうち、B1~B10に「○」と記入されている、50より大きなの数値が入力されているセルの個数を返す) これらを見るとわかりますが、「これは検索対象である」ことを示すための識別用の列が必要になりますが、 これを用いることにより連続していない範囲のセルを参照することは可能になります。
補足
すみません、私の質問のしかたが悪かった様でした。内容の詳細を次に記述してみます。 A B C D ○月○日 ○月○日 1 Aさん 出勤時間 8:00 10:00 2 退社時間 13:00 15:00 3 Bさん 出勤時間 13:00 15:00 4 退社時間 18:00 18:00 ↓ n の勤務表で○月○日別で出勤及び退社の各時間体での人数を出したい。 と言う内容です。すみませんが宜しくお願い申し上げます。
- dogsiva
- ベストアンサー率32% (92/279)
excel2003までではsumproduct関数、excel2007以降ではcountifs関数で、それぞれ複数条件を指定することができます。 連続していないセルを参照する場合であれば、それらの行に共通するデータをもった列を追加することで、そのような参照が可能になります。
補足
ありがとうございます。excel2000なのですが、sumproductでの設定方法がいまいち判りませんでした。ちなみに、選択していないセル(A2,A4,A5,A7,B2,B4,B5,B7)には検索対象外の項目データーが入っているのですが・・・・。
- Cupper
- ベストアンサー率32% (2123/6444)
A1からB10を選択すればOK その範囲の選択したくないセルに集計したいデータが入っていないことが明らかであることが条件ですけどね
お礼
ありがとうございました。 とばしているセルには、検索対象外の項目データーが入っているのでやはり難しい様ですね・・。
お礼
ありがとうございました。 うまく行きました。 もっと勉強をせねば・・・・と自分に叱責する状態・・? 感謝!感謝!!であります。 お忙しいところ本当にありがとうございました。