表から複数条件を満たす行を検索する方法は?

このQ&Aのポイント
  • 表全体から複数条件を満たす行を効率的に検索する方法を知りたいです。現在、列ごとにフィルタをかけて条件に該当する行を探していますが、正確に抽出できない場合や時間がかかることがあります。同じ手間をかけるなら他の方法があれば教えてください。
  • 私は表を使って複数の条件を満たす行を検索したいです。現在は列ごとにフィルタをかけて条件に該当する行を探していますが、正確に抽出できない場合があります。時間もかかるため、より効率的な方法を知りたいです。アドバイスをお願いします。
  • 数十列、数千行の表から複数の条件を満たす行を効率的に検索したいです。現在は列ごとにフィルタをかけて条件に該当する行を探していますが、正確に抽出できない場合や時間がかかることがあります。同じ手間をかけるなら他の方法があれば教えてください。
回答を見る
  • ベストアンサー

表全体から複数条件を満たす行を検索する方法は?

数十列、数千行から成る表の各セルに数値データがランダムに入っています。(1~99の範囲) 例えば、50.55.60.65の4個の数値を含む行を検索したいとします。 今は、各列ごとにフィルタをかけて、この4個のいずれかが入っている行をメモり、その後、該当行だけを抽出し、この4個の数値がすべて含まれる行を探し当てる。というような具合です。(これをやるのに1日かかります) TVドラマ等で、数項目の条件を入れてやると該当者○人とか出ますが、それに近いことができないものかと思っているのですが・・・? 今の方法だとフィルタをかける列の順序によっては正確に抽出ができず モレてしまうこともあります。 同じ手間をかけるならこうしてみたら・・の案があればアドバイスをいただければ幸いです。

  • enimy
  • お礼率86% (225/259)

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

  • ベストアンサー
  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.1

フィルタオプションの設定(詳細な条件設定での抽出)  http://www.eurus.dti.ne.jp/~yoneyama/Excel/filter3.htm#syousai 複数条件で抽出する [AND条件,OR条件の書き方] ・異なる行とはOR条件での検索になります。 を参考に1つの項目に対して4つの条件を与えるのか、 ・検索条件は同一行はAND条件での検索になります。 を参考に4つの項目に対して1つずつの条件を与えるのか、 が考えられますけど。

enimy
質問者

お礼

早速の回答ありがとうございます。 一見しただけでは理解ができないため、じっくり勉強させていただきます。おおいにヒントになりそうです。 途中で不明なことが発生のおりには、またよろしくお願いいたします。

その他の回答 (1)

  • gyouda1114
  • ベストアンサー率37% (499/1320)
回答No.2

>数項目の条件を入れてやると該当者○人とか出ますが、それに近いことができないものかと思っているのですが・ 50.55.60.65のを数えるのであれば COUNTIF関数で COUTIF(範囲、検索条件) 位置を調べるのであれば 条件付き書式で Excel2007であれば4種類でも可能です。

