- 締切済み
【エクセル】離れたセルの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")) という数式をたてて計算は出来たのですが、もっと簡単(?)な式はあったりするのでしょうか? ご存知の方がいらっしゃいましたら是非お教え下さい。
- みんなの回答 (5)
- 専門家の回答
みんなの回答
- rukuku
- ベストアンサー率42% (401/933)
こんばんは =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)
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<>""))
- 某HN クロメート(Chromate)(@CoalTar)
- ベストアンサー率40% (705/1742)
0より大きいなら =INDEX(FREQUENCY((A1,C1,E1,G1),0),2) 0以外なら =COUNT(A1,C1,E1,G1)-FREQUENCY((A1,C1,E1,G1),0) 参考まで
=COUNT(A1:G1)-COUNTIF(A1:G1,0)
- mu2011
- ベストアンサー率38% (1910/4994)
一例です。 =SUMPRODUCT((A1:G1>0)*(MOD(COLUMN(A1:G1),2)=1))