先ほど別の質問したのですが、もう一つお願いします。

計算式の入ったいくつかのセルで、値が0以外になっているもののセルの個数を出したいです。

      式   値
セルA1 (A2+A3) (10)
セルB1 (B1+B2) (5)
セルC1 (C1+C2) (0)

の時、2個と返す

A 回答 (4件)

No.3です。



>同じ列の2つ飛びセルです。
この場合は以下のようになります。

=SUMPRODUCT((MOD(COLUMN(A1:M1),3)=1)*(A1:M1<>0))

COLUMN関数は列番号を返す関数で、MOD関数は割り算の余りを返す関数です。
したがって、これらを組み合わせれば、「n個飛び」の計算が自由に出来ることになります。
    • good
    • 0
この回答へのお礼

ありがとうございます。
かなり長い式になってしまいましたが、バッチリ出来ました。
他にも応用できそうですね。

お礼日時:2005/04/23 01:45

こんにちは。

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 は飛ばしたいセルです。

宜しくお願いします。

補足日時:2005/04/21 12:14
    • good
    • 0

範囲が飛び飛びになっている場合は個別に調べていかないとしょうがないような気がします。

なるべくなら、うまく範囲で表せる様にしたほうが簡単ですが
=(A1<>0)+(B1<>0)+(C1<>0)
の様にして、飛び飛びの部分を付け足していきます。
    • good
    • 0
この回答へのお礼

ありがとうございました。
この方法では出来ました。

お礼日時:2005/04/21 12:14

COUNTIF関数を使います。


=COUNTIF(A1:C1,"<>0")
    • good
    • 0
この回答へのお礼

またまたありがとうございます。
言葉が足りなくてすみません…範囲ではなく、飛んでるセルで…なのです。

お礼日時:2005/04/21 02:55

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング

おすすめ情報