別のワークシートの値をセルに入力し、セル アドレスを 3 ずつ増やすにはどうすればよいでしょうか。

別のワークシートの値をセルに入力し、セル アドレスを 3 ずつ増やすにはどうすればよいでしょうか。

別のワークシートの値をセルに入力する方法はわかっています。しかし、3 番目のセルにスキップするにはどうすればよいでしょうか?

私がやろうとしていることは次のとおりです:

A1 ='2nd Worksheet'!C4
A2 ='2nd Worksheet'!C7
A3 ='2nd Worksheet'!C10
A4 ='2nd Worksheet'!C13
A5 ='2nd Worksheet'!C16
A6 ='2nd Worksheet'!C19
A7 ='2nd Worksheet'!C22
and so on... 

'2nd Worksheet'!Cxx毎回 3 ずつ増分して手動で入力する必要はありません。

答え1

A1 セルに次の数式を入力し、下にドラッグします。

=OFFSET(Sheet2!$C$4,3*ROW()-3,0)

答え2

ここにいくつかのバリエーションがあります:

  • A1=OFFSET('2nd Worksheet'!C$1, 3*ROW(), 0)
    これはC1上のセルを参照し2nd Worksheet 、現在の行番号の3行下に移動します。したがって、これを下にドラッグ/フィルすると、

    • A1=OFFSET('2nd Worksheet'!C$1, 3, 0)'2nd Worksheet'!C4
    • A2=OFFSET('2nd Worksheet'!C$1, 6, 0)'2nd Worksheet'!C7
    • A3=OFFSET('2nd Worksheet'!C$1, 9, 0)'2nd Worksheet'!C10

    絶対行参照にするには、$inを指定する必要があります。そうしないと、これを下にドラッグ/フィルすると、C$1

    • A1=OFFSET('2nd Worksheet'!C1, 3, 0)'2nd Worksheet'!C4
    • A2=OFFSET('2nd Worksheet'!C2, 6, 0)'2nd Worksheet'!C8
    • A3=OFFSET('2nd Worksheet'!C3, 9, 0)'2nd Worksheet'!C12

    (行番号は自動的に増加するため)。$C$1必要に応じて指定できますが、違いはありません (列間で移動またはコピーを開始しない限り)。

  • A1=INDIRECT("'2nd Worksheet'!C" & 3*ROW()+1)
    これは、質問で示した文字列を単純に構築し、関数を使用してINDIRECT()それらの文字列を逆参照します(つまり、それらをセルアドレスとして扱い、識別されたセルの内容を取得します)。

関連情報