[[20181017112724]] 『別ファイル内のセルを参照するための入力方法につ』(和歌) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『別ファイル内のセルを参照するための入力方法につきまして』(和歌)

こんにちは。ここ数日、色々と調べてもわからず、アドバイス頂けましたら
本当に助かります。。

【最終的にやりたい事】

 親ファイル -- 子ファイル1
       +- 子ファイル2
       +- 子ファイル3

のようなファイル構成で、親ファイル上でVLOOKUP関数を使用して
子ファイル1〜子ファイル3内のセルの値を引っ張ってきたいと
考えています。

【悩んでいる点】

VLOOKUPの範囲の指定に、親ファイル内のセル値を使用したい。

親ファイルのD5セルに入力された文字列をファイル名に持つ
子ファイルを参照したい場合、INDIRECTで書くとすると、
下記のような形になりますが、これは子ファイルを開いていないと
動きません。

 =INDIRECT("'["&$D5&".xlsx]"&"個別シート"&"'!"&ADDRESS(ROW(),COLUMN()))

【試行錯誤したのですが・・・】

 =VLOOKUP(123,'[あいうえお.xlsx]個別シート'!$A$4:$Z$487,5,FALSE)
 はうまく動作する

 =VLOOKUP(123,"'["&"あいうえお"&".xlsx]個別シート'!"&$A$4:$Z$487,5,FALSE)
 では0と表示される(おそらく変なブランクセルを参照している?)

そこで、まずVLOOKUPを使用しないで、子ファイルのセルを直参照してみる

 ='[あいうえお.xlsx]個別シート'!$C$4
 うまく子ファイル内のセルを参照できる

 ="'["&"あいうえお"&".xlsx]個別シート'!"&$C$4
 セルに「'[あいうえお.xlsx]個別シート'!<親セルのC4セルの値>」という文字列が表示される

別ファイル内のセル指定には、&を使用して結合した文字列は使用できないので
しょうか。。

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

< 使用 Excel:Excel2016、使用 OS:Windows8 >


 "でくくったものは単なる文字列。
 =A1
 はA1セルへの参照だが
 ="A1"
 は単なるA1という文字列。

(ねむねむ) 2018/10/17(水) 12:15


 でセル参照を意味する文字列を実際のセル参照に変換するためには和歌さんも書いているようにINDIRECT関数が必要。
 で、INDIRECT関数の制限により、閉じているブックへの参照を文字列から変換するのは関数では無理。
(ねむねむ) 2018/10/17(水) 12:16

 そもそも閉じているブックへの参照は「ファイルパス\[ブック名]シート名!セル番地」になるのでは?
(ねむねむ) 2018/10/17(水) 12:24

アドバイスありがとうございます。助かります!

文字列で入ってしまうのですね・・・VLOOKUPで実現するのは難しいようです。
別の方法で実現する方向を検討してみます。

ファイルパスは、同じディレクトリに入っているものは、相対パスで指定
できるようです。ブックを保存したタイミングか再計算したタイミングか
なにかで、自動的に絶対パスに変換されてしまいますが・・・

(和歌) 2018/10/17(水) 17:02


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.