わかりました...これはクレイジーに見えます。これはうまくいくはずです。私は自分のマシンでテストしましたが、動作します:
=HYPERLINK(MID(CELL("filename"),SEARCH("[",CELL("filename")), SEARCH("]",CELL("filename"))-SEARCH("[",CELL("filename"))+1) & ADDRESS(MATCH(CZ54,Sheet2!$A$1:$A$176),3,,,"sheet2"),VLOOKUP(CZ54,Sheet2!$A$1:$Y$176,3,FALSE))
いくつかの部分を説明するために、少し分解してみましょう。
MID(CELL("filename"),SEARCH("[",CELL("filename")), SEARCH("]",CELL("filename"))-SEARCH("[",CELL("filename"))+1)
ワークブック内のハイパーリンクに必要な形式である文字列 [currentFileName] を返します。
MATCH(CZ54,Sheet2!$A$1:$A$176),3,,,"sheet2")
VLookup 範囲の最初の列にある CZ54 の値の行番号を返します。
ADDRESS(MATCH(CZ54,Sheet2!$A$1:$A$176),3,,,"sheet2")
見つかった行のアドレスと、シート 2 の列 (vlookup からの 3) を返します。
組み合わせ:
MID(CELL("filename"),SEARCH("[",CELL("filename")), SEARCH("]",CELL("filename"))-SEARCH("[",CELL("filename"))+1) & ADDRESS(MATCH(CZ54,Sheet2!$A$1:$A$176),3,,,"sheet2")
HYPERLINK
数式の最初のパラメーターであるハイパーリンクの実際のアドレスを返します。
2 番目のパラメーターは、指定した Vlookup です。
編集: 誰かが同様の問題にこれを使用しようとした場合の警告。Match または Vlookup で使用される lookup_array がそれぞれ行 1 または列 1 で始まらない場合は、ADDRESS に送信される値を +(開始行) でオフセットする必要があります。または列 - 1)。例:Match(CZ54,$A$2:$A$176)+1
の代わりにMATCH(CZ54,Sheet2!$A$1:$A$176)
.