Excelのフィルタでデータを抽出し、自動反映する方法

このQ&Aのポイント
  • Excelのフィルタを使用してデータを抽出する際、元データを更新すれば抽出データも自動で更新される方法をご存知ですか?現在はフィルタをかけなおす必要がありますが、自動反映させる方法があれば教えてください。
  • Excelのフィルタを使用してデータを抽出していますが、元データを更新した際に抽出データも自動で更新されないため、手作業でフィルタをかけなおしています。もし、自動反映させる方法があれば教えてください。
  • 表題の通り、Excelのフィルタを使用してデータを抽出していますが、元データを更新した場合、抽出データも自動で更新されないため手間がかかっています。もし、自動反映させる方法があれば教えてください。
回答を見る
  • ベストアンサー

Excelのフィルタの自動反映

閲覧ありがとうございます。 表題の通り、Excelのフィルタでデータを抽出したいのですが、 元データを更新すれば自動で抽出データも更新されるようにすることはできますでしょうか。 以下に現状行っていることを記載いたします。 ソフト:JUSTの表ソフト 現状:抽出用シートのフィルタ>詳細設定より、    リスト範囲:元データのシート    条件:抽出データのシート上部に羅列して複数条件付け    抽出範囲:抽出データのシートの4行目以降に抽出    としています。 やりたいこと:元データのシートを更新したら上記のフィルタが自動反映されるようにしたい 元データの更新は、別のデータからコピペで貼る方法しかありません。現状、更新したいときはフィルタをかけなおしています。 お分かりの方がいらっしゃれば教えていただければ幸いです。 また、詳しくないためもしマクロなどになるなら詳しく教えていただければありがたいです。。

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

  • ベストアンサー
  • HohoPapa
  • ベストアンサー率65% (454/690)
回答No.4

「元データ」シートにリストがある。 つまり、1行目に項目名が横方向に並び 2行目以下にデータたちが書き込まれている。 普段、以下の作業を行っている。 ・「元データ」シートのリストのデータたちに行追加などを行う  (多くの場合、別なデータたちをコピペすることで行追加している) ・オートフィルターを再設定し ・フィルターの機能でいくつかの条件を満たす行だけに絞る ※ ・「抽出データ」シートの4行目以下を全数行削除する ・絞ったデータたち※を「抽出データ」シートの4行目以下にコピペする。 これらの作業を省力化したい。ということでいいでしょうか? VBAを持ち込む必要があることは理解されているんですね? つまり、VBAのイロハ程度は扱えるということでいいですか? ならば、私だったらフィルターを使わず、VBAとSQLを使います。 コードを紹介したいところではあるんですが、 ・1行目の各項目名と属性(数値、日付、文字列の別) ・普段フィルターに設定している絞り込みの具体的な条件 ・今後の増加予想を加味した場合の「元データ」シートのリストの最大行数  ざっくりでいいです。(数千?、数万?、数十万?レコード) これらが未詳なのでコードの紹介が困難です。 いかがでしょうか。

Englandv
質問者

お礼

お忙しいところ、ご親切にご回答いただきありがとうございました。 おっしゃる通りの質問でございました。明るくないもので、お伝えすべき情報に抜けがあり、お手数をおかけいたしました。 VBAに関してはこの質問を投稿する前にいろいろと調べた中で見つけただけで、イロハのイも分からないのですが、 頂戴した回答をもとに解決まで辿り着くことができました。 重ね重ね、ありがとうございました。

その他の回答 (3)

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.3

質問内容が、珍しいと思う。JUSTとの関連の質問は珍しと思う。 パターンとしては、同じエクセルの別シートからのコピー貼り付けでも同じ、心配・問題になるだろう。 ーー 「JUSTの表ソフト」とはジャストシステム社の表計算ソフト(JUST Calc 4?)の表(シートのセル範囲の、多分一部。エクセルへのシートコピーはないだろうから。)を、操作でコピーし、エクセルの表に張り付けるのか。 (このコーナーの質問として、JUST関連は珍しいので、詳しく質問を書くこと。昔はジャストシステムは常識だったが、最近の若い人は知らない人も多いのでは。だから丁寧に書くこと。) その際、同じ列項目構成の表なので、前回の、エクセルに設定したフィルターの条件などの設定を、今回もそのまま使える操作や、設定があるか?ということか。 エクセル側で、データ更新扱いができるか、ということだろう。 ーー 一番確実なのは、VBAで、フィルター設定を修正してもらって、そのまま使うことだろう。 VBAは経験ないのか。 ーー マクロの記録を取る、がおすすめ。 私のデータ例の場合は、マクロの記録を取った結果は Sub Macro1() ' ' Macro1 Macro ' Range("A1:D8").Select Range("A1:D8").AdvancedFilter Action:=xlFilterInPlace, Unique:=False Range("H1").Select ActiveCell.FormulaR1C1 = "'県" Range("H2").Select ActiveCell.FormulaR1C1 = "'千葉" End Sub データ行数が変わるなら Range("A1:D8").Select の辺りが変わる。 これも対処するやり様がある。。 Range("A1").CurrentRegion.Select に変える方法だ。 ーー Sub Macro2() ' ' Macro1 Macro Range("A1").CurrentRegion.Select Selection.AdvancedFilter Action:=xlFilterInPlace, Unique:=False Range("H1").Select ActiveCell.FormulaR1C1 = "'県" Range("H2").Select ActiveCell.FormulaR1C1 = "'千葉" End Sub ーー マクロもこんなに行数が少なく、コードの各行を見ても、それで、何をしていしているか、瞭然だろう。 仕事などでエクセルを使うなら、VBAを使うことは必須だと思う。 私のやった上記は1つの条件だが、フィルタの複数条件の設定は判っているだろうから、横方向や横方向に条件を並べればよい。 ーー それにしても、先行回答者への、言い方は、読んで感じが悪い、とおもった。

