• ベストアンサー

エクセルの関数COUNTIF

F16に合計時間を計算させています。 sheet1~sheet8までの0より大きな時間の(時間の合計でなく)個数の合計を知りたいのですが =COUNTIF(Sheet1:Sheet8!F16,"0>")  valueのエラーが出ます。 またセルに参照式が入っていています。=A2等、参照元には、時間が入力されていますが、単純に、時間が入力された個数だけ知りたいのですが どのようなCOUNT関数を使えばよいですか。

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

  • ベストアンサー
  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.2

 COUNTIF関数は「複数のシートを跨いでいる範囲」をカウント対象の範囲とする事は出来ませんから、一例としては次の様な関数にして下さい。 =SUMPRODUCT(COUNTIF(INDIRECT({"Sheet1","Sheet2","Sheet3","Sheet4","Sheet5","Sheet6","Sheet7","Sheet8"}&"!F16"),">0")*1)

yomogifukuoka
質問者

お礼

またいでカウントできないのですね。SUMPRODUCT知らない関数でした。複雑で、とても私には理解できませんが これを加工して使わせていただきます。助かりました ありがとうございます。

その他の回答 (2)

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.3

>F16に合計時間を計算させています。 たとえばここに =SUM(F2:F15) といった具合の時間の合計の計算をしているとします。 >0より大きな時間の(時間の合計でなく)個数の合計を知りたい 要するに合計に時間数が計上された個数を調べたいワケです。 各シートのF16を、たとえば =IF(SUM(今の式)>0,SUM(今の式),"") などのように、「数えたくないゼロは数えない」数式に修正しておけば、 >sheet1~sheet8までの0より大きな時間の(時間の合計でなく)個数の合計を知りたい =COUNT(Sheet1:Sheet8!F16) のように串刺しで計算できます。

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

Sheet1:Sheet8は利用できませんので、Sheet1からSheet8のF16の各データは別の1枚のシートにでも引用してみてください。

yomogifukuoka
質問者

お礼

ありがとうございます。くし刺し計算はできないのですね。 知りませんでした。ありがとうございます ほかの方法を検討します。