[[20220626165537]] 『関数の範囲をセルの文字列に』(松山の郷田) ページの最後に飛ぶ

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

 

『関数の範囲をセルの文字列に』(松山の郷田)

A1のセルにVLOOKUPの式があるとします。
=VLOOKUP(検索値, 範囲, 列番号, 検索の型)ですよね。

この式を範囲が「シート1!Sheet2!A2」だとして、日によって範囲のシート名が変わるとします。対応するシートはもう作成済みです。

A2に範囲のシート名が表示されるので「シート1」の部分をA2のセルにある文字列の内容にする事は可能ですか?

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


 >範囲が「シート1!Sheet2!A2」だとして
 範囲?
 どういうこと。
 それは範囲というよりセル指定じゃないですか。
 >A2に範囲のシート名が表示されるので「シート1」の部分をA2のセルにある文字列の内容にする事は可能ですか?
 具体例をあげてください。
(???) 2022/06/26(日) 17:17

 ???さんがおっしゃるように
 >範囲が「シート1!Sheet2!A2」だとして
 の意味がちょっと理解できていませんが、

 おそらくINDIRECT関数を使えばご希望のことができそうですよ。
 例えば、 A2に

 シート1!A1:B10 と入力されているなら =VLOOKUP(B1,INDIRECT(A2),2,FALSE)
 単に シート1 と入力されているなら    =VLOOKUP(B2,INDIRECT(A3&"A1:B10"),2,FALSE)

 みたいな感じでどうですか。
  
(tora) 2022/06/26(日) 17:28

 >単に シート1 と入力されているなら
 >=VLOOKUP(B2,INDIRECT(A3&"A1:B10"),2,FALSE) 
「!」が抜けてますね。

 A2セルにシート名だけが入力されているのなら

 =VLOOKUP(B2,INDIRECT(A2&"!A1:B10"),2,FALSE)
                      ~~~~~
 ただし、シート名によっては(シート名にスペースが含まれているなど)
 これではエラーになります。

 そういう場合は
 =VLOOKUP(B2,INDIRECT("'"&A2&"'!A1:B10"),2,FALSE)
                      ~~~~~~~~~~
「'」が必要ないシート名でも、このようにしておいても問題はありません。

 以上、参考まで
(笑) 2022/06/26(日) 21:23

おそくなりました
みなさんありがとうございます
(松山の郷田) 2022/07/10(日) 10:18

コメント返信:

[ 一覧(最新更新順) ]


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