関連するQ&A

  • excel 2003 オートフィルタ!

    excel 2003で、オートフィルタがうまくいきません。 A列の2行目から、1~5までの数字がランダムに並んでいるとします。 A1セルをオートフィルタし、 条件を、オプション>3を含む で指定すると、3がフィルタされてほしいのですが 1つも抽出されません。 3で始まるもだめでした・・ フィルタで抽出するマクロをくんでいて 列は、20列以上あり、 列によって、文字や数値があります。 フォームで列を選び、検索文字を入力して Criteria1:="=*" & 検索文字 & "*", Operator:=xlAnd と言う感じでフィルタしています。 文字はできますが、数値ができないのは、なぜでしょうか・・・

  • 複数条件での検索

    エクセルでワークシートの A列に開始日が日付形式で入っています B列に終了日が日付形式で入っています C列に商品番号がAA2035のような文字列で入っています。 D列に価格が数値で入っています。 各列とも、重複する値があります。 E1セルに日付、F1セルに商品番号があった場合のその日付(E1)が開始日(A列)から同じ行の終了日(B列)の間にあるその商品の価格を求めたいのです。なお、この条件に該当する価格は各商品ともひとつしかありません。 作業列を使用する方法はわかりますので使用しない方法を教えてください。

  • エクセルで複数行のセルからフィルタ抽出する方法

    エクセルで複数行のセルからフィルタ抽出する方法 エクセルで、何日に誰が日直、当直に入ったかをまとめている表があります。平日は当直4人.土日は日直と当直が各4人ずつです。 aさん 1| 2|8|15|31 bさん1|5|9|14 cさん1|6|24|30 dさん2|1|4 . . . 縦棒はセルの区切りです。(数字ごとに1つずつのセルに入力しています。) 日直日誌(紙媒体)から手入力をしているので、最後に2人で読み合わせをしています。複数の列をまとめてフィルタ掛けして、例えば1日(1と入力している)で絞ると、aさんbさんcさんしか出てきません(一番左の列からしか引っ張れず、dさんが引っ張られない) どの行、どの列のセルの数字も対象にして、フィルタがけして引っ張る方法はありませんでしょうか?

  • エクセル 条件付き書式 1行ごとに検索値がある場合

    エクセルに数値データがあるのですが、それを1行ごとに検索値をおいて行ごとにその値±2の範囲に該当する数値に色付きセルにしたいです。 A日付   B検索値 C数値  D数値  E数値・・・ 20141201  4.4  5.5   10.9   -0.2 20141202  -1.2  3.3   -2.8   14.2 という感じです。最初の行なら、2.4-6.4の範囲に該当するCの5.5を色づけ。 2行目は-3.2-0.8の範囲にあるDの-2.8を色づけという風にしたいです。 どのようにしたらいいのでしょうか?

  • エクセル 複数列からの同一条件抽出について

    表題の質問をさせていただきます。 B列からF列まで金額の入っている表があります。 基本的に金額の数字なのですが、割引をした場合に金額の数字のまえに「割」と入力しています。 例   1,000・・・割引無し(通常入力)    割1,200・・・割引有り そこで質問させていただきたいのは、 「割」と入力したセルがB2、B16、C9、D18、F5にあったとして、その該当行のみを抽出するにはどうしたらよいのでしょうか。 各行への入力はBからFまでの どれか1セルのみです。 オートフィルタオプションでは一つの列からしか抽出できなくて悩んでおります。 よろしくお願いいたします。

  • 同じ様式の表の複数シートから行ごと抽出

    A2:K12の範囲に表がある全く同じ様式のシートが複数あります。 特定の条件が満たされた行を全て別シートに抽出したいです。 1列目と2列目とX列目(これは集計のA1セルに入った値を参照)が空白でない行を全て抽出したいです。1列目と2列目は1行目から順番に埋まっているのですが、X列目は空白になっているものと空白でないものが混在しています。 たとえば、Xが10列目のときは、Aさん、Bさん、Cさん、Dさん、Eさんの行が抽出されるようにしたいです。 VBAのコードを自力で書けないので、よろしくお願いします。

  • 複数表から検索値を検索し、検索値の存在した表から結果を求める方法

    ソフトはエクセルの2000です。 やりたいことは、 「複数表から検索値を検索し、検索値の存在した表から値を抽出する方法」もしくは 「A2:H11から検索値を検索し、検索値から○行下の値を抽出する方法」 になると思います。 以下に例を記入します。 下記のように「項目」と「名称」2列で構成された表を下に作成しているとします。       A列   B列    C列   D列   E列    F列   G列   H列 1行 2行 3行   社名 ○○○社       社名 □□□社       社名 ◆◆◆社 4行   場所 ○○○県       場所 □□□県       場所 ◆◆◆県 5行   件名 ○○作業       件名 □□作業       件名 ◆◆作業 6行   担当 ○○○殿       担当 □□□殿       担当 ◆◆◆殿 7行    8行   社名 ×××社       社名 △△△社 9行   場所 ×××県       場所 △△△県 10行   件名 ××作業       件名 △△作業 11行   担当 ×××殿       担当 △△△殿 A1のセルに「△△△社」と社名を入力すると、B1セルに場所の「△△△県」が表示するようにしたいのです。 複数のIF関数で括れば可能だとは思いますが、表の数が制限され、関数式も長くなるためIF関数の使用は控えたいと思っています。 また、マクロを使わない方法でお願いします。 可能なら関数で、関数で不可能なら名前の定義を使用した方法を教えてください。よろしくお願いします。

  • エクセルで、条件に一致した行を別のセルに抜き出す方法

    エクセルで、指定した条件に一致するセルを含む行をすべて抜き出す方法が知りたいです。 たとえば、 <A列> <B列> <C列> 7/1 りんご 100円 7/2 ぶどう 200円 7/2 すいか 300円 7/3 みかん 100円 このような表があって、100円を含む行をそのままの形で、 別のセル(同じシート内)に抜き出したいのですが。 7/1 りんご 100円 7/3 みかん 100円 抽出するだけならオートフィルターでもできますが、 抽出結果を自動的に、別の場所に、常に表示させておきたいのです。 初歩的な質問だと思いますが、検索しても分からなかったので、よろしくお願いします。

  • Excel2003 ユーザー定義関数 で SUBTOTALとSUMPRODUCTの複合できますか?(複数条件)

    こんばんは。お願いします。 まず、セルA2、B2にそれぞれフィールド名"あ"、"い"があるとします。 この2列目以下にオートフィルターを使います。 A列のA3,A4…には文字列"a","b","う",または"かき"が入っていて、 B列のB3,B4…には数値(整数)が入っているとします。 このとき、セルB1にVBAで作成した関数を入れたいと思っています。 Excel2003です。 その関数は、以下の条件(1)と(2)を同時に満たします。 (1)A列が"a"または"かき"である場合のみ、その行のB列の数値の合計を計算する(SUMIF関数で可能) (2)オートフィルターを用いて抽出したら、表示されているB列の数値だけの合計を計算する(SUBTOTAL関数で可能) (3)作業列は使えません。 要するに、表示されているセルのうち、条件にあうもののみ計算したい、ということです。 もしこのようなことがワークシート関数でもできるのであれば、それで構いません。 どうぞ、よろしくお願いいたします。

  • 特定条件に該当する行を全て削除するVBAのプロシージャ

    お世話になります。(質問を書き換えました、前回ご対応いただいた方にはお詫び申し上げます) プログラムから出力されたレポート(エクセル形式)の不要な行をフィルタ等で抽出し、削除したいのですがどのようにVBAのプロシージャを書けばよろしいのでしょうか? 具体的には 1:[D列]の"空欄"もしくは"---"をで始まるセル 2:[G列]の空欄のセル 3:[H列]のGで始まるセル のいずれかに当てはまる行を全て削除したいのです。出されるレポートの総行数は毎回異なります。(自動記録では違うデータのレポートに対応できません)行数は毎回変わりますが100~200行くらいです。 毎日の作業ですので、出来ればVBAでマクロ化したいのですが。 自動記録でフィルタの設定までは出来ても、その後の行の削除をどう指定すればよいのかアイデアが浮かびません。抽出された行のA列にコメントを付して、その後コメントを付した行を削除しようとも考えましたが、どう書けばいいのか。。。 ちなみに全ての行に値が入っている列はありませんので、D列のみ全てのセルに手動で"1"を入力しようとも思っております。 よろしくお願いいたします。

専門家に質問してみよう