Excelのクロスシートスクリプト


0

ブックの残りの同じセルから最初のシートの行番号を更新することはできますか?

私は、インデックスシート(持ってIndex、数週間のために53枚の他のシートへのリンクを)Wk 1スルーWk 53Index:A2to Wk1:C19Index:A3to Wk2:C19Index:A4to Wk3:C19などからデータを抽出する必要があります。

Index!$A(wk1!sheet())成功せずに行参照を返すバリエーションを試しました。

動作しているように見える唯一のことはC19、すべての53 Wk枚のシートすべてに絶対参照を書き込むことです。

これを行うためのより良い方法はありますか?


私はこれを言うためにあなたのお気に入りのチャップになるつもりはないことを知っていますが、最良の方法はあなたのデータを統合することです。週ごとにシートを分けておくと頭痛の種がなくなります。一方、1つのテーブルにすべてのデータがあり、1つのシートに週番号列を追加するだけで、特定の週のデータをレポート層。これにより、ワークブックが合理化され、レポートが簡素化され、将来の変更がはるかに簡単になります。
CLockeWork 14年

回答:


1

INDIRECT()変化するセルの場所を参照するために使用し、ワークシート名を取得するためにCELL( "filename")を使用して、セルが参照する必要がある週/行を知る必要があります。

=INDIRECT("Index!A"
    &RIGHT(
        CELL("filename")
        ,LEN(CELL("filename"))-SEARCH("]",CELL("filename"))-2)
    +1)

これを分解しましょう:

  1. 毎週あなたがいるワークシートを特定しましょう。Wk1タブのセルC19に移動します。を入力し=CELL("filename")ます。この手順では、ブックを最初に保存する必要があります。保存しないと、Excelが認識できるファイル名がありません。

    次のようになります。

    C:\Users\yourname\Documents\[yourworkbook.xlsx]Wk1

  2. 次に、そのほとんどを削除して、関連する情報、つまり週番号のみを保持する必要があります。週番号は常に文字列の最後の部分であるため、RIGHT()関数を使用して取得できます。

    入力するだけで=RIGHT(CELL("filename"),1)週番号1を取得できますが、これは10週間未満の場合にのみ機能します。そのため、関数を柔軟にし、保持する桁数を決定する必要があります。1または2?

    LEN()で文字の総数を識別するために使用できますCELL("filename")。次に、次のように、文字列の長さを]合計長から差し引くことで、ワークシート名の文字数を特定できます。

    =LEN(CELL("filename"))-SEARCH("]",CELL("filename"))

    これにより、3または4の値が得られますが、ワークシート名の「Wk」部分を構成する2つの文字を含めたくないので、2を減算して「Wk」も削除します。

    =LEN(CELL("filename"))-SEARCH("]",CELL("filename"))-2

    したがって、それをRIGHT()関数に追加すると次のようになります。

    RIGHT(CELL("filename"),LEN(CELL("filename"))-SEARCH("]",CELL("filename"))-2))

    最後に-インデックスシートでは、1週目は2行目から始まるので、正しい行番号を出力するように1を追加しましょう。

    RIGHT(CELL("filename"),LEN(CELL("filename"))-SEARCH("]",CELL("filename"))-2))+1

  3. INDIRECT()セル参照で計算を使用できます。「Index!A」への静的参照に行番号を追加し、を使用して2つを連結し&ます。

すべてをまとめると、それは:

=INDIRECT("Index!A"
    &RIGHT(
        CELL("filename")
        ,LEN(CELL("filename"))-SEARCH("]",CELL("filename"))-2)
    +1)
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.