Englandv
質問者

お礼

コードのご紹介まで、ご親切にご回答いただきありがとうございます。 また、詳細の記載ができておらず、お手数をおかけしました。(仕事でもExcelやJUSTはあくまで簡単なデータ抽出でしか扱わないため、何をどこまで書けばよいのかがまず分からず…。まさに最近の若い者でありますので、JUSTは特に) おかげさまで諸々解決いたしました。 また先行回答者様への返答の件は、ご不快な気待ちにさせてしまい申し訳ありません。 本気で困っているところ、見当違いなことを煽るような文体で言われたため、必要以上に自衛してしまいました。あとで反省しましたが、仕様上編集などはできず。 ご回答ありがとうございました。

  • msMike
  • ベストアンサー率20% (363/1775)
回答No.2

其ンな事だらうとは推察してましたが、 「羅列」は次の樣な使ひ方をするのが一般的です。 ⇒數字や文字列を“羅列”するだけでは意味が無い。 詰り、意味無しに(ダラダラと順序も無くただ機械的に端から並べて)行く事が“羅列”であり、 此れに對し、 或る順序や條件に從って並べる事は“配列”や“排列”と称されます。 貴方自身も調べてみて下さい。

Englandv
質問者

お礼

ご教授ありがとうございます。 ただ、私は列挙の意味で「羅列」を使用しておりますし、ご指摘のフィルター条件に関しても、ご存知の通り順序など全く関係はなく、文字通りあてはめたい条件を「羅列」しております。 そもそも私の書き込みの意味をご"推察"されていたなら、そんな主旨と関係ないところを無駄に突っ込む意味はないと思いますが。 そして、"一般的な使い方"というのをそこまで…質問内容と関係ない回答を投稿してまで気にされるのでしたら、"一般的な"かな遣いや漢字選びをされてはいかがでしょうか。 私がお伺いしたい内容とはかけ離れておりますので、これ以上のご指摘は不要です。 今後は質問内容とカテゴリーをよく確認してから回答されることをお勧めいたします。 ご回答ありがとうございました。

  • msMike
  • ベストアンサー率20% (363/1775)
回答No.1

》 条件:抽出データのシート上部に羅列して複数条件付け 其ンな説明じゃサッパリポン!

Englandv
質問者

お礼

閲覧ありがとうございました。 フィルタの詳細設定の条件付けは普通、見出しと条件を羅列して行う方法しかないと思っていたので特に重要な点じゃないと思いざっくり書きましたが・・・わかりづらかったようですみません。

