INDIRECT関数、SUBSTITUTE関数を組み合わせた計算式に関数エラー
解決したいこと
毎年作成する、あるエクセル集計表の集計値を前年度と比較して、大きな差が生じていないかを確認する作業を行う必要があります。
集計表がエクセルファイルで数十個、また各エクセルファイル内に複数のシート、その各シート内に数百の集計値がありますので、ひとつひとつ手作業で差を持ちめるのは無理があります。
そのため、別途エクセルで比較表を作成し、今年度の集計値とそれに対応する前年度の集計値の差を各セルに表示しようと考えています。
本題ですが、今年度の集計値を参照するための関数でどうしても#REF!のエラーが出てしまうため、正しく参照できるようにしたいです。
参考
今年度作成ファイル名:〇〇〇.xlsx
昨年度作成ファイル名:R5_〇〇〇.xlsx
比較表ファイル名:(比較表)〇〇〇.xlsx
それぞれ同一フォルダの中で、「R6」「R5」「比較表」というフォルダに分けて保存しています。
*上記ファイルがそれぞれ数十個ずつあります。
発生している問題・エラー
#REF!
該当するソースコード
=INDIRECT("'"
&LEFT(CELL("filename",$A$1),FIND("[",CELL("filename",$A$1))-5)
&"R6\"
&SUBSTITUTE(MID(CELL("filename",$A$1),FIND("[",CELL("filename",$A$1)),99),"(比較表)","")
&"'!"
&ADDRESS(ROW(),COLUMN()))
自分で試したこと
=INDIRECT("'"
&LEFT(CELL("filename",$A$1),FIND("[",CELL("filename",$A$1))-5)
&"R6\"
&"[ファイル名]"
&MID(CELL("filename",$A$1),FIND("]",CELL("filename",$A$1))+1,99)
&"'!"
&ADDRESS(ROW(),COLUMN()))
上記ではエラーなく狙い通りに参照可能です。
また、ファイル名およびシート名を取得する関数
SUBSTITUTE(MID(CELL("filename",$A$1),FIND("[",CELL("filename",$A$1)),99),"(比較表)","")
上記ではファイル名およびシート名が狙い通りに取得可能です。
そのため、エラーなく参照できている関数の内、
ファイル名を取得する関数
シート名
&"[ファイル名]"
&MID(CELL("filename",$A$1),FIND("]",CELL("filename",$A$1))+1,99)
を、ファイル名およびシート名を取得する関数
&SUBSTITUTE(MID(CELL("filename",$A$1),FIND("[",CELL("filename",$A$1)),99),"(比較表)","")
に置換した関数でも狙い通りに参照可能と思ったのですが、なぜかエラーになってしまいます。
解決方法にアイディアがあればご教示願います。