• ベストアンサー

Excel表の一覧から、フリーワード検索した項目のみ引っ張ってくるには?

仕事上で急遽データを作成しないといけなくてご相談させて頂きます。 (1)Excel「シート1」に以下のような一覧があります。 1.WEB     80人 2.営業事務  70人 3.営業    60人  4.サービス  55人 5.事務    43人 6.製造    35人 7.販売    30人 8.医療事務  20人 9.保育士   10人 10.土木    5人 : : (2)Excel「シート2」にあるキーワード項目(例えば、フリーワード入力欄を作成して『事務』と入力した場合)を入力した場合に、 一覧表から、 『営業事務』、『事務』、『医療事務』を引っ張って、 Excel「シート2」に以下のようなランキング表を作成したいと考えてます。 ------------------------------- キーワード [ 事務 ] 1.営業事務  70人 2.事務    43人 3.医療事務  20人 ------------------------------- ※Excel2003を使用してます。 Excel関数を使用して、どなたかお分かりになられる方がいらしたら、お教え願います。お力添えの程宜しくお願いします。

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

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

シート1ではA1セルから下方に業務の種類が、B1セルから下方に人数が入力されているとします。 C1セルには次の式を入力し下方にオートフィルドラッグします。 =IF(ISERROR(FIND(Sheet2!$A$1,A1)),"",A1) D1セルには次の式を入力し下方にオートフィルドラッグします。 =IF(C1="","",COUNTIF(C$1:C1,">*")) シート2ではA1セルに検索のキーワードを例えば事務と入力します。 A2セルには次の式を入力し、B2セルまでオートフィルドラッグしたのちに下方にもオートフィルドラッグします。 =IF(COUNTIF(Sheet3!$D$1:$D$100,ROW(A1))=0,"",INDEX(Sheet3!$A$1:$B$100,MATCH(ROW(A1),Sheet3!$D$1:$D$100,0),COLUMN(A1)))

bemax777
質問者

お礼

ありがとうございます。 細かい方法も記載して頂き、感謝しております。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (5)

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.6

自称imogasi方式で出来ます。ただし作業列を使います。 例データ Sheet1 任はセルのデータを数値にし、表示形式で「人」を加える方が良い。 A列  B列  C列 事業所 人数 該当連番 WEB 80人 営業事務 70人 1 営業 60人 サービス 55人 事務 43人 2 製造 35人 販売 30人 医療事務 20人 3 保育士 10人 土木 5人 ーー Sheet2のA1に検索語「事務」を入れます ーー Sheet1の C列のC2の式は =IF(COUNTIF(A2,"*" & Sheet2!$A$1&"*")>=1,MAX($C$1:C1)+1,"") と入れて最後の行まで式を複写します。該当に連番を振ってます。 含むというのはワイルドカード文字*をCOUNTIFで使えるので使います。 ーー Sheet2に行って A2に式 =INDEX(Sheet1!$A$1:$B$100,MATCH(ROW()-1,Sheet1!$C$1:$C$100,0),COLUMN()) と入れて、Sheet1のデータ列数だけ右方向に式を複写します。 A2:B2を範囲指定して下方向に式を複写します。Sheet1のC列の最大数 より超えて式を複写すると#N/Aのエラーが出る。これは =IF(Row()-1>Max(Sheet1!$c$1:$c$100),"",上記式) 出ないようにします。 Sheet2 事務 営業事務 70 事務 43 医療事務 20 #N/A #N/A <--上記修正前 ーー この手の質問は毎日あり、Googleで「imogasi方式」で照会してください。沢山の同類質問と他のタイプの回答が判ります。 ーーー ランク関数はかまわないが、並べ替えは値化してから行わないとダメです。

全文を見る
すると、全ての回答が全文表示されます。
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.5

No.4です! 何度もごめんなさい・・・ 一番肝心なSheet2のA2セルの数式を書いていませんでした。 Sheet2のA2セルを =IF(COUNT(Sheet1!$C$2:$C$11)>=ROW()-1,INDEX(Sheet1!$A$2:$A$11,SMALL(Sheet1!$C$2:$C$11,ROW()-1)),"") としてこれもオートフィルでコピーしてみてください。 (この列もかなり下の方までコピーしても構いません) どうもたびたび失礼しました。m(__)m

全文を見る
すると、全ての回答が全文表示されます。
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.4

こんばんは! 参考になるかどうか分かりませんが・・・ ↓の画像のように表を作ってみました。 Sheet1のC1セルに =Sheet2!B1 Sheet1のC2セルに =IF(COUNTIF(A2:A2,"*"&$C$1&"*")>0,ROW()-1,"") としてC2セルをオートフィルで下へコピーしています。 次にSheet2の方ですが、 Sheet2のB2セルに =IF(A2="","",VLOOKUP(A2,Sheet1!$A$2:$B$11,2,0)) と数式を入れて、下へオートフィルでコピーします。 この場合、かなり下までコピーしても構いません。 これでSheet2のB1セルに「営業」や「事務」とキーワードを入力すれば その言葉を含んだ業種と人数が表示できると思います。 以上、お役に立てれば幸いです。m(__)m

