• 締切済み

エクセルでCtrl+Fでの検索機能と同様の関数・ツールはありますか?

以前今回と少し似た質問をさせていただいた者です。 前回ご回答頂いた方本当にありがとうございました。 その延長にあたるのですが、現在以下のようなデータベースを作成しています。 A B C DEFG・・・・・ 1 氏名 所属 生年月日 成績 2 鈴木 営業1 2000/1/1 0000000 3 山田 営業2 2000/1/1 0000000 4 佐藤 営業3 2000/1/1 0000000 ・    ↑web管理画面へのハイパーリンク ・ ・ ・ (見辛くて申し訳ございません。A=氏名 B=所属 C=生年月日 DEFG・・・=成績 です。 またweb管理画面へのハイパーリンクは所属の項目に対してです) このような状態から A B C DEFG・・・・・ 1 検索 検索用セル  2 氏名 所属 生年月日 成績 3 鈴木 営業1 2000/1/1 0000000 4 山田 営業2 2000/1/1 0000000 5 佐藤 営業3 2000/1/1 0000000 ・    ↑web管理画面へのハイパーリンク ・ というように検索用のセルを作成し そのセル内に氏名を入力するとその氏名のセルへジャンプするという機能を探しています。 簡略に言うとexcelのCtrl+Fでの検索機能を常時設置しておきたいのです。 そこで今回質問させていただきたいのは 1上記のような関数またはツールはあるか? 2もしできるとしたら、それはシートの指定 (sheet1でそれを機能させた場合sheet2を指定し、sheet2へのみジャンプする) という設定はできるか? という2点です。 (2点目に関してはセルやシートの指定できないアドインでの検索ソフトは見つけたのですが重く、 セルに空白があると認識しなかったりという不便な点があるからです。 当方のPCが低スペックなのが一番いけないのですが・・・ 有名なフリーソフトなのでご存知の方も多いかとは思いますが以下サイトのソフトです。 http://database.k-solution.info/) 使用PCはwindows2000sp4・excel2000です。 長文にて大変失礼いたしました。 何卒よろしくお願い致します。

みんなの回答

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

まあVBAがらみになりますが マクロの記録で、A列を氏名検索し、そのマクロを少し手直しして、 検索のキッカケをA1セルのイベントSelectionChange にする。(セルを選択すると処理を発動) ーー Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Address = "$A$1" Then MsgBox "検索実行" End If End Sub をSheet1のSelectionChangeイベントに作る。 これでA1をクリックすると「検索実行」と表示される。 セルを選択すると処理を発動されることが確認できる。 ーー 検索のマクロの記録は Range("A:A").Select Selection.Find(What:=Range("B1"), After:=ActiveCell, LookIn:=xlFormulas, LookAt _ :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _ False, MatchByte:=False, SearchFormat:=False).Activate のようなものが出来る。 マクロの記録を変えたのは Range("A:A").Select <--具体的A列範囲 What:=Range("B1")<--具体的な検索する名前 の2箇所だけ。 ーー 最終的に Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Address = "$A$1" Then MsgBox "検索実行" Range("A:A").Select Selection.Find(What:=Range("B1"), After:=ActiveCell, LookIn:=xlFormulas, LookAt _ :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _ False, MatchByte:=False, SearchFormat:=False).Activate ActiveCell.Select End If End Sub とする。 ーーー さて操作は 例データ A列      B列 検索ボタン 大野 大下 大木 鈴木 大山 田中 石井 木村 大野 の例で、大野とB1に入れてA1をクリックすると、大野のセルを指す。 ーーー >関数またはツールはあるか 上記で判るように、ツールですと発表するほどそんな大げさな内容のものではない。 関数はMATCH関数で「大野」の行番号はわかるが具体的にそこを示せない。 ======= 条件付き書式なら出来そうだ 例データ A列   B列 大山 <ーーB1.検索する氏名 大下 大木 鈴木 大山 田中 石井 木村 大野 A列を選択しておいて 書式ー条件付き書式ー数式が で数式に =A2=$B$1 と入れてセルのパターン色を薄い色を設定ーOK B1に大山と入れると大山のあるセルが色が付く。 大山の行全体にも上記数式を変えると色はつけられる。

関連するQ&A

  • vlookup等の検索・行列の関数でハイパーリンクも抽出することは可能でしょうか?

    いつも助けてもらっています。ありがとうございます。 excelの関数に関しての質問なのですが、現在エクセルファイルで A B C DEFG・・・・・ 1 氏名 所属 生年月日 成績 2 鈴木 営業1 2000/1/1 0000000 3 山田 営業2 2000/1/1 0000000 4 佐藤 営業3 2000/1/1 0000000 ・ ↑web管理画面へのハイパーリンク ・ ・ ・ (ごめんなさい上記ABC・・・のズレが直せない・・・ A=氏名 B=所属 C=生年月日 DEFG・・・=成績 です。見辛くて申し訳ございません) 上記のような状態で所属部分にハイパーリンク(関数ではなく埋め込み)がデータベースとしてあります。 これを同じ形で同一ファイル内の別シートに所属別で分けようとしています。 まずvlookupを使用し =IF(ISERROR(0/LEN(VLOOKUP($A2,A2:Z100,4,0))>0),"",(VLOOKUP($A2,A2:Z100,4,0))) という関数で成績の数値をうまく抽出できるところまではできたのですが 同じ関数で列をずらしハイパーリンクがある所属のデータを別シートに抽出しても ハイパーリンクが適用されておらず、もちろんクリックしてもリンクしない状態です。 理想的には所属別に分けたファイルに氏名だけ入力すれば後はvlookupで データベースから同じデータを抽出するというのが一番良い状態です。 また、人の入れ替わりや成績の数値変動が多いので単純に=sheet1!B3というような処理だけでは難しいです。 そこで、ご質問させていただきたい点が 1・vlookup・match・index等で検索・行列の関数で埋め込んだハイパーリンクも抽出することは可能か? 2・もしできないとしたら他に方法があるか? という2点です。長文失礼致しました。 なお、使用PCはwindows2000・excel2000です。 ご教授いただけると幸いです。よろしくお願い致します。

  • エクセル関数 検索機能

      A  B 1 山田 25歳 2 田中 27歳 3 佐藤 32歳 4 落合 34歳 5 田中 41歳 6 田中 23歳 という一覧を作成し、D2セルに名字を入力すると E2セルに名字、F2セルに年齢が表示される 検索機能をつけたいです。たとえば落合さんを探したい時は E2は =VLOOKUP(D2,A1:B6,1,TRUE) F2は =VLOOKUP(D2,A1:B6,2,TRUE) で検索できましたが、田中さんの様に複数の場合 D2に名字を入力するだけで E2 F2 E3 F3 E4 F4 に3人分を表示させる関数はありますか?

  • エクセルの関数での検索機能について

    Excel2000を使っているのですが、【Ctrl+F】キーを押して検索するのと同様の検索機能の関数はありますでしょうか? 現在、顧客管理のため顧客情報をまとめたエクセル表を作ってあり、「VLOOKUP関数」で検索機能を作ってあります。 しかし、それだと一つしか検出できないですし、かといって「オートフィルタ」を使用すると「▼」をクリックして表示された中からその都度探して選択しないといけません。 ですので、例えば「田中」と入力すれば氏名が田中の人にカーソルが移動するという機能を、度々【Ctrl+F】キーを押さなくても「田中」と入力するだけで出来てしまう方法があれば教えていただきたいです。 よろしくお願いします。

  • エクセルのVLOOKUP関数で・・・

    3時間ほど色々頑張ったのですが、もうお手上げなので教えて下さい・・・。 エクセルでシートが2つあり、シート2から一致するデータのみをシート1に持って行きたいのです。 具体的にはシート1には「F列/カナ氏名・G列/漢字氏名・H列/顧客番号・I列/生年月日」が設定されています。 ただしH列には顧客番号が入力されていません。 シート2より生年月日をキーにして引っ張ってくる予定です。 シート1には1000件データがあり、シート2に載っている該当者が200件程ヒットする予定です。 シート2には「A列/生年月日・B列/カナ氏名・C列/漢字氏名・E列/顧客番号」が設定されています。 仮に1行目からデータが入っているものとして、シート1のH1のセルに次の式を入れました。 =VLOOKUP(I1,'シート2'!範囲,5,FALSE) 範囲には実際の範囲を指定し、5列目がシート2の生年月日なので合ってると思うのですが・・・。 エラーは#N/Aというのが出てしまいます。 何処に問題があるのか分かりません。 説明が下手かもしれませんが、分かる方教えて下さい!

  • エクセルの関数?について

    お世話になります。 今、次のような調書を作成中ですが、処理効率を上げるためにエクセルの関数?を活用してと考えております。 シート1には、次のようなデータが入っております。 「・・」本質問のために各セルの位置を合わせるために 入れているだけです。 ・・・・A・・・B・・・C・・・D・・・E・・・ 1・・氏名・・1位・・2位・・3位・・4位・・・  2・・佐藤・・・・・・・○・・・・・・・・・・・ 3・・吉田・・・○・・・・・・・・・・・・・・・ 4・・伊藤・・・・・・・・・・・・・・・○・・・ シート2に、シート1のデータを参照して、氏名の該当者に 対して、B2以降に該当順位を付す方法を教えてください。 ・・・・A・・・B・・・ 1・・氏名・・順位・・・  2・・佐藤・・2位 3・・吉田・・1位 4・・伊藤・・4位 シート1は外部から受けたデータであり、シート2は内部で 新たに加工する調書です。1500件ぐらいあるので、何と かエクセルを活用したいと考えておりますので、よろしく お願いします。

  • sheet2からsheet1へのデータの飛ばし方(エクセル関数)

    Sheet1 A  B C D E (列) ―――――――――――――――――――――――― 1| 番号  氏名   所属  入社  生年月日 2| 1000  斉藤   東京  10/4  (入力箇所) sheet2 A B C D (列) ――――――――――――――――――― 1| 番号  氏名  所属  生年月日 2| 1000  斉藤  東京  1988/11/1 sheet1のE行(生年月日)にsheet2を参照し、同じ番号の人の生年月日が表示されるようにしたいのですが、どのような式(関数)を入れたら表示されるでしょうか? ほかの似たような質問の解答を見てMatchやvlookupを使ってみましたが、できなかったので教えてください。 よろしくお願いします。

  • エクセルの検索機能で「?」等の記号が検索されません。

    Excel2002(WinXP)の検索機能で「?」等の記号が検索されないことを発見しました。「?」がないセルが指定されたりもします。いい方法はありませんでしょうか? よろしくお願いいたします。

  • エクセルで「あいまい検索」を行いたい。

    皆さん おねがいします。 エクセルで顧客管理を作成してます。 検索を行うとき、顧客の名前を指定したいのですが、 顧客のデータには正式名称を入力してあります。 検索の時、例えば 「株式会社あいうえおインターナショナル」 を探すに 「あい」を入力すると 「あい」を含むリストが表示され、その中から 「株式会社あいうえおインターナショナル」をクリックすると 所定のセルに入るような仕組みを作りたいのですが、 教えてください。 顧客情報は Sheet3 にあり、 入力管理は Sheet1 検索管理は Sheet2です。 よろしくお願いします。  

  • エクセル複数シートからの検索

    部門別住所録が、部門毎に別シートにあります。 各シートのデータは以下のように並んでいます。 社員番号、氏名、住所、電話番号、生年月日。 この状態で、任意の項目(例えば氏名)を指定して社員番号とか電話番号など一行分のデータを検索する方法(関数の使い方)を教えて下さい。 INDEX関数とMATCH関数でやってみましたが、シートを跨ると上手くいきません。 よろしくお願いします。

  • EXCELの検索結果を別シートに貼り付けたい

    学校で事務を行っています。 成績の管理をエクセルで行っているのですが、特定の生徒について成績データを 取り出したく、質問をお願いします。m(_ _)m 作成した成績データSheetのうち、番号を指定した生徒について、成績取込Sheetに 教科コードが一致する教科の点数・生徒番号・生徒氏名をVBAを使用して貼り付け たいのですが、どのようすればよいでしょうか? よろしくお願いいたします。

専門家に質問してみよう