• 締切済み

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です。 ご教授いただけると幸いです。よろしくお願い致します。

みんなの回答

  • Masa2072
  • ベストアンサー率51% (94/182)
回答No.2

リンク先は、セル範囲ではなくWebでしたね。勘違いをしておりました。 となると部署毎のリンク先アドレスの表を別に作っておき  ・氏名から部署をVLOOKUPで取得  ・取得した部署からリンク先アドレスをVLOOKUPで取得  ・HYPERLINK関数に組み込む という複合技でどうでしょうか?

coolest
質問者

お礼

早速のご回答ありがとうございます! ・・・というより私も表記ミスがありました。 =IF(ISERROR(0/LEN(VLOOKUP($A2,A2:Z100,4,0))>0),"",(VLOOKUP($A2,A2:Z100,4,0))) ではなく =IF(ISERROR(0/LEN(VLOOKUP($A2,sheet1!A2:Z100,4,0))>0),"",(VLOOKUP($A2,sheet1!A2:Z100,4,0))) でした。。。 ご指摘いただきました一度リンク先を抜き出すという方法は思いつきませんでした! ありがとうございます! ただ、部署内でできるだけノウハウ共有できるよう あまり複雑にするなという指令もあったりで、 上の関数もあまり良い印象を受けていないという・・・ エクセルの関数ではなく埋め込み(というのでしょうか?)のハイパーリンクは根っこのシステムが複雑なのか、 過去の質問等を見ていてもみなさん苦戦されている印象を受けました。 教えていただきました式等参考にさせていただきながら、 頑張ってみようと思います。ご回答ありがとうございました!

  • Masa2072
  • ベストアンサー率51% (94/182)
回答No.1

言葉で説明するのが難しいので簡単なサンプルを A1~A3に山田、田中、山本の指名を B1~B3に営業、総務、製造の部署を入力します。 各部署の同一ブック上(仮にBOOK1.XLS)のデータベース(セル範囲)に営業、総務、製造などの名前を定義しておきます。 D1に入力された氏名からB列の部署をVLOOKUPで参照しますが、その際に部署をクリックするとそれぞれのデータベースのセル範囲にジャンプするようHYPERLINK化する式が以下のもの =HYPERLINK("[BOOK1.XLS]Sheet1!" & VLOOKUP(D1,A1:B3,2),VLOOKUP(D1,A1:B3,2)) うまく説明できている自信は全くありませんが、最悪 式だけみて何かのヒントになれば・・・

