Excel (一般機能)

Excelの一般機能に関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 7 Home Premium : Excel 2010)
オートフィルターについて
投稿日時: 17/09/16 18:30:40
投稿者: konimegu

特定のセルに入力規則で値を選択し、オートフィルターでその選択した値のみを抽出したいです。
VBAで思うように動くのを作成は出来たのですが、オートフィルターの機能で設定することはできませんか?
よろしくお願いいたします。
 

A1セル リンゴと選択
 
A3〜B10セルの範囲にオートフィルターを設定
A3〜A10セルにリンゴ、ミカン、バナナと入力されていて、
リンゴのみを抽出
 
分かりにくいかもしれませんが、よろしくお願いします。

回答
投稿日時: 17/09/17 23:11:04
投稿者: WinArrow
投稿者のウェブサイトに移動

確かに、わかりにくい
 
>オートフィルターの機能で設定することはできませんか?
この「設定」って何?
 
>A3〜B10セルの範囲にオートフィルターを設定
オートフィルターは、表の最初の行(この場合、3行目)に設定します。
 
3行目の▼が付いた状態となります。
 
>A3〜A10セルにリンゴ、ミカン、バナナと入力されていて
 
セルA3に、仮に「みかん」と入力されているとしたら、
A3セルには、▼がついているから、「みかん」を項目名と見做してしまいます。
▼をクリックして、表示されるダイアログから、
「すべて」のチェックを外し、抽出したいものにチェックを入れます。
その後、コピー〜ペーストで、任意のセルに複写できます。
但し、「みかん」も一緒に
 
これでもよいのですか?
 
それから
A1セルは、オートフィルターとどのような関係があるのか?

回答
投稿日時: 17/09/17 23:13:00
投稿者: WinArrow
投稿者のウェブサイトに移動

抽出が目的ならば、「フィルタオプション」を使うとよいでしょう。
 
表の1行目は項目行にしましょうね。

回答
投稿日時: 17/09/18 07:40:26
投稿者: Mike

[オートフィルタ]に固執しなければ次のようなテもあろうかと。
  A   B  C D   E
1 リンゴ     抽出データ
2        種類 項目
3 種類 項目  リンゴ item1
4 リンゴ item1  リンゴ item3
5 ミカン item2  リンゴ item5
6 リンゴ item3  リンゴ item7
7 カリン item4
8 リンゴ item5
9 ナシ  item6
10 リンゴ item7
11 スモモ item8
 
次式を入力したセル D3 を右および下方にズズーッとオートフィル
=IFERROR(INDEX(A$1:A$10,SMALL(IF($A$4:$A$10=$A$1,ROW(A$4:A$10),""),ROW(A1))),"")
【お断り】上式は必ず配列数式として入力のこと

回答
投稿日時: 17/09/18 07:45:50
投稿者: Mike

先に示した式中の「A$10」「$A$10」の「10」は「100」に訂正しておきます、差し当たっては。

投稿日時: 17/09/19 00:19:42
投稿者: konimegu

たくさんの方にご回答いただき、ありがとうございます。
ただ、私の書き方が悪かったと思うですが、したかったこととはちょっと違っていました。
入力規則で選択したものが、選択の都度、オートフィルターでその項目だけ自動的にチェックが入るようにできないかなと思ったのですが、まだ伝わりにくいでしょうか?
もし出来るなら教えて下さい。よろしくお願いいたします。

回答
投稿日時: 17/09/19 01:12:13
投稿者: Mike

konimegu さんの引用:
…選択の都度、オートフィルターでその項目だけ自動的にチェックが入るようにできないかなと思ったのですが、まだ伝わりにくいでしょうか?もし出来るなら教えて下さい。
はい、「伝わりにくい」表現でしたけど、私は理解していたつもり。出来ないと思ったから代案を示したのです。それを受け入れられない理由を教えてください。
 
入力規則設定セルの選択変更の都度、オートフィルターによる抽出を自動化するのはマクロに頼ればお茶の子サイサイと推察しますが、残念無念なことに私はマクロ音痴なのです。

回答
投稿日時: 17/09/19 07:58:35
投稿者: bi

konimegu さんの引用:

入力規則で選択したものが、選択の都度、オートフィルターでその項目だけ自動的にチェックが入るようにできないかなと思ったのですが

これはVBAでしかできないと思うので、すでに完成してるVBAを使うしかないかと。

回答
投稿日時: 17/09/19 10:17:23
投稿者: WinArrow
投稿者のウェブサイトに移動

最初の質問に戻って恐縮ですが・・・
>抽出
する目的について
 
「見るだけ」
「何処かにj複写」
によって
 
お望みの方法(つまりオートフィルタ)が適切かなのか?
と考えます。
 
もし、後者だったら、フィルタオプションで対応できるかもしれませんね?
 
「」見るだけ」ならば、
入力規則のリストには存在するが、下の表の中には存在しないことも考えると
わざわざ入力規則で選択する必要がなく、
オートフィルタを選択しても手間はそれほど変わらないし、
存在有無も同時に確認できますよね?
 
 
 
 

回答
投稿日時: 17/09/19 12:14:54
投稿者: んなっと

一般機能ではMikeさんの方法がベストだと思います。
 
ピボットテーブルとスライサーを利用すると..
 
[1]
現在のシート
 
    A   B  C
1  品名 個数 No.
2 りんご  50  1
3 みかん  40  2
4 ばなな  30  3
5 りんご  20  4
6 みかん  10  5
7 ばなな  90  6
 
C2
=ROW()-1
下方向・↓
→上の表の範囲をテーブルとして書式設定
(データ増減に対応するため)
 
[2]
挿入
→ピボットテーブル
→OK
→[No.] [品名] を[行ラベル]に
 [個数] を[Σ値]に
→[ピボットテーブルツール][デザイン]
→[レポートのレイアウト]表形式
 [小計]表示しない [総計] 行わない
 
No.  品名 合計 / 個数
 1 りんご      50
 2 みかん      40
 3 ばなな      30
 4 りんご      20
 5 みかん      10
 6 ばなな      90
 
[3]
 [ピボットテーブルツール][オプション]
→スライサー
→[品名]だけチェック
→OK
 
●みかん を選択すると
┌――――┐             
| 品名 |             
| ばなな | No.  品名 合計 / 個数
|[みかん]|  2 みかん      40
| りんご |  5 みかん      10
└――――┘             
 
●ばなな Ctrlキーを押しながら りんご を選択すると
┌――――┐ 
| 品名 | 
|[ばなな]| No.  品名 合計 / 個数
| みかん |  1 りんご      50
|[りんご]|  3 ばなな      30
└――――┘  4 りんご      20
        6 ばなな      90

投稿日時: 17/09/20 01:17:23
投稿者: konimegu

たくさんの回答有難うございます。
 
Mikeさんの関数は、複雑すぎて私には理解できませんでした。
んなっとさんのピポットテーブルには馴染みがありません。
 
したかったことは、一度に入力規則で選択したものを複数シートにオートフィルターでチェックを入れて、抽出したかったのです。
具体的には、私が作成し、パソコンに不慣れな他部署の方々に自部署を選択して複数シートを確認してもらう。
そのため、一度自部署を選択したら、すべてのシートでオートフィルターで自部署のみのデータが確認できるようにしたかったのです。
結局、VBAで作成したもので対応いたしました。
いろいろと有難うございました。