
Excelでvlookup関数を使っていますが
参照範囲が別ファイルです。
参照先が絶対パスになってしまいますが
これでは他人にこのファイルを提供した場合つかえません。
そこで相対パスにしたいのですができません。
どうしたら良いのでしょうか?
=VLOOKUP(C2,'C:\Documents and Settings\user1\管理\[20130000.xls]Sheet1'!$D$6:$E$634,2,FALSE)
これを
=VLOOKUP(C2,'./[20130000.xls]Sheet1'!$D$6:$E$634,2,FALSE)
にしたい。
No.5
- 回答日時:
#3の回答者です。
こちらで、もう一度、片方のPCに、Excel2003をインストールして、試してみました。
どこのフォルダに置いても、フォルダ名がコンフリクトしない限りは、問題は発生しませんでした。
>相対パスで入力しても絶対パスになってしまいます。
相対パスで入力するという話は書いたつもりもありません。
一定の方法で入れれば、相対パスになるという事実だけです。
どこかで、こちらの話をお間違えになっていませんか?
もう一度、順序建てて、私の方法を書き直しますが、
・数式のあるファイル(ブック)と同じフォルダの適当な下位に、フォルダ([データ集])を置いて、そこに「20130000.xls」置くようにする。
\----A_Book.xls
|
+---\Data\--B_Book.xls (今回は[20130000.xls])
・B_Bookを開いて、数式を、再度データをリンクさせる。
=VLOOKUP(C2,[20130000.xls]Sheet1!$B$1:$G$634,6,FALSE)
となるはずです。
そうしたら、数式は完成ですから、保存して、下位フォルダと共に、相手に渡せばよいわけです。次回からは、Dataフォルダ(下位フォルダ)側は開けなくても認識はしていますが、2007以上のバージョンでは、プロテクトが掛かり、リンクを更新するか聞いてくるはずです。
ご自分でも、試してみてください。
No.3
- 回答日時:
Unix もDos(コマンドプロンプト)も、そんなに大きく変わらないけれども、Excel の数式の中では、コマンドプロンプトのようには書けなかったと思います。
Excelの中の数式の中身は、保存される時は、文字列として納まるけれども、もともと、その部分は揮発性ですから、Excelのアプリ側の処理になるので勝手が利かないような気がします。ググってみたけれども、「相対パス」の明快な解答も見つかりませんでした。
以前は、プロパティの[ハイパーリンクの基点]の部分に、書き込めば良かったような気がしますが、やってみたけれども、うまくいきません。理由があって、私のPCには、下位バージョンを削除してしまったので、xlsファイルを下位バージョンで、試すことができませんが、こんな方法があるはずです。
どうやら、もう解決しているような気がしましたが、こちらからも後押ししておきます。
>フォルダー1にはデータ集という名称のフォルダを作って
>もちろん他人に渡すときには
>フォルダー1ごと渡します。
・数式のあるファイルと同じフォルダの適当な下位フォルダ([データ集])を置いて、そこに「20130000.xls」置くようにする。
・数式は、その下位フォルダのデータをリンクさせる。
後は、相手に渡す場合は、そのフォルダの下位フォルダと一緒に渡してあげれば良いはずです。
No.2
- 回答日時:
>どうしたら良いのでしょうか?
相対パスの指定方法は作業中のファイルの位置から参照ファイルに至るツリー構造を記述すれば良いことになります。
コマンドプロンプトでのディレクトリの移動を相対指定する表記法がそれに当たります。
親ディレクトリへは ..\ であり、兄弟の場合は ..\Brothers のように記述すれば良いことになります。
>パスの記述が間違っていました。
>UNIXでは ./データ集/2013.xls となりましたね。
Windows OSでは/の代わりに\(バックスラッシュも同じ)を使います。
.\ はカレントディレクトリを差していますが子ディレクトリへ移動のときは .\ を省略します。
UNIXの表記法と類似していますので準用すれば良いと思います。
No.1
- 回答日時:
>そこで相対パスにしたいのですができません。
相対パスにするためには、
カレントフォルダとの位置関係を記述する必要があります。
で、エクセルで保存とか読み込みをやってしまうと、カレントフォルダが変わってしまい、ファイルを操作している人の状況次第で、参照できたりできなかったりということが発生してしまいます。
ですので、相対パスで記述しておくことはお薦めしません。
必要であれば、共有のネットワークドライブ等にファイルを置かれてはどうでしょう?
ありがとうございます。
言葉足らずでもうしわけありません。
私はUNIXの機械の管理者をしていた経緯があります。
基本的な考え方は
フォルダー1には
20131000.xls
20131001.xls
20131002.xls
20131003.xls
20131004.xls
ファイルを毎日作っていきます。
要するに20131004.xlsファイルは 20131000.xlsを読み込んだ後で今日の日付にして保存していきます。
フォルダー1にはデータ集という名称のフォルダを作って
そこに設定ファイル 2013.xls をおきます。
各日のファイルは参照先としてunixのように../2013.xls
としたいのですが
もちろん他人に渡すときには
フォルダー1ごと渡します。
このようにすることによって誰にでも配布することができるとはおもいませんでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
電子書籍プレゼントキャンペーン!
最大2万円超分当たる!マンガや小説が読める電子書籍サービス『Renta!』で利用できるギフトコードプレゼント実施中!
-
VLOOKUP関数で別ファイルを指定するとき、ファイルのパスを変数にしたい
Microsoft ASP
-
EXcelのマクロで相対パスでファイルを開く
その他(Microsoft Office)
-
Excelに外部参照リンクが勝手に変換される
Excel(エクセル)
-
4
エクセルで開いていないbookのセルの値が欲しい
Excel(エクセル)
-
5
同一フォルダ内で、エクセルを自動リンクさせる方法
Excel(エクセル)
-
6
エクセル関数>参照ファイル名をセルから呼び出す
Excel(エクセル)
-
7
Vlookup関数の参照元ファイルについて
Excel(エクセル)
-
8
開いてないブックへの参照の変更方法
Excel(エクセル)
-
9
VLOOKUP関数で開いていないファイルを参照
Access(アクセス)
-
10
同じフォルダへのハイパーリンクのパスがわかりません
Excel(エクセル)
-
11
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
12
IF関数で空欄(")の時、Nullにしたい
その他(Microsoft Office)
-
13
エクセルで他のファイルのセルを相対参照したい。
Excel(エクセル)
-
14
リンク先のファイルを開かなくても、値が読み込めるようにできますか?(SUMIFSを使ってます)
Excel(エクセル)
-
15
エクセル;相対パスを絶対パスへ変換
Excel(エクセル)
-
16
Excel VBAで同じフォルダ内のファイルを開くには?
Excel(エクセル)
-
17
Excelのセルにユーザー名を表示する方法
Excel(エクセル)
-
18
他のエクセルを参照しているときに、相対パスで参照先を指定したい
Excel(エクセル)
-
19
vlookup関数の引数を変数で指定することはできますか?
Excel(エクセル)
-
20
VLOOKUPとINDIRECTで別のEXCELファイルのシートを参照したい
その他(Microsoft Office)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
人気Q&Aランキング
-
4
ExcelのVBAで上書き保存を確...
-
5
fopenでのパス指定
-
6
【VBA】ExcelマクロでCSVファイ...
-
7
エクセルVBAで一つ上の階層...
-
8
SaveAsの保存先について
-
9
実行ファイルのパスを取得したい
-
10
コマンドプロンプトのコピー関...
-
11
エクセルのマクロで特定フォル...
-
12
outlook開けない
-
13
xcopyコマンドの進行状況を表示...
-
14
Excel VBAでテキストファイルを...
-
15
ExcelVBAの使い方 ¥の使い方...
-
16
AccessからExcel最小化
-
17
VBS パスに変数を入れたい
-
18
VBA★PDFをPDFアプリで印刷し...
-
19
$ENV{'HTTP_COOKIE'}は例えば
-
20
MPLABの使い方をご教示下さい。
おすすめ情報
公式facebook
公式twitter