[[20101215115517]] 『オートフィルタで表示のセルのみCOUNTIFを』(ネコロネ) ページの最後に飛ぶ

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

 

『オートフィルタで表示のセルのみCOUNTIFを使いたい』(ネコロネ)

エクセル初心者です。

本当はそんなに難しいことではないかもしれませんが、
もしおわかりになるようでしたら教えてください。
オートフィルタにて抜き出した表示セルのみに、
COUNTIFを使いたいのですが。

・エクセルのバージョンはExcel97
・OSのバージョンはWindows98

【内容】

以下のような表があります。

 「A」列  ・・・店所コード
 「B」列  ・・・氏名
 「0〜U」列・・・時間当たりの処理件数
         0が6時 
         Pが7時
         Qが8時
         という並びになっている

A       B  C・・・・O   P  〜 〜 U

(店所番号)(名前)     (6時)(7時)   (12時)

01      田中       0   10      3

01      鈴木       1   21      0  

02      山田       5   17      8

02      木村       0   8       13

02      吉田       5   0       6 

A列でオートフィルタにて該当店舗を抜き出す。
W1に、6時に、該当店舗で0件以上の獲得者の人数を入れたいのです。
SUMPRODUCTとSUBTOTALを組み合わせればできるようなのですが、
色々やってみましたが自分で解決することができませんでした。

もしおわかりになれば、
教えてください。
よろしくお願いします。


 せっかくオートフィルターを使うなら、
 6時の列のオプションで0件以上(1件以上の間違い?)で絞り込めばよさそうですが。
 (tora)


 toraさんのでは、7時、8時・・も同様に表示したくても一度に表示できませんね。
 店番号が数値の場合限定、かつ一つの店番号だけを抜き出した場合限定ですが、

 =SUMPRODUCT((O1:O10>0)*(A1:A10=SUBTOTAL(1,A1:A10)))

 でどうでしょうか。
 (sato)


tora様、ありがとうございます。
satoさんのご推測どおり、
フィルタにて店を選択すると
6時〜12時の分が同様に一度に表示されるように設定したい
(→更にそこから時間帯別の人数分布をグラフで表示させたいのです。)
ので、教えて頂いた方法を使用することができませんでした。
※尚、条件は1以上の間違いでした。
 ありがとうございます。

sato様、ありがとうございます。
店番号が幸い数値でしたので、
教えていただいた方法を試してみました。

データ数値の入っている行は、10〜1662まででしたので、

=SUMPRODUCT((O10:O1662>0)*(A10:A1662=SUBTOTAL(1,A10:A1662)))

で入力したところ、#DIV/0!のエラーが出てしまいました。
間違っているところがおわかりになるようでしたら、
教えて頂けますと幸いです。

(ネコロネ)


 当該店舗って、例でいえば2件ですよね? 01と02店舗
 この2店舗の6時代の獲得者数を表示したいって事でいいのでしょうか?

 01だと 6時代が1 02だと10  って事ですか?(スワン)

 空欄セルも含めて範囲設定していたため、
 修正しまして、

 =SUMPRODUCT((O10:O1574>0)*(A10:A1574=SUBTOTAL(1,O10:O1574)))

 でやってみました。
 エラーは無くなりましたが、
 処理件数1件以上の人がいる場合にも、
 「0(ゼロ)」が表示されてしまいます。

 限られた情報しかお伝えしていないので
 わかりにくいかもしれませんが、
 理由がおわかりになれば教えて頂けるでしょうか?
 お願いします。
(ネコロネ)

スワン様

 ありがとうございます。

 まず、店舗をオートフィルタにて抜き出します。
 →たとえば、「01」を選択する
   田中さんと鈴木さんのみが表示される
   ※実際のデータでは、1店舗に10〜20名程います。

 その後、その店舗で1件以上獲得した者の人数をセルに表示したいのです。
 →上の例の場合
   店舗「01」の1件以上獲得者は鈴木さんだけなので、「1」と表示される

 獲得件数の合計ではなく、
 1件以上獲得者の人数を出したいのです。
 なので、
 01だと「1」
 02だと「2」
 と出れば成功です。

 分かりにくく申し訳ありません。
 よろしくお願い致します。
 (ネコロネ)

 


 =SUMPRODUCT((O10:O1574>0)*(A10:A1574=SUBTOTAL(1,A10:A1574)))  
                                                 ~~~~~~~~~~
 です。
 オートフィルターで店舗番号の絞込みをしないと0件になります。
 (sato)


sato様

 ありがとうございます。
 ご指摘の部分、

 数式・オートフィルタ共に
 ご回答の通りやりましたが、
 またもや「#DIV/0!」のエラーが出てしまいました。
 (ネコロネ)


 単純に、V1に店舗コードを入れてW1に

 =SUMPRODUCT((V1=A10:A1574)*(O10:O1574>0)) 

 では駄目なのでしょうか?(スワン)

 「#DIV/0!」は 数値を0 で割ったときに出るエラーです。

 =SUMPRODUCT((O10:O1574>0)*(A10:A1574=SUBTOTAL(1,A10:A1574))) 

 この数式自体でこのエラーが出ることは私の理解の外ですが、
 例えば、O10:O1574 の中に、最初からそのエラーが出ていると、
 そのようになりますので、確認してみてください。

 なお、スワンさんの数式では、V1に抽出する店番を入力する必要があります。
 ネコロネさんは、オートフィルタで抽出したものの集計を表示したいということらしいですよ。
 (sato)


 スワン様
 sato 様

 ありがとうございます。

 satoさんに教えて頂いた方法がうまくいかない原因がわからなかったので、
 ※もしかすると、O10:O1574 の中にISERRORでエラーを「0」で表示している
  セルが含まれていることが原因かもしれません。
 スワンさんに教えて頂いた方法を臨時で使用することに致しました。

 オートフィルタで選択したコードを
 あるセルに入力し、
 表示する方法を取ることにしました。

 表示までに
 1:フィルタで選択
 2:セルに同じ店舗コードを入力
 の2ステップ必要になってしまいましたが、
 正常に表示されました。

 ご助言を下さった皆様、
 ありがとうございました。
 (ネコロネ)

コメント返信:

[ 一覧(最新更新順) ]


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