• ベストアンサー

オートフィルタの選択肢数を数えたいのですが・・・

エクセルについて質問です。 オートフィルタを使用しますと、プルダウン式に 選択肢が一覧で出ますけれど、その数を数えるには どうしたらよいのでしょうか? 例えば出荷一覧を見る場合など、 出荷日でソートしてみるのですが、 その日に動いたのはいったい何アイテムなのか、 ということを知りたいのです。 プルダウンで出る候補をいちいち数えるしか 方法はないのでしょうか? どなたか、何とぞご教授ご指導のほど、よろしくお願いいたします。

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

  • ベストアンサー
  • ham_kamo
  • ベストアンサー率55% (659/1197)
回答No.3

No.2です。 すみません、質問の意図を誤って解釈していました。 私の知識では、オートフィルタを使用して重複を除いた個数を数える方法は思いつきませんでした。 ちょっとややこしいですがフィルタオプションを使用した以下の方法はいかがでしょうか。 A列に出荷日、C列にアイテムが入力されているとします。 A列のタイトルが「出荷日」となっていると場合、抽出条件としてD1に「出荷日」、D2にフィルタリングしたい出荷日を記入しておきます。 この状態で、A列全体とC列全体を選択して、「データ」>「フィルタ」>「フィルタオプションの設定」の画面で、「検索条件範囲」に$D$1:$D$2を指定し、「重複するレコードは無視する」にチェックを入れ、OKを押します。 こうすると、D2のセルで指定した条件の日付のアイテムが重複なしに表示されるので、下のステータスバーを見れば抽出件数がわかります。 ただ、条件を変える(抽出する日付を変える)には、いちいち「データ」>「フィルタ」>「すべて表示」で元の表示に戻して、検索値(今の例ではD2)の内容を変えて同じことを繰り返さないといけないので、ちょっと面倒です。一連の流れをマクロにすれば簡単かもしれません。 一応、今の例をマクロにしてみたら、以下のようになりました。ボタンを配置してマクロを実行できるようにしてみたら、比較的簡単に抽出ができると思います。 Sub 抽出() Range("A:A,C:C").AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:= _ Range("D1:D2"), Unique:=True End Sub Sub 全て表示() ActiveSheet.ShowAllData End Sub

job38
質問者

お礼

ご親切にどうもありがとうございました。 マクロなどはまったくちんぷんかんぷんなのですが、 ご意見大変参考になりました。 有り難うございました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (3)

  • NNAQ
  • ベストアンサー率56% (104/184)
回答No.4

空いている列を作業列として使用します(仮にH,I列)。 フィルタリングして、D列の重複を省いた個数を数えたいとします。 データが2行目からあるとして、 H2=SUBTOTAL(3,D$2:D2) 下へコピー。 I2=IF(AND(H2>0,H2<>H1),D2,NA()) 下へコピー。 個数=COUNT(1/(MATCH(I2:I1000,I2:I1000,0)=ROW(A1:A999))) 配列数式なので、Ctrl + Shift + Enter で確定。 ROW(A1:A999)の部分は実際のデータの行数に合わせてください。 (データが2~1000行目まであるとしたら、データの行数は999行、という意味です。)

job38
質問者

お礼

ご丁寧な回答真にありがとうございました。 関数の種類や意味は知りませんが、なんとなく おっしゃることは分かる気がします。 回答いただきました皆様、 本当にありがとうございました。 余談ですが、PCど素人の私(もちろん文系人間)は、 いわゆる「解」法が複数あることに大変驚いています。 中にはご自分で関数を組み合わせて、公式を 創り上げる人もいると聞きます。 いったい、皆さんはそういう関数を どこで学ばれるのでしょうね・・・・?

全文を見る
すると、全ての回答が全文表示されます。
  • ham_kamo
  • ベストアンサー率55% (659/1197)
回答No.2

A列に出荷日が格納されているとすると、 =SUBTOTAL(2,A:A) とどこかのセルに入力すれば、フィルタリングされた個数が表示されます。 または列の中身が文字列で先頭行がタイトルの場合、 =SUBTOTAL(3,A:A)-1 でもよいでしょう。

job38
質問者

補足

ご回答ありがとうございます。 ただ、上記はもしかして、 「フィルタリングされた個数」と記載いただいていますが、それはエクセルの右下に表示される個数のことでしょうか? もしそうであれば、私が知りたいと申し上げているのは違いまして、「フィルタリングされた個数」の総数ではなく、その選択肢として表示されるリストの個数です(重複が省かれた個数)。 もしよろしければ、引き続きご教授いただければ幸いです。

全文を見る
すると、全ての回答が全文表示されます。
  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.1

「オートフィルタの選択肢数=データの重複を省いた個数」で良いでしょうか データ範囲がA1:A100のときで、空白ななければ  =SUMPRODUCT(1/COUNTIF(A1:A100,A1:A100)) で求められます

job38
質問者

補足

