• ベストアンサー

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

一つのシート 1~100列目に Aというデータが入っています。102~200列目まで Bというデータが入っています。 A と B 二つのデータにそれぞれフィルターをかけることは出来ますか? なるべく1つのシート内で出来ればと思っています。どなたか 良い方法がありましたら教えてください。お願いします。

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

  • ベストアンサー
  • ok2007
  • ベストアンサー率57% (1219/2120)
回答No.2

プログラムの概要としては、「列の範囲指定をして、指定する条件に合致しない列を非表示とする」ことを、 1~100列目と102~200列目とに対しておこなうことになりましょう。 1~100列目での例を挙げれば、例えばこのようなものになるのではないかと思います。 For i = 1 To 100 If Cells((行番号), i) <> (条件) Then Columns(i).Hidden = True Next i なお、「列」(横方向:256列目まで)ではなく「行」(縦方向:65536行目まで)であれば、If~の部分はこのようになるかと思います。 If Cells(i, (列番号)) <> (条件) Then Rows(i).Hidden = True

K42008S
質問者

お礼

お返事ありがとうございます。 ためしに やってみたのですが、ちゃんと理解できない為 うまくいきません。 時間をかけて ゆっくり飲み込んでいこうと思います。 御協力 本当にありがとうございました。

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

その他の回答 (2)

  • ok2007
  • ベストアンサー率57% (1219/2120)
回答No.3

No.1&2の者です。 すみません、1点書き漏らしたことに気付いたので、追記させてください。 No.2でご紹介したプログラムは、フィルタそのものではなく、「条件に一致しない列(または行)を非表示にする」という処理です。これにより、フィルタと同等の機能を持たせられるのではないかと考えた次第です。 また、VBAで不明点が生じたときは、掲示板を活用なさってもよいものと思います。私の知るところでは、この掲示板の「その他(プログラミング)」カテゴリーのほか、mougやエクセルファンクラブ、VBA質問箱などが、比較的活発に利用されているようです。なお、これらを活用する際には、今まで以上にネチケットに配慮なさってくださいね(特に、マルチポストはかなり嫌われるのと、何が分からないのかを出来るだけ具体的に特定することが肝要のようです)。

K42008S
質問者

お礼

教えていただいた 掲示板他 でもう少し勉強をしてみようと思います。 いろいろわかってくると VBAが楽しくなりそうですね。 御丁寧にありがとうございました。

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

マクロ(VBA)を利用すれば、可能だと思いますヨ。

K42008S
質問者

お礼

御回答ありがとうございます。 私はVBAに詳しくないので 自分では構成できないのです。 もともとのものを ちょっと修正するくらいしかできないもので・・・ お手数でなかったら プログラミング(?)を教えていただきたいのですが。

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

