[[20190613120122]] 『INDEX関数の引数にCELL関数で求めたシート名を使浴x(すぎやん) ページの最後に飛ぶ

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

 

『INDEX関数の引数にCELL関数で求めたシート名を使用するには』(すぎやん)

 お世話になります。
 ブックAAAのシートCCCで、=INDEX('[BBB]CCC'!$B:$G,MATCH($B15,'[BBB]CCC'!$C:$C,0),6)という数式を使用しているのですが、
 ブックAAAとブックBBBで同名のシートの値を参照したいと考え、'[BBB]CCC'の部分を
 'RIGHT(CELL("filename",A2),LEN(CELL("filename",A2))-FIND("[",CELL("filename",A2)))'にして、
 =INDEX('RIGHT(CELL("filename",A2),LEN(CELL("filename",A2))-FIND("[",CELL("filename",A2)))'!$B:$G,MATCH($B15,'RIGHT(CELL("filename",A2),LEN(CELL("filename",A2))-FIND("[",CELL("filename",A2)))'!$C:$C,0),6)としたところ、
 このワークシート内にある1つ以上の式の参照に問題が見つかりました、とのエラーが出ました。
 シート名はR1.5のような元号と月の組み合わせにしており、R1.6、R1.7…のように毎月シートを増やして行くつもりです。
 どのような数式にすれば解決できるでしょうか?

< 使用 Excel:Excel2013、使用 OS:Windows10 >


 >'[BBB]CCC'!$B:$G

 この部分を文字列で指定したいなら、INDIRECT関数を使う。
 尚、INDIRECT関数で指定されたブックが開いていないとエラーになります。

 こんな感じ?(多分)
 INDIRECT("'" & "[BBB]CCC" & "'!$B:$G")

 >CELL("filename",・・・・
 ブック名は、作業セルを使った方が数式が長くならずに解りやすくなると思うけど・・・。
(BJ) 2019/06/13(木) 15:14

 '[BBB]CCC'!$B:$G
 を
 INDIRECT("'[BBB]"&REPLACE(CELL("filename",A1),1,FIND("]",CELL("filename",A1)),"")&"'!$B:$G")

 '[BBB]CCC'!$C:$C
 を
 INDIRECT("'[BBB]"&REPLACE(CELL("filename",A1),1,FIND("]",CELL("filename",A1)),"")&"'!$C:$C")
 ではどうだろうか?
(ねむねむ) 2019/06/13(木) 15:19

 >>BJさん
 INDIRECT関数を使う必要があるんですね。ブックを開いていないとエラーになるのがちょっと悩ましい所です。
 作業セルを使ったブック名の取得方法というのはどのようなものでしょうか?

 >>ねむねむさん
 具体的にありがとうございます。教えて頂いた方法でばっちりでした。
(すぎやん) 2019/06/13(木) 16:07

 だから、適合なセルに
 =MID(CELL("filename",A1),SEARCH("[",CELL("filename",A1),1),50)
 とか書いておけば、

 INDIRECT(適当なセル & "XXXXX")

 となるから、数式が無駄に長くならずに解りやすい。(修正もしやすい)。
(BJ) 2019/06/13(木) 18:02

コメント返信:

[ 一覧(最新更新順) ]


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