全文を見る
すると、全ての回答が全文表示されます。
  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.3

回答No1での作業でシート2のA2セルには回答2の式を入力してくださいとのことで、No1での作業でA2セルへの入力する式は回答2に変更してくださいとのことです。 シート1での作業が済んでいなければシート2のA1セルにキーワードを入力しても何の反応もありません。

全文を見る
すると、全ての回答が全文表示されます。
  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.2

回答No1です。 シート2のA2セルへ入力する式は次のようにしてください。 =IF(COUNTIF(Sheet1!$D$1:$D$100,ROW(A1))=0,"",INDEX(Sheet1!$A$1:$B$100,MATCH(ROW(A1),Sheet1!$D$1:$D$100,0),COLUMN(A1)))

bemax777
質問者

補足

ご回答ありがとうございます。 ご質問なんですが、シート2のA2セルに数式を入れた後の作業を教えて頂けますでしょうか。 シート2のA1セルに、キーワードを入れても何もならないんです。。 初心者なので申し訳ございません。。。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 別々のエクセルシートから、一覧表を作るには?

    マイクロソフトエクセルで、複数のシートに入力してあるデータ(名前、年齢、職業など)を1つのシートにまとめて、一覧表を作成するには、どのようにすればいいのでしょうか?

  • EXCELで作成した一覧表に検索機能を設ける為には?

    EXCELで氏名や住所等のデータが入った一覧表を作成したのですが、これをキーワードで検索する為の機能を付けたいと思っています。 どうすれば良いのでしょうか?教えて下さい。

  • Excel2007一覧表からラベル用紙に印刷したい

    Excel2007を使用しており、このような一覧表を作成しています。 | 機種名 | 注文番号 | 納期 | ――――――――――――――――― | NO1  |  部品名   | 数量 | ――――――――――――――――― | NO2  |  部品名   | 数量 | ――――――――――――――――― | NO3  |  部品名   | 数量 | ―――――――――――――――――    ・        ・        ・    ・        ・        ・    ・        ・        ・ この一覧表から、ひとつのNOごと(ひとつの部品ごと)にラベル印刷したいです。 (現品票として使用します) ※印刷イメージを添付しますのでご参照下さいませ。 一覧表は既に過去Excelで作成済のものですので、Wordで差し込み印刷したりということではなく、Excelから直接印刷したいと考えています。 このようなことは可能でしょうか。 可能であれば方法をご教授頂けませんでしょうか。 また、Excel上で無理なようであれば他にどのような方法があるか教えて頂ければと思います。 宜しくお願い致します。

  • エクセルで2枚目のシートに予約の一覧表を作る

    エクセルについての質問です。 1枚目のシートに予約用紙を作成し、それを印刷して客に渡します。 項目は、名前、会員番号、予約日、予約時間の4項目です。 2枚目のシートには、予約の一覧を作成したいと思います。 項目は同じ4項目です。 1枚目の4項目を手入力したときに、自動的に、2枚目の予約一覧が作成されるようにしたいのです。 あるいは逆でも構わないのです。 つまり、予約一覧表に4項目を入力すれば、客に渡す予約用紙ができて、それを印刷可能になるようにしたいのです。 以前、ファイルメーカーではこのようなことは可能でしたが、この作業をするコンピューターにはファイルメーカーがなく、エクセルでなんとかできないかと思います。 ご存知の方があれば、教えて頂けないでしょうか。

  • エクセルで一覧表から検索

    ご教授をお願いします。 在庫表を作りたいと思っています。 sheet1に下記のようなデータの一覧表があります。 (AS400からデータを取り込みます) 納入日     品番   数量 20071010  1111-1111  1000 20071010  2222-2222  2000 20071011  3333-3333  2000 20071011  1111-1111  3000   ↓     ↓    ↓   以下続く・・・ sheet2に、         20071010  20071011 ・・・  1111-1111   1000    3000  ・・・            ↑     ↑   となるように↑矢印部に検索させる関数はないでしょうか? 10月中に在庫表を完成させなければなりません。 宜しくおねがいします。

  • Excel シート1の雛型からシート2の一覧表作成へ

     お世話になります。  私は会社でExcelを使い事務をしております。  式を入力して少し事務を簡素化する事は出来ますが、マクロやVBには明るくありません。  シート1の雛型1箇所に入力すると同時に、シート2に一覧表が作成される様には出来ないものでしょうか?  頑張ってマクロを使ってみましたが、シート1のB1を入力するとシート2のB1の数値まで変わってしまいます。(表を参考にしてください)  シート1(雛型)    A       B        C 1 固定数  入力した数字  数式A/B  シート2(一覧表)     A           B         C 1 シート1A1の数字 シート1B1の数字 シート1C1の数字  2 シート1A1の数字 シート1B1の数字 シート1C1の数字 3 シート1A1の数字 シート1B1の数字 シート1C1の数字 4 シート1A1の数字 シート1B1の数字 シート1C1の数字  分かりにくい説明で申し訳ありません。  皆さまのお知恵をお待ちしております。  よろしくお願いします。

  • エクセルで外部ファイルから項目を引っ張り、一覧表(台帳)を作成したい

    エクセル形式の申請書を受領し、その一覧表をエクセルで作成したいと思っています。 申請書の形式は同じなので、名前、住所、性別などの項目を 1つ1つ一覧表にコピペすればよいのですが、 受領する度に1つ1つの項目を一覧表へ、貼り付けしなくてはなりません。 例: 申請書一覧表.xls 申請書01.xls 申請書02.xls 申請書03.xls 私が考えているやり方では、一覧表の例えばA1に申請書のファイル名(申請書01.xls)、 B1に申請書のワークシート名(sheet1)を入れれば、自動的に申請書の各項目を 一覧表の行(C1,D1,・・・)へ引っ張って来るような一覧表を作成したいと思っています。 これを実現するのに、一覧表のC1セルに、=INDIRECT("["&A1&"]"&B1&"!$C$3")  ・A1は一覧表上で申請書のファイル名(申請書01.xls)を記名したセル  ・B1は一覧表上で申請書のワークシート名(Sheet1)を記名したセル  ・$C$3は申請書01.xls内の参照項目の1つ(例:名前) で、実現をやってみましたが、 indirect関数は申請書のファイルを開いていないと出来ず、困っています。 申請書は1日に30件程度来て、一覧表だけを見て、例えば田中さんからは何件来ている とか、一覧表のみを見れば、申請書の全てが分かるように管理したいと思っています。 処理状況管理も一覧表で行いたいと思っています。 申請書一覧表.xlsは、申請書01.xlsよりも一段上のフォルダに置きたいと思っていますが、不可能なら、申請書と一緒のフォルダでも構いません。 また欲を言うと、一覧表から申請書をクリックで開けるようにできたら良いと 思っています。 良い実現方法がありましたら、教えてください。

  • EXCELファイルの一覧表形式での取込について

    EXCELで以下のような事を実現しようとしています。 まだマクロや関数等の知識が少なく、どう作っていけばいいのかよくわからないため、 教えていただけますでしょうか。 <やりたい事> ・図1の様なEXCELフォーマットに内容を入力し、別ファイルのEXCELシート(図2)に  一覧表の形で取り込む。・・・図2の一覧表で発注状況を管理。 ・新たに発注するような場合は、図1のフォーマット(シート)をコピーし、内容を入力。  →その都度 図2の一覧表に追加(最終行の後に追加)。 ・図1はブック形式で、発注日付毎にシートを分けて保存。図2へは、表示している  シートの内容のみ取り込む。(取り込みボタンを作る等考えています)。 ・空欄の場合は図2の一覧表には取り込まない。 ・図1と図2は別ファイル(リンクしないファイル)として保存。

  • 資格一覧表について

    エクセル2010を使用しています。 何度か関数についてお聞きしてデータがうまくいったのですが、 社員が入れ替わる度にデータを変換をしなければいけなく大変な処理になってしまいました。 一番いいのは「アクセス」が使えると楽だと思うのですが、現状では「アクセス」を使えるほどのスキルがありませんので、エクセルにて教えて頂けたらと思います。 まず各部署のシートにそれぞれの記入をします。 記入をしたら全社員一覧表にそれぞれ関数にて記入される状態にしたいのです。 (シート等が移動になっても) 管理番号の所に数字を記入をされたら氏名とその人の資格一覧枠に記入が入る状態にしたいのです。 また、資格一覧枠には資格を取得をしたら「○」の記号を入れたいと思っています。 自分なりにLOOKUP等を使ってしようと思ったらセル入力が並んでないとできない感じだったのです。(なんらかの方法でできる?) 申し訳ありませんが、エクセルに詳しい方、得意な方、こんな管理の仕方もあるよ、ってご存知の方お忙しいと思いますがご協力をお願い致します。

  • EXCELで全てのシートを参照した一覧表の作成方法

    色々な情報を入力したSheetが50枚あり、 あまり手間のかからない方法で、 この50枚の中で、ある特定のセルの情報だけを参照させて一覧にした表を作成したいと思っています。 具体的には、Sheet名が”一覧表”というシートを作成し、 この”一覧表”シートの B1 セルには Sheet1 の A1 セルの値を表示させ、 次いで、同”一覧表”シートの B2 セルには Sheet2 の A1 セルの値を、 次いで、同”一覧表”シートの B3 セルには Sheet3 の A1 セルの値を、                       ・                       ・                       ・ 最後に、同”一覧表”シートの B50 セルには Sheet50 の A1 セルの値を、 といった形で、一覧表を作成したいです。 ご教示いただけますでしょうか。 よろしくお願いいたします。

専門家に質問してみよう