シート名に基づくセル参照

シート名に基づくセル参照

ワークブックが1冊あります。

その中に、番号で名前を変更したシートがいくつかあり、最初のシートは番号を取得したいデータベースです。

シート1Aに名前を変更: 取得したいデータを含む
シート21に名前を変更しました: セル内の数式はB3次のようになります=A!B1
シート32に名前を変更しました: セル内の数式B3=A!B2
シート43に名前を変更しました: セル内の数式B3=A!B3
シート54に名前を変更しました: セル内の数式B3=A!B4

この数式で、上で数字に名前を変更したシート名を取得できます。

IF(ISERROR(RIGHT(CELL("filename";$A$1);LEN(CELL("filename";$A$1))-FIND("]";CELL("filename";$A$1))));"This workbook never saved";RIGHT(CELL("filename";$A$1);LEN(CELL("filename";$A$1))-FIND("]";CELL("filename";$A$1))))

しかし、これを使用してセル参照を変更することはできません。そのため、シート名1を変更するたびに=A!B1、シート内の セル参照が変更されます 2=A!B2

誰か助けてくれませんか?式は次のようになります=A!B(sheetname)

答え1

これを試して

=INDIRECT("A!B"&yourformula)

の欠点の 1 つは、たとえばINDIRECTシート名を変更した場合、数式が に更新されないことです。AKitchen"Kitchen!B"&yourformula

そして、これはINDIRECT問題を解決する方法としては洗練されていないということを覚えておいてください。特に、多くの間接要素を扱っている場合は、恐ろしく遅くなります。

関連情報