マンガでよめる痔のこと・薬のこと

ExcelでVLOOKUPを使って記録管理作業をしています。

その際、状況の変化に伴って、参照先のデータ変更が必要になる場合があります。
業務の都合上参照先のデータは別のファイルにあり、またデータの数も多いので、
目的の変更箇所に辿り着くのに少々手間が掛かります。ハイパーリンク等で素早く
移動できたらと思うのですが、何か良い方法ってないのでしょうか。


とりあえずは一応、自分なりに下記のような方法を試してはみました。

(1)参照先のデータの各行最右端のセルに、行の頭に移動するハイパーリンクを作成。
(2)VLOOKUPの表示項目に、そのハイパーリンクのある箇所を追加。

こうすれば、VLOOKUPで表示されたハイパーリンクをクリックするだけで
参照元のデータの場所まで一発で移動できるだろう……と思っていたのですが
結果は、ハイパーリンクは機能せず文字が表示されるだけでした。


VLOOKUPでもハイパーリンクが生きている方法や、全く他の何らかの方法でも
構いませんので、良い方法を教えて頂けたら嬉しいです。よろしくお願い致します。

このQ&Aに関連する最新のQ&A

VLOOKUP」に関するQ&A: VLOOKUPを教えてください

A 回答 (3件)

#1です


例を元に別Bookを参照する際は
=HYPERLINK("[menu.xls]"&"定食!"&G2,VLOOKUP(B2,[menu.xls]定食!A$2:E$5,5,))
となります

参照先:"[menu.xls]"&"定食!"&G2
表示:VLOOKUP(B2,[menu.xls]定食!A$2:E$5,5,)

参照先ですがBook名は『 " " 』でくくる必要があります。

例の場合ですがシート名は『定食』で固定なので、『 "定食!" 』としておきます。
!を忘れるとエラーが出ますので忘れないようにしてください。

データ量が多いとの事なので【6月.xls】内シート〔注文〕のG列に参照列を分けるフラグを入力しておきます。
例) =IF(B2="T1","A2",IF(B2="T2","A3",IF(B2="T3","A4",IF(B2="T4","A5"))))


表示のVlookupは問題ないと思います。

これで実行できるはずです
    • good
    • 0

[ツール]→[ユーザー設定]→[コマンド]


→[参照元のトレース]・[参照先のトレース]・[すべてのトレース矢印を削除]の各アイコンを追加

あとは、参照元を知りたいセルにポインタあわせて[参照元のトレース]
→出てきた矢印をダブルクリック
で、参照元に飛べます。

リストのどの値を参照しているか?はわかりませんので、注意。
構文の中で参照しているセルを追いかけるだけです。

終わったら[すべてのトレース矢印を削除]で矢印を消しておきます
(印刷に出てしまうので)
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

こういった方法があるんですね。面白いです。
ピンポイントで表示できないのがちょっと残念ですが
これは使えるようにしておく価値ありです。覚えておきます。

お礼日時:2008/06/03 09:08

HYPERLINK関数はいかがですか?


=HYPERLINK( 参照先 , 表示 )

表示のところにVLOOKUP関数を入力すると値が表示され、
参照先のリンクが作成できます
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

早速、HYPERLINK関数と組み合わせて試してみました。
が、どうもうまくいきません…。自分なりに調べたりはしてみたのですが…。

例えば、↓のような参照先のデータが 【menu.xls】内シート〔定食〕 にあり、
注文の記録を 【6月.xls】内シート〔注文〕 にVLOOKUPで残していくとする場合、
どうすればいいのでしょうか?(2つのファイルは同じフォルダ内にあります)

【menu.xls】シート〔定食〕
  A     B     C   D   E
1 記号 メニュー 品 数 価 格
2  T1  和風定食  6   700 ◆←ここをクリックすると行頭に移動
3  T2  そば定食   7   800 ◆
4  T3  中華定食  7   750 ◆
5  T4  日替り定食 6   650 ◆

【6月.xls】シート〔注文〕
  A    B    C      D   E  F
1 日付 記号 メニュー  品数 価格
2 0601  T1  和風定食  6   700 ◆
3 0601  T4  日替り定食 6   650 ◆
4 0601
 B列に記号を入力すると「メニュー」「品数」「価格」「◆」が表示されます。
 ◆をクリックすることで 【menu.xls】内シート〔定食〕 の各行に
 移動するようにしたいのですが…。重ねての質問ですみません。

