• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Excelのフィルタの自動反映)

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

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

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

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

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

Englandv
質問者

お礼

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

その他の回答 (3)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答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% (364/1804)
回答No.2

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

Englandv
質問者

お礼

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

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

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

Englandv
質問者

お礼

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