コピー元のワークシート名が異なる別のワークシートからセルをコピーする数式

コピー元のワークシート名が異なる別のワークシートからセルをコピーする数式

次の内容を含むワークシートを含むワークブックがあります。 目的地ワークシート

セル B1、C1、D1 のデータは、DOD11.2 という名前の同じワークブック内のワークシートのセル A1、A2、A3 の値と等しくなければなりません (つまり、ワークシートの名前は、セル A1、A2、A3、A4 の文字列の文字 x までの文字と同じです)。

セル B2、C2、D2 のデータは、同じ DOD11.2 ワークシートのセル B1、B2、B3 の値と等しくなります。同様に、セル B3、C3、D3 は、DOD11.2 のセル C1、C2、C3 の値と等しくなり、セル B4、C4、D4 は、DOD11.2 の D1、D2、D3 の値と等しくなります。

このシーケンスをセル B6、C6、D6、B7、C7、D7 などに対して繰り返す必要がありますが、今回はそれらの値が DOD12.2 という名前のシートのセル A1、A2、A3、B1、B2、B3 などのデータと等しくなければなりません (つまり、ワークシートの名前は、セル A6、A7、A8、A9 の文字列の文字 x までの文字と同じになります)。

セル B1 で使用でき、その後他のセルにコピーして適切なソース ワークシートとセルを正しく参照できる数式について、ご提案いただければ幸いです。

ご提案ありがとうございます。CHAR 関数を現在のセルの行と列の値とともに使用してソース セルの値を計算する方法は理解できました。残念ながら、クエリをわかりやすくするために、元の投稿では詳細な説明をしなかったため、ご提案では問題が完全に解決されません。実際の宛先シートは次のようになります。実際の目的地シートここで、表示されているセル番号 (AD8、BM8、...、AD9、BM9 など) は、ソース シートから取得する必要がある実際のセルのアドレスです。また、数式を割り当てる必要がある宛先シートには約 70 行あります。さらに提案があれば、ぜひお知らせください。

答え1

間接関数を使用して、セルアドレスを含む文字列を組み立てることができます。

ファイル名がE7、そのファイル内のシート名がE9、セル名が にあると仮定するとE11、次の数式を使用します。

=INDIRECT("'["&E7&"]"&E9&"'!"&E11)

あなたの場合は同じファイル内のシートにアクセスしているので、数式は次のようになります。

=INDIRECT("E9&"!"&E11)

セルA1のシート名は=left(A1,7)です

行 1 のセルはそのシートの列 A からのものであり
、行 2 のセルはそのシートの列 B からのものであり、
列名は char(64+<セルの行番号>) となります。

列 B のセルは行 1 から、
列 C のセルは行 2 からなど、
行番号は <列番号>-1 になります。

これらすべてから次の数式が得られ、それをB1にコピーして右と下に入力します

=INDIRECT(left($a1,7)&"!"&char(row()+64)&column()-1)

26 行を超えると、この処理は実行できなくなります。

関連情報