[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『Indirect関数 別シート参照時のダブルクオーテーション』(超ビギナー)
Indirect関数で別シート参照をするとき、例えば
=VLOOKUP(B5,INDIRECT(C5&"!B:H"),7,FALSE)
の場合、なぜIndirect関数内の最初の「C5]部分がダブルクオーテーション必要ないのかが分かりません。
逆にVlookupではなく、Indirect("C5")単体の際、ダブルクオーテーションを抜かすとエラーとなってしまうのに対し、↑のVlookupの式でダブルクオーテーションをC5につけるとエラーとなってしまいます。
=VLOOKUP(B5,INDIRECT("C5"&"!B:H"),7,FALSE) →エラー
どなたかどうぞ教えてください。
どうぞよろしくお願い致します。
< 使用 Excel:Excel2019、使用 OS:Windows10 >
=VLOOKUP(B5,INDIRECT(C5&"!B:H"),7,FALSE) ↑C5セルに入っている値(シート名)
=VLOOKUP(B5,INDIRECT("C5"&"!B:H"),7,FALSE) →エラー ↑「C5」と言うシート名(そんなシート名は無いでしょ)
(半平太) 2021/01/22(金) 13:45
たとえばC5に「sample」という文字が入っていた場合、
=INDIRECT("C5")だとsampleが返されます。
それに対し、
=VLOOKUP(B5,INDIRECT("C5"&"!B:H"),7,FALSE)だとINDIRECT("C5" の部分が
「sample」で返されず、そのまま「C5」と返されてしまう違いが未だわからないです。
(超ビギナー) 2021/01/22(金) 14:22
(1) "C5" は "C5" である そのINDIRECTは「C5セルの値」を返す、何故ならC5セルが存在するので。
(2) "C5"&"!B:H" は "C5!B:H" である そのINDIRECTは「C5シートのB:H」を返す、 しかしC5シートのB:Hなんてどこにも存在しない→エラー
無理に"C5"を使って、Sample!B:H にしたければ、 もう一つINDIRECTを噛ませて INDIRECT("C5")&"!B:H" とする。
つまり ↓ =VLOOKUP(B5,INDIRECT(INDIRECT("C5")&"!B:H"),7,FALSE)
(半平太) 2021/01/22(金) 14:59
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.