関連するQ&A

  • EXCEL 2列交わる条件でフィルタをかけたい!

    初心者ですいません。 A列に対してB列の値を、複数条件でフィルタをかける方法を教えてください。 例えば…下記のように、 B列の(値→⚪︎を含まない値→×)だけに絞った A列の値を、別のシートに抽出したいと思っています。 ======================== 【フィルタ前】 A列 B列 ーーーーーーー 1 × 1 × 1 ⚪︎ ーーーーーーー 2 × ーーーーーーー 3 ⚪︎ 3 × ーーーーーーー 4 ⚪︎ ーーーーーーー 5 × 5 × 5 × 【フィルタ結果】 A列 B列 ーーーーーーー 2 × ーーーーーーー 5 × ======================== 1シートに対しデータが1000行位で、 5シートあるので、困っています。 どんな方法でも良いので、宜しくお願いします。

  • Excelのフィルタについて

    ~で始まるフィルタを掛けたいのですが、例えば A列(数値形式) B列(文字列形式) 112 113 221 222 224 445 551 といったデータがあり、22で始まるデータのみフィルタしたいとします。 数値形式のA列ではフィルタが掛けられないので、 (1)B列を文字列形式に設定 (2)A列をコピー (3)B列に値でコピー この状態で22で始まるデータでフィルタを掛けると、何も表示されません。 ですが、B列の各セルをWクリックしていくと、Wクリックしたセルはフィルタが かかるようになります。 データが大量にある場合は、いちいちWクリックしてられないので、 何か方法はないでしょうか?

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

    エクセル2000を使っています。 フィルターをかけた結果データを自動的に別のシートに作成するようなことはできますか? たとえば、SHEET1に1から100までのデータがあるのですが、ある条件Aでフィルターをかけて抽出された30件のデータだけの別のSHEET2、また、条件Bで抽出された20件をまた別のSHEET3に自動的に作れたらというイメージです。 よろしくお願いします。

  • excel オートフィルター後の通し番号

    A列からP列まで1から100までの表に A列に 通し番号を つけてあります。 これを B列や G列で フィルターをかけて 抽出した データの一覧を 印刷または集計するときに 通し番号を つけてあるA列の 番号が 抽出していないデータも当然かぞえてあるから 抽出データのみに通し番号がつくようにしたいです。 できれば フィルターかけたと 同時に変わる仕組みが望ましいです。 別シートにコピーはしないで このままの表をつかって できないものでしょうか?

  • エクセルでフィルター実行時の重複データの処理

    お世話になっております。 単純な事なのですが、最近使用頻度が増加して毎回手間をかけている作業を解消したいのです。 2000行程度の表のB列に氏名、C列以降に個人データが入っているようなシートがあります。 目的に応じて色んな列でフィルターをかけて、最終的にはB列の名前だけを重複を避けた形で別のシートに張り付けたいのです。 これまでは毎回フィルター結果を別のシートのB列にコピペしてA列にIF(B1=B2,0,1)でA列で「1」でフィルターをかけて目的の氏名だけコピペしていたのですが、元のシートのまま1回で名前の重複を避けて表示できないかと色々考えたのですが現行の方法よりも手間がかかるのでギブアップです。 B列の名前の重複を避けて抽出する簡単な方法は無いでしょうか? 説明が分かりにくくて済みませんがよろしくお願いします。

  • エクセルの、オートフィルタ抽出後の貼り付けについて

    エクセルで、 A列に連番のデータIDが、B列~Z列まで数値データが入っています。 A列には、24データごとに、-1、-2、-3の3行が入り、その後、連番が続きます。 行-1は平均値、-2は最小値、-3は最大値を求める数式が入っています。 オートフィルタで、この数式の入った行以外を抜き出した後、別シートから数値を貼り付けたいのですが、隠れてる行にも張り付いてしまいます。 表示されているところのみにデータを貼り付ける方法はありますでしょうか?

  • エクセル オートフィルタで件数と割合

    A列に都道府県、B列に市区町村、C列に性別、D列に年齢・・・ でI列までデータが入っている表があります。 オートフィルタを使って、例えば A列で東京都を選び、B列で新宿区を選んだ場合、 東京都の件数に対する新宿区の件数割合が、同じシートのどこかのセルに表示できないでしょうか? データは2000件ほど。SUBTOTAL関数で、全体の件数に対する割合は出せたのですが、任意に選んだ項目に対する割合を出す方法が見つかりません。 データもI列までありますので、最初にオートフィルタで選ぶ列がA列とも限らず、また3列・4列選ぶ事もあります。 EXCEL2000です。簡単な関数なら使った事があります。どうかよろしくお願いします。

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

      A   B 1 1   1,2 2 1-1  1 3 1-2  2 4 2   10,11 5 2-1  10,11 6 2-2  10,11 7 2-3  11 のような表があり、フィルタで   A   B 1 1   1,2 2 1-1  1 のようにB列の1に関係するものを表示させたいのですが・・・ 他にも2に関係するもの、10に関係するものをフィルタ表示させたいです。 B列には、いろいろな数字が入ってきます。 どなたか教えていただけないでしょうか?

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

    エクセルのオートフィルタについて教えてください。 エクセル2003です。 データ-並べ替え で複数の列に対してレベルごとに昇順で並べ替えをしますが、これをオートフィルタではできないのでしょうか? 例えば、A列にクラスデータがあり、それをオートフィルタで昇順にしておいて、それをレベル1として、B列に点数があり、それをオートフィルタで降順にして、それをレベル2とするような使い方です。

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

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