さっそくのご回答ありがとうございました。 すいませんが、上記関数は複数のフィルタの条件下でも 有効なのでしょうか? 質問に書きましたが、例えば 過去の出荷記録(日時、得意先、納品先、アイテム、数量・・・)の「出荷実績一覧表」のようなものにおいて、 「○月分に動いたアイテム数をカウントしたい」という場合、 まずは日付の列で、「○月」というフィルターをかけて絞り込むかと思いますが、そのような条件下でアイテム数をカウントしたいという場合にも(空欄さえなければ)自動計算されるのでしょうか? または別に何か計算式を入れなければなりませんか? 恐れ入りますがご回答いただければ幸いです。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • オートフィルタの選択肢を取り出したい

    エクセル2003で質問です。 オートフィルタを使用すると、プルダウン式に選択肢が 一覧で出ますが その選択肢をどこか他のところに取り出すことはできますか。

  • エクセルのオートフィルタについて

    エクセルでオートフィルタをよく使用しますが、オートフィルタでプルダウンし項目を選択するとき、あいうえお順ですよね、これを自分の好きなように並び返る方法を教えてください。

  • JavaScriptでExcelのオートフィルタ表現

    JavaScript - tableのオートフィルタ http://neko.dosanko.us/script/auto-filter/ これを使ってみたいと思っているのですが、プルダウンの表示一覧がソートされていなくて、これをアルファベット順にソートして表示させたいのですが、JavaScriptのどの箇所を弄れば良いのか解らず困っています。 宜しくお願い致します。

  • エクセルのオートフィルタオプションのプルダウン

    OS:ウインドウズ2000ProSP4 エクセル:エクセル2003 オートフィルタオプションの左側(選択値)のプルダウンの横幅を広くできないでしょうか? オートフィルタオプションの右側(条件)のプルダウンで「含む」「含まない」がスクロールさせないと表示されませんが何とかして全ての選択条件を表示させたいのですが出来ないのでしょうか?

  • エクセルのオートフィルタについて・・・

    エクセルのオートフィルタなんですが、 そのオートフィルタにプルダウンメニューができますよね? そのプルダウンで抽出されたメニューの内容の全てを できるだけ簡単にそのままほかのセルにコピーすることはできないでしょうか? 環境は OS:WINXP バージョン:EXCEL2003使用です。

  • EXCELのオートフィルターにて、何を選択したかを取得したい

    EXCELのオートフィルターにて、何を選択したかを取得したい 例えば、ユーザーがオートフィルターにて、店番=1を選択した場合に、 コメントとして「店番=1」と表示したいのです。 どのようにしたら、VBAから取得できるのでしょうか? ヒントをお願いします

  • エクセルのオートフィルタ にて

    エクセルのデーターが2400行あるのですがそのデーターを オートフィルタにしたところプルダウンのメニューに出てくる件数が 少ないのです。 実際のところ 全て違う項目が入っているところでは 2400行選べると思うのですが さっき数えたら 250ぐらいしか でてませんでした。。。。 他のところでフィルターをかけているわけでもないのですが 何故全てがでてこないのでしょうか???もしかしてオートフィルタに制限があるのでしょうか??? 申し訳ございませんが教えてください。

  • Excelのオートフィルタについて

    お世話になります。 Excelであるファイルだけオートフィルタが灰色表示になって選択できない状態となってしまいました。 最悪シートを別ファイルにコピーをすればオートフィルタが使えるのですが、原因がわからず困っています。 オートフィルタの有効・無効を設定する項目でもあって気づかないうちに無効にしてしまったのでしょうか。 もし解決法をご存知の方がいらっしゃいましたらご指導お願い致します。

  • エクセル・オートフィルタについて

    エクセルでオートフィルタの使い方について質問です。 2000ほどの行があるデータをひとつづつオートフィルタで同じデータがかぶっていないかチェックしています。 以前まではオートフィルタの逆三角を開くと、開いた列のデータがバーっと一覧で出るので 一つ選んで、データを見る。確認したらまた、逆三角を開いて矢印キーで一つ降りて、データを見る。 というのをやっていたのですが、 今回データチェックをしようとしたらうまくいきませんでした。 というのも、オートフィルタの逆三角を開くとその列のデータの一覧が出るのですが、 選択して確認し、また逆三角を開き矢印キーで降りる。というのを5回ほど連続でやると、 なぜか、データの一覧の一番上のデータに選択が戻ってしまうのです。 データ自体が似たような数字の一覧なので、気付かない内に、一番上のデータに戻っていたり、 一番上に戻ったあと、どこまで調べたのかがわからなくなり、困っています。 以前のようにオートフィルタで一つづつ下がっていくやり方で全部確認をしたいのですが、 どうしたら元に戻りますでしょうか? PC初心者なので、説明もままならない状態で申し訳ありませんが、 わかる方いらっしゃましたら回答よろしくお願いいたします。 ・Microsoft Windows XP ・Microsoft Office Excel 2003 を使用しています。 よろしくお願いします。

  • エクセル2007でのオートフィルタ

    エクセル2003にてオートフィルタを活用しています。 先日、エクセル2007が入っている新しいパソコンで このファイルを開き、オートフィルタの機能を使用したところ 思うように動かなかったので質問させて下さい。 2003では A列をオートフィルタで昇順、降順をすると B列のデータも連動して動きました。 しかし、2007では A列のみがソートされ、B列は元のまま。。。 これは仕様なのでしょうか? それとも何か設定が必要なのでしょうか?

印刷枚数を指定できない
このQ&Aのポイント
  • EPSON社製品で印刷枚数を指定する方法がわかりません。どのように設定すればいいのでしょうか?
  • EPSONのプリンターでは、印刷枚数の設定ができないという問題があります。どのように対処すればいいのでしょうか?
  • EPSON製のプリンターで印刷枚数を指定できないという問題に直面しています。解決策を教えてください。
回答を見る

専門家に質問してみよう