• ベストアンサー

エクセルで検索して別シートに抽出したい

エクセル2010で顧客リストを作成しています。 http://ziddy.japan.zdnet.com/qa6798171.html 上記の質問のベストアンサーを参考にさせていただいて、 2つの条件までは、うまくいくのですが、3つめからうまくいきません。 この方法では2つまでしかできないのでしょうか? 初心者な質問ですいません。

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

  • ベストアンサー
  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.3

回答No2です。 シート1であいまいな文字も検索に入れるのでしたらシート1のF2セルには次の式を入力して下方にドラッグコピーします。 =IF(A2="","",IF(SUM(IF(A2=Sheet2!A$2,1,0),IF(Sheet2!B$2="",0,IF(COUNTIF(B2,"*"&Sheet2!B$2&"*"),1,0)),IF(Sheet2!C$2="",0,IF(COUNTIF(C2,"*"&Sheet2!C$2&"*"),1,0)),IF(D2=Sheet2!D$2,1,0),IF(Sheet2!E$2="",0,IF(COUNTIF(E2,"*"&Sheet2!E$2&"*"),1,0)))=COUNTA(Sheet2!$A$2:$E$2),MAX(F$1:F1)+1,"")) その他の操作は回答No2と同じです。

onecoih
質問者

お礼

回答、ありがとうございました。 参考にさせていただきます。

その他の回答 (3)

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.4

>抽出したい項目はどこからでも、検索ができ、部分一致で検索ができればと考えております。 どこからでもの意味が、AからF列のデータすべてを対象にしてという意味なら、たとえばB列の名前を抽出するなら以下のような数式を入力して下方向にオートフィルすれば表示することができます。 =INDEX(B:B,SMALL(INDEX(ISERR(FIND("検索文字",$A$2:$A$100&$B$2:B$100&C$2:$C$100&$D$2:$D$100&$E$2:$E$100&$F$2:$F$100))*1000+ROW($A$2:$A$100),),ROW(A1)))&"" 検索対象の列が限定されるなら、その列範囲だけを&で結合した数式にしてください。 しかし、このような数式(右方向にオートフィルして参照セル範囲を変えた数式)を多くのセルに入力するとシートの動きが重くなります。 実戦的には受付欄や名前など実際に入力されているデータに重複が無いならVLOOKUP関数などを使用することによって計算負荷を少なくすることが可能です。

onecoih
質問者

お礼

回答ありがとうございます。 まだまだ、勉強中の為、参考にさせていただきます。

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.2

次のようにすることで検査抽出する項目が増加しても問題なく対応することができます。 シート1ではA列からE列までの1行目に項目名が有り、2行目から下方にデータが有るとします。 F2セルには次の式を入力して下方にドラッグコピーします。 =IF(SUM(IF(A2=Sheet2!A$2,1,0),IF(B2=Sheet2!B$2,1,0),IF(C2=Sheet2!C$2,1,0),IF(D2=Sheet2!D$2,1,0),IF(E2=Sheet2!E$2,1,0))=COUNTA(Sheet2!$A$2:$E$2),MAX(F$1:F1)+1,"") シート2ではA1セルからE1セルにかけてシート1と同じ項目名を並べます。 2行目には1行目の項目に対応して検索したい項目のところに検索名を入力します。検索の必要のない項目名のところは空白のままとします。 4行目にA4セルからE4セルには1行目と同じ項目名を並べることにします。 A5セルには次の式を入力しE5セルまで横にドラッグコピーしたのちに下方にもドラッグコピーします。 =IF(ROW(A1)>MAX(Sheet1!$F:$F),"",INDEX(Sheet1!$A:$E,MATCH(ROW(A1),Sheet1!$F:$F,0),COLUMN(A1))) これで2行目で指定した検索項目を満足するデータが抽出され表示されます。 なおA列の表示形式は日付の中から指定します。

onecoih
質問者

補足

早速の回答、ありがとうございます。 実際に作業してみましたが、とても素晴らしいもので、感激いたしました。 が、私の記述が不足していたのですが、完全一致ではなく、あいまい検索ができないか?と考えております。 上記のものですと、完全一致のようですが、あいまい検索は難しいのでしょうか? たびたびの質問申し訳ございません。

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.1

条件が増えても基本的に数式で対応することは可能ですが、具体的にどのような条件での抽出を行いたいのでしょうか? このような複数条件のデータ抽出を数式で行う場合は、一般的に複雑な数式を駆使する必要がありますので、実際のデータのレイアウト(セル番地)や抽出したい項目や抽出条件(部分一致か完全一致か)などを、具体的に提示されたほうが良いと思います。

onecoih
質問者

補足

ご指摘ありがとうございます。 おっしゃる通りで、不明でした。申し訳ありません。 レイアウトは、下記のような形です。 受付 名前 住所 電話番号 担当 備考 000001 ああ ○○県 03-XXXX-XXX1 A ▲ 000002 あい ○○県 03-XXXX-XXX2 B □ 000003 あう ○○市 03-XXXX-XXX3 C 000004 あえ ○○町 03-XXXX-XXX4 D × 抽出したい項目はどこからでも、検索ができ、部分一致で検索ができればと考えております。 その他、不足等ありましたら、追記いたします。

関連するQ&A