お礼日時:2008/06/03 09:04

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q=HYPERLINK(VLOOKUPに関して。

お世話になります。

他の方の質問、回答で=HYPERLINK(VLOOKUPを知り試してみましたが
「このサイトのアドレスが正しくありません。アドレスを確認して再度実行してください」とメッセージが出てしまい実行できません。
無理な式なのか何か設定の不備なのか教えていただけませんでしょうか。

=HYPERLINK(VLOOKUP(A1,Sheet2!A:B,2,FALSE),Sheet1!A1)

    エクセル2013です。

                                       宜しくお願いいたします。

Aベストアンサー

> 複数シートでvlookupで出た値のセルをクリックすると値に設定してあるシートにジャンプをする。

同じファイル内で別のシート、セルにジャンプする場合は、

=HYPERLINK("[そのブック名.xlsx]Sheet2!A2")
=HYPERLINK("#Sheet2!A2")

などとします。


VLOOKUPでシートとセルの参照がきちんと取得できているのなら、

=HYPERLINK("#"&VLOOKUP(A1,Sheet2!A:B,2,FALSE),Sheet1!A1)

ではどうでしょう?

QVlookup関数の参照元ファイルについて

当たり前の事なのかもしれませんが教えてください。

友人宅で使用しているエクセルファイルがメールで届きました。

そのファイルを私のPCで確認したところ、
Vlookで参照している参照元データは添付されていないのですが、
ちゃんとデータを表示しているのです。

その関数を別のファイルに貼り付けても検索ができますし、
検索値に別の値(参照元データにある)を入力しても
列番号を変更しても、ちゃんと検索表示しています。

Vlook関数を張り付ける際に「値の更新:○○,xls」というウィンドウは開きますが、
○○,xlsというファイルは存在しませんし、更新は「キャンセル」しています。

参照元データは友人宅のネットワークサーバーにある別のエクセルファイル(○○,xls)です。
もちろん、私のPCとは繋がっていません。
私のPCにはそのファイルはありません。

私の認識では、Vlookupで別のファイルを参照している場合、
参照元ファイルがないとエラー値となると思っていました。

エクセルファイルは一旦別のファイルを参照すると参照元データを全て記憶しているのでしょうか?
それとも参照元ファイルの実態はなくても、コピーした時点でデータとして一緒にどこかに存在するのでしょうか?
「値の更新」?をしなければ、その架空の参照元ファイル?から検索が可能なのでしょうか?

もしそうだとすると、職場で別ファイルを参照している関数付きのエクセルファイルを
相手先に誤って添付してしまった際に、
添付していないはずの参照元ファイルのデータが相手先に検索出来てしまう、、
という事になります。(そのような事は滅多にありませんが・・)

因みに私はexcel2007 友人はexcel2010を使用しています。
送られてきたファイルは.xlsxですが、参照元ファイルは2003で作成した.xlsのようです。

私の認識不足で恥ずかしい限りですが、教えください。

当たり前の事なのかもしれませんが教えてください。

友人宅で使用しているエクセルファイルがメールで届きました。

そのファイルを私のPCで確認したところ、
Vlookで参照している参照元データは添付されていないのですが、
ちゃんとデータを表示しているのです。

その関数を別のファイルに貼り付けても検索ができますし、
検索値に別の値(参照元データにある)を入力しても
列番号を変更しても、ちゃんと検索表示しています。

Vlook関数を張り付ける際に「値の更新:○○,xls」というウィンドウは開きますが...続きを読む

Aベストアンサー

参照元の外部ブックは確かに今お手元には無いワケですが,ご相談のようにエクセルブックはデフォルトの設定で,外部参照のデータを内部的に蓄えています。
参考:
ファイルタブのエクセルのオプションの詳細設定欄の「外部リンクの値を保存する」


通常ご相談の状況では,ブックを開いたときに「このブックには,ほかのデータソースへのリンクが含まれています」というダイアログが現れます。
そのダイアログにも,「リンクを更新しないと,以前の情報が使用されます」と説明があります。以前,参照元のブックを(先方のパソコンで)開くことが出来たときに蓄えていた情報を再利用するという意味です。

なお,蓄えられているのは関数が参照しているセル範囲の値のみで,そこから芋づるに他のセルの値が引っ張れてしまうという事はありません。

QエクセルのIF関数で、文字が入力されていたならば~

エクセルのIF関数で文字が入力されていたならば~、という論理式を組み立てたいと思っています。

=IF(A1="『どんな文字でも』","",+B1-C1)

A1セルに『どんな文字でも』入っていたならば、空白に。
文字が入っていなければB1セルからC1セルを引く、という状態です。

この『どんな文字でも』の部分に何を入れればいいのか教えてください。

またIF関数以外でも同様のことができれば構いません。

宜しくお願いします。

Aベストアンサー

=IF(ISTEXT(A1),"",B1-C1)

でどうでしょうか?

Q=HYPERLINK(VLOOKUPについて

リストシートのD1~D5セルに画像1~5の文字に、実際の画像1~5のJPGファイルをハイパーリンクしています。
リストシートのE1=★、E2=☆、E3=星、E4=※、E5=STARと入力されています。

抽出シートで、「☆」をリストアップし、リストシートのD列にある画像1~5とそのハイパーリンクを抽出したいのですが、うまくいきません。

答えとしては、抽出シートで☆と画像3の文字に画像3のハイパーリンクがついているセルを抽出したいのです。

そこで、タイトルの=HYPERLINK(VLOOKUPでできそうなのですが、ネット検索するとそういう例がでできません。
どのようにしたら良いのでしょうか。

Aベストアンサー

tax_sosさんの知識レベルに期待して、とりあえず、実現方法を記載しました。興味があれば、ご参照ください。なお、この回答に対する再質問には回答しかねます。ご了承ください。

まず、標準の関数ではハイパーリンクの情報を取得することができないことから、簡単なユーザ定義関数を作成する必要があります。後述のユーザ定義関数(GETHYPERLINK)をご参照ください。
その上で、画像のようなシートを作成し、B7セルに次の数式を入力します。
なお、エラー処理は組み込んでいません。必要に応じて組み込んでください。

【B7セルの数式】
=HYPERLINK(GETHYPERLINK(INDEX($B$1:$B$5,MATCH(A7,$A$1:$A$5,0))))

【ユーザ定義関数】
Function GETHYPERLINK(r As Range) As Variant
With r.Hyperlinks
GETHYPERLINK = .Item(.Count).Address
End With
End Function

Q括弧があるとHYPERLINKで飛べない?

ExcelのHYPERLINK関数で、ジャンプできないケースがあります。

× =HYPERLINK("#テスト(A)!A1","●")
作業というシートと、テスト(A)というシートを作り、作業シートから上記のジャンプ命令で、テスト(A)シートに飛ぼうとすると「参照が正しくありません」というエラーが出ます。

○ =HYPERLINK("#テストA!A1","●")
(A)の括弧を消し、テストAというシートにするとジャンプできます。
半角()でもダメで、<>≪≫でもダメでした。
シートに括弧があると対応していないのでしょうか?

括弧があってもジャンプできるような回避策があったら教えて下さい。
Excelのバージョンは2002です。

Aベストアンサー

シート名に特殊文字があるときは
シート名を'(シングルコーテーション)
で囲んでみてはどうでしょうか?
=HYPERLINK("#'テスト(A)'!A1","●")
のように。

QエクセルVLOOKUP関数の範囲指定で別ファイルを参照したい。

エクセルVLOOKUP関数の範囲指定で別ファイルを参照したい。
初心者です。VLOOKUP関数の範囲を別のファイルから参照させたいのですが
どうしたらいいのでしょうか?ちなみに別ファイルはマクロを含んでいます。
関数式を手入力するのではなくて、エクセルのダイアログボックスでマウスにて試しましたが
別ファイルの範囲をドラッグしても何にも反応しません。
fx関数ボタンを利用しての方法を教えていただけるとありがたいです。

Aベストアンサー

こんばんは!
No.1さんが適切な回答をされているみたいですが・・・

質問に
>fx関数ボタンを利用しての方法を教えていただけるとありがたいです。

とありますので、余計なお世話かもしれませんが、

fxボタン(関数の挿入ボタン)をクリックし、「関数の挿入ダイアログボックス」から
VLOOKUP を選択し、OKで↓のような「関数の引数ダイアログボックス」が表示されるはずですので
検査値の欄に文字を入力したり、参照セルをクリックします。
次に「範囲」の欄を一度クリックし、カーソルが点滅したのを確認し、
別Book(別ファイル)の範囲をマウスで指定すれば問題ないと思います。
あとは表示させたい列番号を入力し、「検査の型」は通常「0」または「FALSE」としてOK

これで大丈夫だと思います。
以上、お役に立てばよいのですが・・・m(__)m

Qエクセル 値の更新

シート1のA1の値をシート2のあるセルに表示させるためにシート2のあるセルに =1!A1 といれました。

入力後、すぐに反映されていたのですが、あるときを境にこの入力をすると”値の更新”という保存時のダイアログのようなものが開表示されるようになりました。

分からないなりにもあてずっぽで更新先をシート1にして、なんとか対応していたのですが、同じようにしているのもかかわらず、リンクさえしなくなりました。

これはどうなっているのでしょうか。
原因がまったくわかりません。

最初のように、すぐに反映させるにはどうすればよいのでしょうか。

よろしくお願いいたします。

Aベストアンサー

> =1!A1 
[=Sheet1!A1]ですかね?

Alt+F11キーでVBAを編集する画面「VBE」を開けます。
画面左にシートの一覧が表示されているでしょうから、そこでブック内のシートの名称を確認してください。
ツリー(階層)状に表示されている部分の名称と、それをクリックして画面左下に表示されるプロパティ内の名称が異なっているためだと思います。

目的のシートの名前を、=本当のシート名! のように変更してみてください。

QHYPERLINKとADDRESSとMATCHの組み合わせ技

こんばんは。WEB検索で勉強したのですがお助け下さい。

同じブックの2つのSheet間でハイパーリンクを押すとセルがジャンプすると嬉しいです。

■前提
Sheet1は得意先担当者リストをイメージしています。
会社名(A列)と担当者(B列)が並びます。
担当者が複数いる会社もあるので、同じ会社名が並んで表示されるセルもあります。

Sheet2は例えば案件管理リストをイメージしています。
会社名(A列)と案件名や金額や時期が並びます。(画像ではA列のみ表示しています)
A列の会社名の並び順はバラバラで、同じ会社名が何度も登場します。

■実現したいこと
Sheet2のB列にHYPERLINKを入れて、クリックするとSheet1の該当する
会社名(A列)にセルが移動して欲しいです。

※A列には同じ会社名が並ぶことがあるので最初に一致したセルで大丈夫です。
※もし可能ならSheet2の会社名は株式会社や有限会社が抜けていることもあるので
部分一致なら嬉しいです。(完全一致でも大丈夫です)
※Sheet1、Sheet2は実際には「顧客リスト」「案件リスト」という名称にして
いるのでそこも反映した関数の記述方法が分かると嬉しいです。

独学では手に負えなかったのでぜひお力添えください。お待ちしています。

こんばんは。WEB検索で勉強したのですがお助け下さい。

同じブックの2つのSheet間でハイパーリンクを押すとセルがジャンプすると嬉しいです。

■前提
Sheet1は得意先担当者リストをイメージしています。
会社名(A列)と担当者(B列)が並びます。
担当者が複数いる会社もあるので、同じ会社名が並んで表示されるセルもあります。

Sheet2は例えば案件管理リストをイメージしています。
会社名(A列)と案件名や金額や時期が並びます。(画像ではA列のみ表示しています)
A列の会社名の並び順はバラバラで、...続きを読む

Aベストアンサー

HYPERLINKとADDRESSとMATCHの組み合わせとなると、こんな感じでしょうか。
Sheet2のB2セルに、次の式を入れて、下へオートフィルしてみて下さい。
式の中にブック名まで記述しないと正しくジャンプしてくれないようなので、ご注意ください。
シート名の変更は、勉強のつもりでご自分で考えて下さいね。

=HYPERLINK(ADDRESS(MATCH(A2,Sheet1!A:A,0),1, 1,TRUE, "[Book1.xlsx]Sheet1"))

Q(Excel)あるセルに文字を入力しただけで、同じブック内のほかのワークシートにも、同じ文字が自動的に入るようにするには?

こんにちは。
質問内容はタイトルのとおりです。

あるワークシートのあるセルに文字を入力すると、ほかのワークシートのセルにも同じ文字が自動的に書き込まれる方法を知りたいです(ブックは同じ)。複数のワークシートを制御するには、やはりマクロを使うのでしょうか?

よろしくお願いします。

Aベストアンサー

clam_chowderさん、こんにちは。

Sheet1のA1にたとえば「100」と入力しますね。
Sheet2のA1に、これと同じ数値を表示するには、
 =Sheet1!A1
でOKです。

数式をいれるのが苦手なら、
Sheet2のA1セルで「=」を入力すると、数式入力状態に入りますから、
ここでSheet1のシートタブをクリックし、
リンクしたいA1セルをクリックしてEnterすると、
自動的にさきほどと同じ式が入ります。

Q【Excel】特定の文字を含むセルをカウントしない方法

エクセルで特定の文字列(仮に「key」とします)を"含む"場合の関数は、

=COUNTIF(A1..A20,"*key)

で処理できるのは分かっているのですが、

特定文字列(key)を"含まない"場合の処理方法が分かりません。
VBAなどを介さずに関数だけで処理する方法がありましたら、ご教示願います。

Aベストアンサー

=COUNTIF(A1:A20,"<>*key*")
でできませんか?


人気Q&Aランキング