• 締切済み

【エクセル】離れたセルのCOUNTIF関数

こんにちは。 エクセルのCOUNTIF関数についての質問です。 各セルに以下のような数値が入っている表で・・・  A=10  B=00  C=20   D=30   E=00   F=40   G=50  AとCとEとGのセルを選択し、0以外のセルの個数を数えるとき COUNTIF関数で =COUNTIF(A,C,E,G,"<>0") という数式を立てたのですが、エラーとなってしまいました。 最終的には =((COUNTIF(A,"<>0")+(COUNTIF(C,"<>0")+(COUNTIF(E,"<>0")+((COUNTIF(G,"<>0")) という数式をたてて計算は出来たのですが、もっと簡単(?)な式はあったりするのでしょうか? ご存知の方がいらっしゃいましたら是非お教え下さい。

みんなの回答

  • rukuku
  • ベストアンサー率42% (401/933)
回答No.5

こんばんは =SUM(A1<>0,C1<>0,E1<>0,G1<>0) でもできます。 A<>0 の計算結果はTrueかFalseなのですが、 True=1 False=0 と扱われることを利用しています。 ただし、VBAでは True=-1 となっているように、Excelのシート以外で使った場合には、望むような動作にならないかもしれません。

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.4

COUNTIFをもっとよく解説を読むべし。 第1引数は範囲を指定する(出来る)。だからA2:G2が指定できる。 第2引数は条件で">70"なんて例が解説書に必ず載っている。 であれば、0以外であれば、"<>0"が指定できないかやってみたらよい。 =COUNTIF(A2:G2,"<>") は空白で無いセル。0や文字も含まれる。 =COUNTIF(A2:G2,"<>0") は0のセルの数. CountIFの第2引数は複合条件は指定できないから、文字セルが無い保証があれば、両者を引き算すればよい。 ーー 一般的に2条件以上付きカウントは、2007ではCOUNTIFSそれ以前ではSUMPRODUCT関数で行うのが定石。 本件は =SUMPRODUCT((A2:G2<>0)*(ISNUMBER(A2:G2))*(A2:G2<>""))

回答No.3

0より大きいなら =INDEX(FREQUENCY((A1,C1,E1,G1),0),2) 0以外なら =COUNT(A1,C1,E1,G1)-FREQUENCY((A1,C1,E1,G1),0) 参考まで

noname#204879
noname#204879
回答No.2

=COUNT(A1:G1)-COUNTIF(A1:G1,0)

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.1

一例です。 =SUMPRODUCT((A1:G1>0)*(MOD(COLUMN(A1:G1),2)=1))

関連するQ&A