関連するQ&A

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

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

  • エクセルでフィルタをかけて

    エクセルでフィルタをかけて コピペする時、可視セルにしてからでないとフィルタで抽出した データのみを貼り付けできない時と可視セルにしなくても 抽出した条件のデータのみコピペできる時が あるのですが、これはエクセルのバージョンにもよるのでしょうか?

  • Excel フィルターオプションの設定について

    Excel2010を使っています。 データ表からデータを抽出するのにフィルターの「フィルターオプション」を使っています。 データ範囲の外側に抽出条件を入力するのですが、数値の範囲の条件の記述方法がわかりません。 条件に「>=50」や「<=200」は正常に抽出するのですが、50から200の範囲のデータを抽出するのに条件の書き方がわかりません。 「>=50」と「<=200」の2つを条件にするとすべてのデータが抽出されます。 教えてください。 宜しくお願いします。

  • エクセルで、オートフィルターに多数の条件をいれたい

    表題のように、エクセルで、日付、商品名、分類、数量、単価、金額・・・などの情報を、横並びにして、その一つ一つのデータが縦に1000行強あるようなシートの構成において、オートフィルタを使ってある条件にあったもののみを抽出したいのですが、条件が二つまでならオートフィルタのオプションで選べますが、ランダムな条件を4つ、あるいは6つという風にたくさん入れたい場合、どうすればいいでしょう?データとしてはピボットで解決できて集計もできますが、ピボットだと最初のデータと見た目が全然違ってしまうのであとに続く処理にはふさわしくないのです。 関数を使って、あるシートから多数の条件にかなったものを抽出するにはどうすればいいでしょうか?よろしくお願いします。

  • エクセル2000フィルター抽出条件式について

    フィルター抽出条件がうまく抽出出来ません教えてください。 抽出条件式 別シートで作っている。(Bシート)  巡視日      巡視日 >=2002/05 <=2002/07 条件式の意味 2002年5月以上で2002年7月以下のデータを抽出する。 2002年5月以上のデータは抽出できるが、2002年7月が抽出されない 2002年5月と2002年6月しか出てこない。 データベース(Aシート) C列 巡視日 4月8日 5月11日 5月11日 6月5日 7月4日 7月4日 エクセル操作(データ→フィルター→フィルターオプション設定)で 検索条件範囲を 巡視日      巡視日 >=2002/05 <=2002/07 指定してやるとデータベース(Aシート)のC列の抽出が 2002年5月以上のデータは抽出できるが、2002年7月が抽出されない 2002年5月と2002年6月しか出てこない。 何故でしょうかよろしくお願いします。

  • EXCELのフィルタオプションで

    EXCELでフィルタオプション(AdvancedFilter)を使ったデータの抽出がしたいのですが、 空白以外のセルを抽出するには、検索条件範囲に何と書き込めばいいのでしょうか? オートフィルタのように「<>」と書き込んでもだめでした。(空白セル「=」は出来たのに) お願いします。

  • エクセルでフィルタオプション

    質問します。 エクセルでフィルタオプションを使って、ある表のデータを抽出します。 抽出先が、“選択範囲内”を選んで抽出する。 しかし、本当に見たいデータは、その条件で抽出されなかったデータA(下記式参照)が見たい場合 どうすればいいか。   allデータ    -B データ        =Aデータ (原データすべて)-(抽出されたデータ):(抽出されなかったデータ)            抽出条件を満たすデータ : 抽出条件を満たさないデータ             条件設定簡単   : 条件設定複雑             特に必要としない : 本当に見たいデータ

  • Accessのフィルタについて

    Access2002のフィルタについて質問します。 データシートで性別フィールドにはチェックを入れると「男性」チェックを入れないと「女性」というようにしています。 データシートから「フィルタ/並べ替え」で男性だけを抽出しようとしました。「レコード」「フィルタ」「フィルタ/並べ替え」で「抽出条件」に「True」と入れると男性が抽出されました。しかし「抽出条件」に「True」である「1」を入れても抽出できません。「0」を入れると「女性」が抽出できるのですが、なぜか「1」では「男性」が抽出できません。 しかし「-1」だと「男性」が抽出できました。これはなぜでしょうか? 「True」は「1」ではないのでしょうか?教えてください。

  • 「コピペについて」EXCEL初心者です。簡単にお願いします。

    今仕事で、EXCELを使ったデータ入力作業を行っています。 5000件のデータを入力し終わり、いざ本元のシートへとコピペしようとしたのですが、うまくいきません。 本元のシートというのは15000件のレコードを持つEXCELデータです。今回のデータ入力分シート(前述の5000件)はこの中から選出されたデータであるため順不同(レコードが飛んでいる、すでに入力済みなど。手作業で行われているためどこが抜けているか判断しづらい)です。 よって、フィルタオプションを使用して、本元のシートから5000件のシートを検索条件とし、抽出しました。本元のシートはうまく5000件のシートと同じように並んだのですが、コピペでどうしても躓いてしまいます。 範囲指定からコピペをしても、「コピー範囲と貼り付けの領域が違う」と怒られた為、一番トップにあたるセルを選択しペーストをしたのですが、なぜか、レコードがずれて入力されてしまうのです。 このとき本元のシートを全て表示してみると、抽出されていないレコードにデータが入力されていました。 どなたか、いい方法を教えていただけませんか?初心者ですので簡単な方法をお願いします。。。

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

    エクセルで住所録を作り、そのうちの東京都のデータだけオートフィルタで抽出し、それを別のシートにコピーして表を作りたいのですが、抽出はできても表にすることができません。オートフィルタで抽出したデータだけを一覧表にすることはできないのでしょうか?

専門家に質問してみよう