• ベストアンサー

文章内の言葉を検索して関連文章を選択する

現在EXCELでA列の症状、B列に点検内容、C列に改善内容と入力しています。列ごとに違う内容になります。次第にデータが多くなり、EXCELの検索機能が使い勝手が悪くなりました。A1の症状の内容文に「2000RPM」の言葉を検索されればB1及びC1の内容文が見れると助かります。このような検索及び抽出が出来るフリーソフトをご存知の方、教えて下さい。

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

  • ベストアンサー
  • web2525
  • ベストアンサー率42% (1219/2850)
回答No.5

ちょっとだけ改良してみました。 A2~A3に検索語句を入れるのは同じです B列にB2セルに =IF(COUNTIF(Sheet1!A2,"*"&$A$2&"*")*COUNTIF(Sheet1!A2,"*"&$A$3&"*")*COUNTIF(Sheet1!A2,"*"&$A$4&"*"),ROW(),"") 下方向コピー C列~E列はC2に =IF(COUNT($B:$B)<ROW()-1,"",OFFSET(Sheet1!A$1,SMALL($B:$B,ROW()-1)-1,0)) E列までコピー、下方向にコピー

cn21robo1
質問者

お礼

細かくご指導ありがとうございます。いろいろな関数が出てきて、私にとっては難しいですがチャレンジしてみます。

その他の回答 (4)

  • web2525
  • ベストアンサー率42% (1219/2850)
回答No.4

ちょと修正 シート2のB列はB2セルに =IF(Sheet1!A2="","",IF(A$2="",1,COUNTIF(Sheet1!$A2,"*"&A$2&"*"))*IF(A$3="",1,COUNTIF(Sheet1!$A2,"*"&A$3&"*"))*IF(A$4="",1,COUNTIF(Sheet1!$A2,"*"&A$4&"*"))*ROW()) 下方向コピー(シート1のデーター数以上) C2セルに =IF(COUNTIF(OFFSET($B$1,0,0,COUNT($B:$B)),">0")+1<ROW(),"",OFFSET(Sheet1!A$1,SMALL(OFFSET($B$1,0,0,COUNT($B:$B)),COUNTIF(OFFSET($B$1,0,0,COUNT($B:$B)),0)+ROW()-1)-1,0)) Eセルまでコピー、C2:E2を選択して下方向ドラッグ 検索結果の表示部の範囲指定は変更無しで出来ます。 検索語句未入力時に本来シート1の全てが表示されるはずなのですが、データー分の最終行が表示されません、原因は判りません。 (多分どこかで計算式間違えているのかとは思いますがw)

  • web2525
  • ベストアンサー率42% (1219/2850)
回答No.3

補足修正: C2セルの COUNTIF($B$2:$B$15,">0") この$B$15の部分はデータの最終行数へ変更してください。

  • web2525
  • ベストアンサー率42% (1219/2850)
回答No.2

例として シート1にもとデータがある場合、シート2のA2:A4セルに検索語句を入力 B2セルに =IF(A$2="",1,COUNTIF(Sheet1!$A2,"*"&A$2&"*"))*IF(A$3="",1,COUNTIF(Sheet1!$A2,"*"&A$3&"*"))*IF(A$4="",1,COUNTIF(Sheet1!$A2,"*"&A$4&"*"))*ROW() 以下下方向にコピー C2セルに =IF(COUNTIF($B$2:$B$15,">0")+1<ROW(),"",OFFSET(Sheet1!A$1,SMALL($B$2:$B$15,COUNTIF($B$2:$B$15,0)+ROW()-1)-1,0)) E2セルまでコピー、下方向にコピー B列は非表示設定にしてください シート1のA列に、シート2のA2:A4セルに入力された検索語句が含まれる内容のみシート1のA列~C列がシート2のD列~F列に表示されます(AND検索) B列のの数式を一部変更するとOR検索にも対応できるはずです

  • syuyama
  • ベストアンサー率34% (72/209)
回答No.1

エクセルの関数で、どこかに「症状」を入力するセルを決めます。 例えば D1が症状を入力する欄(ドロップダウンリストなどにすると更に使い勝手がいいですよ)。 E1がB列の内容、F1がC列の内容が表示されるようにします。 E1に、 =VLOOKUP(D1,A:C,2,FALSE) F1に、 =VLOOKUP(D1,A:C,2,FALSE) これでいかがですか? ただし、これはA列の内容に重複がないことが前提ですが。 A列に重複があり、羅列してB列とC列を見たいのであれば、 エクセルの機能のオートフィルタがよいのでは?

cn21robo1
質問者

お礼

ありがとうございました。オートフィルタでやってみます。

関連するQ&A

専門家に質問してみよう