システムwiki

式を使用して別のシートデータを参照する

SamBear 解決済 最終更新日:2021-05-02 02:32

ワークブックには2枚のシートがあります.私はその年の日に異なるためにシートの名前を変えます.それは170401または170715などすることができます.
しかし、その名前は常に現在の作業セッション中にシート2のセルA1に格納されています.

私は定義された「BOB」の名前を持つシートのセルを持っています.私のVBAが実行するダイナミクスのために、 'bob'は同じセル行/列割り当てをめったに持っていません.

シート2に戻り、私は私がシート1の「ボブ」の下のデータのコピーであるC10から始めたい列を持っています.

シート2のC10(そしてそれより下の細胞)には、シート1のシートの下の細胞を参照するのは何枚の式を置くことができますか?

必要に応じて、 'bob'の下のリスト内の要素数は異なりますが、 'noofbobs'

という変数に格納されます.

SAM

返信リスト(回答:5)

1 #
V

この数式を使用してコピーします.

= IFERROR(INDEX(NoOfBobs、ROW(A1))、 "")

応答1# ->にスキップ
3 #
SamBear

この数式は必要に応じて機能していません.A1は、最初のシートの名前がシート2に格納されている場所です.下にコピーすると、参照が増加します.すべきこと:

= IFERROR(INDEX(NoOfBobs、ROW(A $ 1))、 "")

繰り返しになりますが、これについてご協力いただきありがとうございます.

サム

応答3# ->にスキップ
2 #
V

私が提案した式は正しいです.ROW(A1)には$記号を付けないでください.この数式は行番号を示しており、数式が下がると次の行番号が取得されるため、ソースranagからの増分値がフェッチされます.

= IFERROR(INDEX(NoOfBobs、ROW(A1))、 "")

上記の式は次のようなものです

= IFERROR(INDEX(NoOfBobs、1)、 "")コピーすると、

に変換されます.

= IFERROR(INDEX(NoOfBobs、2)、 "")なので、このように増加し、範囲名 "NoOfBobs"から値をフェッチします.

応答2# ->にスキップ
4 #
SamBear

範囲名は「NoOfBobs」ではありません.これは、「ボブ」として定義されたシート1のセルの下のセル内のデータポイントの数です.

繰り返しになりますが、この問題に対処していただきありがとうございます.

サム

5 #
Bernard

下のスクリーンショットをご覧ください

Sheet1では、F5の名前はBob

と定義されています.

また、現在値12を保持している定義済みの名前NoOfBobsがあります

C10のSheet2では、式を使用します

= IF(ROW(A1)<= NoOfBobs、INDIRECT(ADDRESS(ROW(Bob)+ ROW(A1)、COLUMN(Bob)、4、TRUE、 "Sheet1"))、 "")

これは列の下にコピーされ、下のエントリの予想最大数が含まれます ボブ

お祈り