[[20031103044654]] 『オートフィルタ抽出後にFREQUENCY関数を』(ぐらん) ページの最後に飛ぶ

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

 

『オートフィルタ抽出後にFREQUENCY関数を』(ぐらん)

初めまして。以下のことをご教授下さい。

性別、年齢、血液型、出身県...で1行になった800行ほどのデータがあります。
FREQUENCY関数を使って年齢世代(10代、20代、30代…)ごとに人数を集計していますが、これをオートフィルタを使って制御できないでしょうか?

例えばオートフィルタで血液型をB型のみにすれば、FREQUENCY関数の結果もB型のみの値に変化する…そんなイメージです。

当然ですが、現状ではオートフィルタで値は変化しません。

抽出後の結果を別の場所に貼り、そのデータに対してFREQUENCY関数を使えば可能なのですが、データの項目が増えるほど、検索条件が複雑になるほど労力や間違いが増えそうです。

オートフィルタを変更→その場でFREQUENCY関数の結果を確認…というのが理想なのですが、可能でしょうか。

よろしくお願いいたします。


 Function OnlyV(ByVal Targ As Range) As Variant
 If Not Targ.EntireRow.Hidden And Targ.Value <> "" Then
   OnlyV = Targ.Value
 Else
   OnlyV = ""
 End If
 End Function


通りすがりの者さん、ありがとうございました。
さっそく試したところ

 Function OnlyV(ByVal Targ As Range) As Variant
 If Not Targ.EntireRow.Hidden And Targ.Value <> "" Then
   OnlyV = Targ.Value
 Else
   OnlyV = ""
 End If
 End Function

のコードを使って上手く実現することができました!

正直上のコードでどの様なことが行われているのか理解しているわけではありませんが、私の実力では上手く動いただけで満足です。本当にありがとうございます。

はじめFREQUENCYの対象にする項目だけに「=OnlyV(DataSheet!C2)」と入れればよいことに気づかず、全ての項目に入れたので非常に「再計算」の時間がかかっていましたが、自分の間違いに気づいて対象部分だけにしてからは快適です。

おかげさまで、抽出前のFREQUENCY結果と照らし合わせたりして、柔軟な表現ができるようになりました。ここで教わっていなければ今夜大変なことになってました。

お礼申し上げます。


コメント返信:

[ 一覧(最新更新順) ]


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