• ベストアンサー

エクセルでSUBTOTALを使った計算方法

SUBTOTALを使って集計を行う場合に0の入力を計算しない方法はありますでしょうか? フィルタを使って集計をしたいのですが0入力をカウントしない方法が知りたいです

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

  • ベストアンサー
  • Nouble
  • ベストアンサー率18% (330/1783)
回答No.3

例えば =SUBTOTAL(103,IF($B$5:$B$30=$F22,$C$5:$C$30,0)) 的なことですよね? 私も同じ事を偶々考えて、 やってみたのですが そもそも 上記IF分で取り出した時点で 表示、非表示の情報から 切り離されるじゃないですか ならば…,ということで =SUBTOTAL(103,IF($B$5:$B$30=$F22,$C$5:$C$30,未使用なセル)) を試したけどこれも駄目 なのでこのやり方は駄目ですね と、いうことで 「セル」の持つ情報付き で、無ければ駄目 ということが解ります。 つまりセル参照でないといけないのでしょうね と、いうことで =SUBTOTAL(109,OFFSET($G$4,(G5:$G$30=$F22)*(ROW(G5:$G$30)-ROW(G4)),1,1,1)) これも試しましたが駄目で、 手詰まりですね。

その他の回答 (2)

noname#204879
noname#204879
回答No.2

「集計」と言っても色々アラ~ナですよ。 数値の合計、個数、平均、・・・、何をしたいの?

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

SUBTOTAL関数それ自体には、SUMIFやCOUNTIF関数的な働きはありませんので、「ゼロを除外」みたいな条件付き集計を行う機能はありません。 でもほんのちょっとの工夫で、欲しい結果は簡単に計算できます。 カウントしたいということは、「絞り込まれたうえで、ゼロではない数字の個数を数えたい」という事でいいんでしょうか。 B列に集計したい数字があるとして、たとえばC列に C2 =IF(SUBTOTAL(9,B2)=0,"",B2) 以下コピー などのようにして並べておきます。 C列をふつーにSUMしたりCOUNTすれば答えが得られます。もちろんSUBTOTAL関数で集計しても構いません。 #補足 >0入力をカウントしない方法 そもそもの話をすれば、集計したいB列に何を記入しているのかによっても、工夫代は様々考えられます。 生数字を実際に入れているなら、もちろんゼロは記入しなければそもそも集計に載ってくる事はありません。 生数字じゃなく数式を記入していてたまたまゼロが計算されているなら、その数式を工夫してゼロになる状況では""を計算させるように工夫してやれば、それで終わりです。

関連するQ&A