アプリ版:「スタンプのみでお礼する」機能のリリースについて

VLOOKUPで複数の値を参照したくて、下記の数式を見つけましたが、
開いていないファイルから参照できません。
元データファイルを開いたままだと値がでるのですが、
VLOOKUP, INDEX, MATCH関数は、開いていないファイルからも
参照可能だと思うのですが、理由がわかりません。
開いていないファイルは参照不可なのでしょうか
教えていただきたいです。
下記 式でわかるでしょうか よろしくお願いします。

=VLOOKUP($C$1,INDEX('E:\テスト'!$A$2:$A$300,
MATCH($C$1,'E:\テスト'!$A$2:$A$300,0)+1):'E:\テスト'!$D$30,3,0)

A 回答 (4件)

こんばんは



ご提示の式の意味がかなり複雑になっているので、なんともですが・・・

最初の検索が300行までなのに対して、二番目の検索は30行までにしているのは意図的でしょうか?
最初の検索で、30行以降でヒットした場合には、その行から30行目までに遡るので、結局、最初にヒットした行が選択されます。
それとも、単純に300行までで2番目にヒットする行を選択したいってことでしょうか?
(この場合には、式がおかしいことになりますが・・)

ご提示の式には、ブック名もない上に、Vlookup関数の第二引数もかなり特殊な指定をしているので、ブック名等を加えたとしても、最初のMATCH関数は計算してくれますが、その後はセル範囲として認識されずにエラーになっています。

もっと単純化した関数で試してみましたが、「セル範囲を計算で求める」ことを行うと、別ブックが閉じた状態ではエラーになるようです。
単純な
 =INDEX(別ブック$A$1:$B$20,10,1)
であれば、計算してくれますが、
 =Index(Offset(別ブック$A$1,0,0,20,1),10,1)
のようにセル範囲を計算させると、別ブックが閉じた状態ではエラーになります。
(開けば計算をしてくれます)


ご提示の式の意味を正確にはわかりかねますが(特に30行目より後で最初にヒットした場合の挙動をどうしたいのか)、関数式を「セル範囲を計算しない方法で計算する」ように変えることで、ブックを閉じた状態でも計算ができるようにすることは可能と思います。
    • good
    • 0

ブック名が式に入ってないように思えますが?

    • good
    • 0

No.1です。

ごめんなさい。
サイトの情報をよく見ずに回答しました。
確かに不思議ですね。答えになっていなくてすみません。
    • good
    • 0

ブック間の参照は、開かないと機能しません。


エクセルの仕様です。
https://excel-ubara.com/excel3/EXCEL026.html
    • good
    • 0

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

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