[[20150625214250]] 『Subtotal関数』(太郎) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『Subtotal関数』(太郎)

=COUNTIF(ABC!S3:S400,">5")

という式があります。
ABCシートにあるデータをある条件でフィルタで絞っています。
その表示されたデータで、上記の式を使うには、
=SUBTOTAL(102,ABC!S3:S400,">5")
ではダメなようです。

どうすればいいでしょうか。

< 使用 Excel:Excel2010、使用 OS:Windows7 >


 フィルタというのはオートフィルターで絞り込んだ状態ということですか?

 ところで、別スレ、マナさんからの、たくさんアドバイスに対して、βあてのレスをしておられましたよ。

(β) 2015/06/25(木) 21:50


すみません。
この質問は無しにさせていただき、別スレにまた新たな質問をします。
ありがとうございました。

 せっかくなので。

 通常の関数では無理でしょうね。
 ユーザー定義関数をVBAで書いて、セルで、その関数を使うしかないでしょう。

 標準モジュール

  Function FilterCountIf(a As Range, term As String)
    Dim r As Range
    For Each r In a.Rows
        If Not r.Hidden = True Then
            If Evaluate(r.Cells(1).Address(External:=True) & term) Then FilterCountIf = FilterCountIf + 1
        End If
    Next
 End Function

 で、セル上では =FILTERCOUNTIF(ABC!S3:S400,">5") 

(β) 2015/06/25(木) 22:32


βさん

わざわざありがとうございます。
何だかすごく難しいですね。。

(太郎) 2015/06/25(木) 22:37


 =SUMPRODUCT(SUBTOTAL(102,INDIRECT("ABC!S"&ROW(S3:S400)))*(ABC!S3:S400>5))

 作業列使用可なら、もっと簡単にできますね!

 作業列案(X列)

 X3 =SUBTOTAL(102,S3)*(S3>5)  X400までフィルコピー

 個数 =SUM(ABC!X3:X400)
 
 せっかくなので回答してみました。
(笑) 2015/06/25(木) 22:46

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.