• ベストアンサー

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

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

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.3

ハイパーリンク関数は =HYPERLINK(目的のファイルへの正確なパス,セルに表示したい内容) のように書いて使います。 従って目的のファイルを差し替えたい場合は,「目的のファイルへの正確なパス」の部分を,数式を使って計算します。もちろんセルに表示したい内容も変えたいときは,そちらも。 いま,目的のファイル「写真1.xls」などは,どちらも同じCドライブのFileXフォルダに入っているとします。 すると「正確なパス」は,写真1.xlsが目的ファイルの時は c:\FileX\写真1.xls です。目的が「写真2.xls」になったときは c:\FileX\写真2.xls になります。ですから,関数を使ってこれらの文字列を正確に計算し,HYPERLINK関数の前半部分に当てはめてやればOKというワケです。 作成例: シート2のA1,A2に,検索値として1と2 シート2のB1とB2に目的の「ファイル名」として写真1.xls,写真2.xlsなど シート1のA1に検索値として1や2を入れるとすると シート1のB1には =IF(A1="","",HYPERLINK("c:\FileX\"&VLOOKUP(A1,Sheet2!A1:B2,2,FALSE),VLOOKUP(A1,Sheet2!A1:B2,2,FALSE)))

その他の回答 (2)

  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.2

大変スミマセンが >一点気になるのですが、抽出するデータのファイルが別々なのですが >正確なパスを入力する為に一つのファイルからしか抽出できないのでしょうか。 この日本語のイミが判りません。 一体何をしたいのですか? もしかすると >今の自分の問題は解決しました。 具体的にどのような数式を書いて解決したのか,そしてそれを発展してどのような事をしたいのか,実際の実例を挙げてあなたの目の前にあるエクセルの姿を私の手元でも再現できるよう情報提供して貰うことで,変に言葉で説明しようとするよりも正確に状況が伝わるかもしれません。

denziman
質問者

補足

ご回答ありがとうございます。 説明が分かりにくくて大変申し訳ございませんでした。 やりたいことは、A1にデータを入れた時に、B1をクリックしたら 写真が出てくるようにしたいのです。 SHEET1                    SHEET2     A  B  C  D           A  B  C  D 1                     1 2  2 フォルダX 写真1xls、写真2xls、写真3xls・・・・ A1にデータを入れた時、B1に自動的にSHEET2のB1のデータを抽出するよう B1=VLOOKUP(A1、SHEET2!A1:D2、2、FALSE)という関数を組みました。 B1には、フォルダXへのハイパーリンクが張ってあります。 しかし、ただの文字列になってしまいました。 そこで B1=HYPERLINK(VLOOKUP(A1、SHEET2!A1:D2、2、FALSE)) という関数を組みましたが、クリックしても開けませんでした。 B1=HYPERLINK(参照先、VLOOKUP)を組んで、一旦解決したかに見えたのです が、参照先には、例えばフォルダXの写真1xlsか、写真2xlsかどれかを選ぶ必 要があると思います。ここで躓いております。 自分は、A1にデータを入れたら、B1をクリックするだけで、フォルダXに入ってい る写真1xls、写真2xlsを引っ張ってきたいのです。 このような説明で分かってもらえたでしょうか。 よろしくお願いいたします。

  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.1

例えばVLOOKUP関数の計算結果自体が間違っている,つまり誤記等で「抽出データ」に該当するファイルが存在し無いとか,記載したフォルダのパスに誤りがあるとかで,開きたかったファイルへのハイパーリンクが通っていないとそういうメッセージが出ます。 VLOOKUP関数を使い正しいパスとファイル名の文字列が得られていれば,htmlファイルだろうがtxtファイルだろうがxlsファイルであろうが,問題なくHYPERLINK関数を使ったハイパーリンクで開くことが出来ます。 実際に問題を発生したケースでの,その「抽出データ」のそのまんまの記述を(勿論問題のある言葉が含まれていたらその部分は改訂して)実際のエクセルからコピーして,ご相談に掲示してみたらどうでしょう。 また念のため,ご利用のエクセルのバージョンについても正しく情報提供してみてください。

denziman
質問者

お礼

迅速な回答ありがとうございました。 とりあえず、今の自分の問題は解決しました。 一点気になるのですが、抽出するデータのファイルが別々なのですが 正確なパスを入力する為に一つのファイルからしか抽出できないのでしょうか。

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

  • エクセルのvlookupとハイパーリンクについての

    こちらの関数をシートのE4に設定しているのですが、=HYPERLINK(VLOOKUP(E3,B8:C127,2,FALSE),E3) E3にB8:C127で設定している文字を入力すると、E4にハイパーリンクが表示されて クリックするとリンク先に飛べるといった仕様なのですが、 こちらのリンク先をクリックじゃなくて、エンターキーでリンク先に飛べるようにすることは可能なのでしょうか? マクロ等で方法があればご教授していただきたいです。 宜しくお願い致します。

  • VLOOKUPとハイパーリンクの組み合わせ

    元のデータベースにハイパーリンクを付けてるのですが、このデータをVLOOKUPで抽出してハイパーリンクのセルをクリックしても、上手くリンク先につながりません。 詳しく教えて戴けたら、嬉しいです。 宜しくお願い致します。

  • エクセル 図形 ハイパーリンク 関数

    初めての投稿です。 よろしくお願いします。 エクセルにて顧客管理を作成中です。 図形(オートシェイプ)をボタン風に使い ハイパーリンク関数を使用して同シートのあるセルに飛びたいのです。 実際にやってみた事は図形でなくセルにハイパーリンク関数を入れての動作確認OK そのハイパーリンク関数を図形のハイパーリンクに貼り付けると「指定されたファイルを参照できません」のエラーがでます。 使用したハイパーリンクの方法は図形の縁を右クリック出てきた窓にセルででテスト済みの関数を貼り付けです。 注意点としてはハイパーリンク関数にINDEXとSMALL関数を使用してます。 ↑これがあるとハイパーリンクしないのかな・・・とも考えてます。 後ハイパーリンクの窓に貼り付け後 編集にて確認すると リンク先の先頭の「”」の部分が「%22」と文字化け??しております。後ろの「”」は正常です。 初投稿にてわかりづらい質問のしかたかもしれません。。 ご指導いただければと思います。 実際の関数を載せた方がいいのでしょうか?? 一応張り付けますが、本当にそのままなので分かりづらいかもしれません。 %22の部分が”のはずだと思います。 =HYPERLINK(%22#顧客情報!"&INDEX(F:G,SMALL(G:G,1),1),"新規登録") 第1希望は上記のやり方での何か不具合を直して解決できれば一番いいです。 第2希望はマクロは使用したくありません。。。無知なので^^; そもそも出来ない事をやろうとしているのかもしれませんが・・ どうか宜しくお願いします。

  • エクセル関数のハイパーリンクについて

    初めて質問します。よろしくお願いします。 エクセル2000を使っています。 A列に商品番号 B列にハイパーリンクを下記の関数で入力しています。 =HYPERLINK("c:\windows\デスクトップ\○○\"&A1&".jpg") デスクトップの○○というフォルダ内に商品の画像を商品番号の名前で保存してあります。 B列のハイパーリンクをクリックすればその名前の商品の画像が見れるようになっています。 商品が1000個ほどあるため、B列の関数はコピーしたのですが、今現在、どの商品の画像があるのかないのかわからない状態です。 そこで、C列にリンク先が存在するかどうかを関数で入力したいのです。そのような方法はあるでしょうか?出来ればマクロではなく関数でお願い致します。 また、その方法はエクセル2003でも問題ないかどうかもお願い致します。

  • vlookup関数の引数を変数で指定することはできますか?

    エクセルのVBAでマクロを組み、同じフォルダ内にあるファイルにvlookup関数でリンクを張ろうかと考えています。 ファイルの構成は以下の通りです。 マクロを組んでいるファイル:Book1.xls マクロが適応されるファイル:Book2.xls vlookup関数で参照されるファイル:Book3.xls 実際にBook1に組んだマクロは以下の通りです。 Workbooks.Open ThisWorkbook.Path & "\Book2.xls" Workbooks("Book2.xls").Activate myFile = ThisWorkbook.Path & "\" & "Book3.xls" b = 2 Do Until ActiveSheet.Cells(b, 1) = "" ActiveSheet.Cells(b, 6) = "=VLOOKUP(E" & b & ",myFile!$A:$F,5,0)" b = b + 1 Loop 上記マクロで実行すると、Book2が開き、vlookup関数が挿入されるところまではいきますが、 変数myFileが正常に変換されないらしく、ファイルが見つからない状態となってしまいます。 myFileの代わりにフルパスでファイルをしていすると正常にマクロは起動することは確認しましたが、 毎回作業するフォルダが変わる為、フルパス指定はできるだけ避けたいです。 基礎的な質問で恐縮ですが、 vlookup関数の引数(参照範囲)を変数で指定する方法を教えてください。 よろしくお願いいたします。

  • ハイパーリンクで2007を開く

    エクセル2003のシートに、エクセル2007のファイルのwebアドレス(末尾がこのファイルの場合xlsm)をハイパーリンクで貼りつけて、それをクリックして飛ぼうとしたら’指定のファイルは開けません’というエラーメッセージが出ます。 ハイパーリンクでなく、ファイルそのものをクリックすると例の’変換中ダイアログ’が出てきて変換され開けるのですが、ハイパーリンクからだと変換中ダイアログは出ず開けないのでしょうか? よろしくお願いします。

  • Excelのhperlink関数で作ったモノをハイパーリンクに置き換えたい

    Excel2007を利用しています。 A1にSONY ハイパーリンクの挿入で文字列SONY、アドレスhttp://www.sony.co.jp B1に=hyperlink("http://www.sony.co.jp","sony") と入っているとします。B1の形式を全てA1の形式に変換したいと思っていますがどのようにやればよいかわかりません。 Hyperlink関数を使った方がいろんな面で便利とは知っているのですが、B1のhyperlink関数からA1のハイパーリンク挿入への変換を教えていただきたく思います。B列には数百社のhyperlink関数で定義された企業名があるのですが、それをAの形式に手動でなおすには時間が恐ろしくかかってしまいます。よろしくお願いいたします。

  • Excelのハイパーリンクが効かない

    Excelで表をつくり、Web Addressの欄を作りました。 E-mailからのコピー&ペーストでAdressを入れた際に、自動的にハイパーリンクができていたようで、昨日は、セルをクリックするだけでブラウザが開いていました。なのに、今日は、それが全然働きません。 右クリックをしてEdit Hyperlinkというところを見ると、ちゃんとアドレスがかかれています。 以前作った別のファイルで試してみても働きません。こちらは手入力でHyperlinkを作成し、当時はブラウザが開いていました。その同じファイルのE-mail Adressのところで作ったリンク(mailto:)はちゃんと働いています。 どうしてなんでしょう? どなたか教えてください。昨日は働いていたので、アドレスの間違いというのは考えられないと思います。 エラーメッセージは Unalble to open http://xxxxxxxx. Cannot locate the internet server or proxy server. というものです(英語版を使っているので)。よろしくお願いいたします。

  • VLOOKUP関数の使い

    お世話になります。 VLOOKUP関数を使ってデータを抽出したいですが、検索範囲には文字しか入っていないのに対して検索値には文字や数字が含まれています。 この場合でもVLOOKUP関数をうまく使う方法はないでしょうか。 具体的にいうと:VLOOKUP(検索値、範囲、列番号、検索の型)の 検索値はABC123-45、範囲にABCしかないため検索データが一致していないので抽出できないです。 よろしくお願いします。

専門家に質問してみよう