- ベストアンサー
エクセルの関数で…その2
先ほど別の質問したのですが、もう一つお願いします。 計算式の入ったいくつかのセルで、値が0以外になっているもののセルの個数を出したいです。 式 値 セルA1 (A2+A3) (10) セルB1 (B1+B2) (5) セルC1 (C1+C2) (0) の時、2個と返す
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
No.3です。 >同じ列の2つ飛びセルです。 この場合は以下のようになります。 =SUMPRODUCT((MOD(COLUMN(A1:M1),3)=1)*(A1:M1<>0)) COLUMN関数は列番号を返す関数で、MOD関数は割り算の余りを返す関数です。 したがって、これらを組み合わせれば、「n個飛び」の計算が自由に出来ることになります。
その他の回答 (3)
- maruru01
- ベストアンサー率51% (1179/2272)
こんにちは。maruru01です。 >範囲ではなく、飛んでるセル それは、無秩序に飛んでいるのでしょうか?それとも、何か法則(規則)があるのでしょうか? 規則があるのなら、SUMPRODUCT関数を使用して出来る可能性があります。 例えば、A1:Z1の範囲で、A1から1列置きに参照する方法ですと、 =SUMPRODUCT((MOD(COLUMN(A1:Z1),2)=1)*(A1:Z1<>0)) という感じになります。 もし、規則性があれば補足して下さい。
補足
同じ列の2つ飛びセルです。 A1,D1,G1,J1,M1 の個数を出したく、 B1,C1,E1,F1,H1,I1,K1,1L は飛ばしたいセルです。 宜しくお願いします。
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
範囲が飛び飛びになっている場合は個別に調べていかないとしょうがないような気がします。なるべくなら、うまく範囲で表せる様にしたほうが簡単ですが =(A1<>0)+(B1<>0)+(C1<>0) の様にして、飛び飛びの部分を付け足していきます。
お礼
ありがとうございました。 この方法では出来ました。
- hirumin
- ベストアンサー率29% (705/2376)
COUNTIF関数を使います。 =COUNTIF(A1:C1,"<>0")
お礼
またまたありがとうございます。 言葉が足りなくてすみません…範囲ではなく、飛んでるセルで…なのです。
お礼
ありがとうございます。 かなり長い式になってしまいましたが、バッチリ出来ました。 他にも応用できそうですね。