こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

エクセルのフィルタ-機能とマクロの問い合わせです

まつと申します。どうぞよろしくお願い申し上げます。
エクセル使用しているのですがレベルは高くありません。
よろしくお願いいたします。
オ-トフィルタ-のテキストフィルタで、条件を2件しか入れられないのですが
増やす事は可能でしょうか。
最大15件まで入力出来るようにしたいです。
可能の場合はどのような操作をすればよいのでしょうか。

増やす事が出来ない場合はマクロでこんな事ができればと考えています。
使用している表は下のようにデ-タが配置されています。
横に長くなるので二段書きになっています。
7行目からがデ-タで、それまでの行は見出し行とお考え下さい。
7行目からのデ-タ行今は30件位しかありませんが、毎週増えていきます。
毎週デ-タの行数は増えていきますが、列の並びは変わりません。
  (列方向の列数という意味です)

A B C D E F
6  既存
or
開発品  品番  USER  用途  全体所要数量  拡販対象数量

G H I J K L M ........U
6 時期 単価 金額 担当 進捗1 進捗2 進捗3 ........

列K L M のセル内容が毎週更新されていきます。
K7 L7 M7 以下のセルに対し記載内容に指定語句たとえば
  リンゴ  ミカン  トマト ・・・・など指定語句が含まれている
  行を表示したいのです。
指定語句はメッセ-ジボックスみたいなものから入力し、
検索条件はOrで検索したい。
一件入力するたびに次の語句入力を聞き、無しと指定すれば検索実施。
列K L Mへの記載内容は事前に語句の調整をしておき同じ語句でも
半角・全角などの違いがないように修正されているものとします。
対象がなければ対象無しのメッセ-ジを表示したい。
こんな事は可能でしょうか。
検索が実行された後の検索状態を解除し、元の状態に戻す事も
やりたいです。


以上

投稿日時 - 2011-06-15 08:41:13

QNo.6810707

困ってます

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

検索項目が多くなっても対応できる方法として作業列を設け、その作業列を重点にしてオートフィルタを実施すればよいでしょう。
例えばZ7セルから下方にはリンゴ、ミカン、トマトなどの検索したい文字を行を変えて入力します。
その上でW6セルには検索作業列とでも入力します。W7セルには次のような式を入力します。

=IF((COUNTIF(K7:U7,Z$7)+COUNTIF(K7:U7,Z$8)+COUNTIF(K7:U7,Z$9)+COUNTIF(K7:U7,Z$10))+COUNTIF(K7:U7,Z$11)+COUNTIF(K7:U7,Z$12)+COUNTIF(K7:U7,Z$13)),1,"")

この式ではZ7セルからZ12セルまで入力した文字列が検索されます。式を追加すればさらに検索の文字列を増やすことができます。その結果該当する行には1が表示されますのでW列を重点にオートフィルタを実施することで該当の行が抽出され表示されますね。オートフィルタを解除すればあるいはすべて表示を選択すれば元の表に戻すことができます。

なお、検索したい文字列はZ7セルから以降に入力するのですから、マクロの場合のように次々に検索文字を入れていくことよりも検索にはどの文字列が使われたかを一目でわかりますのでマクロよりも便利に使うことができるでしょう。

投稿日時 - 2011-06-15 09:34:24

お礼

何でもマクロ的な考えしか思い浮かばない固い頭に渇でした。
条件式(と表現させて下さい)で絞り込んでいくのですね。
条件が多くても使用出来そうなので早速トライしてみます。
ありがとうございました。

投稿日時 - 2011-06-17 06:52:01

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.3

条件を3つ以上に増やす方法はありません。


マクロに精通していれば,ご自分でユーザーフォームとマクロを駆使して,ご自分の使いやすいように検索プログラムを自作する事も可能です。
でも丸投げでどこのメニューをクリックしてから手取り足取り全部教えてくださいのレベルですと,ここまでやるのはちょっと厳しいので,代わりにデータメニューのフィルタから「フィルタオプションの設定」といったエクセルの基本機能を使い,抽出を行います。
参考にしてください:
http://www.wanichan.com/pc/excel/2003/05/193.html
http://www.eurus.dti.ne.jp/~yoneyama/Excel/filter3.htm

ワークシート上に検索条件(リンゴやトマト)を記入し,フィルタオプションの設定の機能を使ってOR条件で抽出できる,確認したらフィルタを解除できるといったことを,まずはご自分の手を動かして操作できるようになってください。
その次のステップとして,確立した操作手順を簡単なマクロに自動化していくのは,容易な作業で実現できます。

投稿日時 - 2011-06-15 09:38:30

お礼

アドバイスいただいた条件絞り込みで考えてみようと思います。
条件を増やせない事もお教えいただきありがとうございました。

投稿日時 - 2011-06-17 06:47:18

ANo.2

回答1です。W7セルに入力した式は下方にオートフィルドラッグしてください。

投稿日時 - 2011-06-15 09:36:24

あなたにオススメの質問