関連するQ&A

  • エクセルで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です。 長文にて大変失礼いたしました。 何卒よろしくお願い致します。

  • VLOOKUP関数のハイパーリンクでエラー表示

    VLOOKUP関数で、抽出したデータにハイパーリンクをつけているのですが、 クリックしても「指定されたファイルを開くことができません」と表示されます。 =HYPERLINK(VLOOKUP(…))で、抽出データが、 htmlのアドレスならばうまく飛ぶことができるのですが 抽出データが、別フォルダにあるファイルだと、上記のエラーが出てしまいます。 別フォルダにある様々なファイルだと、マクロを組むしかないのでしょうか。 よろしくお願いいたします。

  • 複数のEXCELファイルより結果検索(VLOOKUP)

    はじめましてご教授お願いいたします。 現在エクセル関数Vlookupを使用しているのですが 外部の複数エクセルファイルよりデータを抽出するには どうすればよろしいのでしょうか? エクセルファイルA,B,C,Dがあるのですが ファイルAには結果表示用のシートがあります B,C,Dにはそれぞれデータが同じように配置されおります。 ファイルAのシート2セルA1に以下のような関数を記述しております =IF(ISBLANK(A2),"",IF(VLOOKUP(A2,Sheet1!$A$2:$K$60000,2,FALSE)=0,"",VLOOKUP(A2,Sheet1!$A$2:$K$60000,2,FALSE))) 上記関数[Sheet1!A2:K60000]の部分に別ファイルB,C,Dの データ(範囲は同じ)も検索できるようにしたいのですが どのような関数で可能なのでしょうか? ご教授よろしくお願いいたします。

  • 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を使ってみましたが、できなかったので教えてください。 よろしくお願いします。

  • if関数とVLOOKUP関数について

    if関数とVLOOKUP関数について エクセル2003で以下のような表を2枚 (シート1とシート2です)作成しています。 上段がシート1で、左上「NO」からA1セルに なっています。 下段がシート2で、特別番号が付番される 人の対象者リストで、「氏名」 がA1セルです。 図が乱れてすいません。 シート1のB列の売上日、C列の氏名は 別ファイルから貼り付けています。 シート2は、特別番号を付番する人の 氏名リストですが、ここでは、便宜上 小文字のアルファベットにしています。 ここでしたい処理ですが、売上日及び氏名を シート1に貼り付けた際に、特別番号対象者 (シート2のリストに挙がっている人) が入ってきたとき、自動的にシート1の A列のNOの列に「特別番号」 との文言を表示させたいのです。 実際に数字を表示するのではなく、 「特別番号」の文字列を表示させたいです。 IF関数とVLOOKUP関数でできると思うのですが よくわかりませんでしたので、教えてください。 NO 売上日 氏名 1 1月1日 A 2 1月2日 B 特別番号 1月3日 a 特別番号 1月4日 b 特別番号 1月5日 c 3 1月6日 D 4 1月7日 E 特別番号 1月8日 e 特別番号リスト(シート2) 氏名 住所 a 東京都 b 大阪府 c 神奈川県

  • Excel2007 VLOOKUP関数の相談

    もし検索不足で重複した質問でしたら申し訳ありません。 VLOOKUP関数について、シート「A」に文字列を入力したら シート「リスト」シート上に同じ文字列があれば その文字列関係の情報を持ってくるというVLOOKUP関数を使用していました。 <使っていた関数> =IF(ISERROR(VLOOKUP(H306,リスト!A:B,2,0)),"",VLOOKUP(H306,リスト!A:B,2,0)) この入力する文字列が数字(別データからコピーして貼り付ける)に変わっただけなのですが、 何故か対象情報の抽出をしてくれません。 <使おうとしている関数> =IF(ISERROR(VLOOKUP(I2,データ0501!A2:F695,3,0)),"",VLOOKUP(I2,データ0501!A2:F695,3,0)) ネットで検索したのですが、関数情報が不足しているのか、 コピーした数字列の貼り付け方が間違っているのかわからない状況です。 恐れ入りますが解決策があればお教えいただければと思います。 どうぞ宜しくお願い申し上げます。

  • VLOOKUP関数について

    VLOOKUP関数を使用して、大項目あ~うに該当する小項目a~dを拾い出します。 [Sheet1]  A B C D 1 あ a  c 2 い b 3 う d [Sheet2]  A B C 1 い  b Sheet1に大項目と小項目のデータを、Sheet2を検索シートとします。 A1には検索する大項目を、B1にはVLOOKUP関数を使って小項目を拾い出します。このときに、B項目がbというのは単純に拾えるのですが、小項目が2つ以上ある場合が拾い出せません。 2つ以上ある場合はC1、D1とに表示させたいのですが、どんな関数を使えばいいのか分かりません。 マクロを使うのでしょうか? 教えてください。

  • エクセルのVLOOKUP関数で…(複数条件?の抽出)

    ●シート2、A列に部品正式名称、B列に部品略称の一覧表(部品の種類は約500点) ●シート3、A列に略称、B,C,D,E,F,G列と続けて寸法などの詳細を記した一覧表 があります。 ●シート1に検索一覧表として、B列(B3~B8)は項目、セルC3~C8にVLOOKUPでシート3の情報が抽出されるようにしてあります。 C1で略称を入力し抽出するのはOKなのですが、正式名称で入力しても同じようにシート3の情報を抽出するようにしたいです。 (IFを使って思いつく関数を組合わせてみたりしたのですが、うまくいきませんでした(TT) できたら関数で何か良い方法ありますでしょうか? 宜しくお願いします。

  • VLOOKUP関数

    VLOOKUP関数を使って、CODEの値に応じて氏名を表示する表を作っています。 式は =VLOOKUP(A2,Sheet2!$A$2:$C$41,2,0) というような感じなのですが、フィルハンドルをドラッグして式をコピーすると、全て同じ人の氏名が表示されてしまいます。 おかしいなと思って、関数が入っているセルをクリックして、[関数の挿入]ボタンを押すと、数式の結果の所には正しい答えが出ていて、[OK]ボタンを押すと正しい氏名に変わります。 どうして最初のフィルハンドルドラッグの時点で正しい表示が出ないのでしょうか?

  • 別シートに抽出

     データを別シートに抽出したい。 画像を参照して下さい。 シートの「一覧」を別シートへ関数を使って抽出したのですが、 思うような結果になりません。お教え下さい。 別シートに VLOOKUP(A3,'一覧'!$A$3:$E$36,2,1) VLOOKUP(A3,'一覧'!$A$3:$E$36,3,1) VLOOKUP(A3,'一覧'!$A$3:$E$36,4,1) VLOOKUP(A3,'一覧'!$A$3:$E$36,5,1)の関数をセルに入れてセル事に 抽出します。その時に別シートに A01・A02・A03・A03・A04・・・・ の順序で抽出したいのですが、うまく抽出できません。

専門家に質問してみよう