2016-05-23 4 views
0

私は会社の財務とExcelブックを作成しています。このワークブックには、損益計算書とパラメータを含むシートがあります。Excelの他のシートに示されている列の数を合計します

パラメータを含むシートには、会社の製品のサービス契約が存続することが予想される期間が四半期であるセルがあります。

損益計算書のシートでは、パラメータシートの数値と同じ数のセルを合計します。

"パラメータ" - シートセルB7には4があります。今度は "Income statement" -sheetで、セルC8から4列の合計を(パラメータ!B7 = 4であるため)右にします。しかし、パラメータの数を5に変更すると、Incomeステートメントの右側に自動的に5列が必要になります。

私はExcelをR1C1に変更しようとしましたが、これを作成する手がかりがありません。または可能であればVBなし。これを行うためのいくつかの方法があります =SUM(R8C3:R8C[+Paramaters!R7C2])

+1

これは、Indirect()関数を使用して行うことができます。 –

答えて

2

それはこのようなものにする必要があります。最初のものはオフセットされます。オフセット式はこの形式に基づいています。

OFFSET(REFERENCE CELL, NUMBER OF ROWS TO MOVE, NUMBER OF COLUMNS TO MOVE, HOW MANY ROWS TO RETURN FROM THE NEW POINT, HOW MANY COLUMNS TO RETURN FROM THE NEW POINT) 

ポジティブは、右下に移動します。負の値は左または上に移動します。

は、だからあなたの場合には、あなたのようなものを見ていることになります。今、私は、あなたがダウンしてコピーすることを計画した場合に8をロックし、あなたがダウンしてコピーした行ごとに新しい行を望んでいませんでした

=SUM(OFFSET($C8,0,0,1,'Parameters'!B7)) 

とC8が常に同じ基準点になることを望まなかった。しかし、それを回避する方法があり、あなたが好きなら$ C $ 8を保つ。

あなたはちょうどオフセットを数回使用している場合は、是非先に進んでそれは遅く物事を下げないと言いました。しかし、頻繁に使用すると、ワークシート上の情報が変更されたときにいつでも再計算される揮発性関数であるため、処理が遅くなります。

これを回避するには、オプションがあります。

また、INDEXオプションを使用することもできます。インデックスのオプションは、シーンの背後にあるセルアドレスを返すので、次のように使用できます。

=SUM(C8:INDEX(8:8,COLUMN(C8)+'Parameters'!B7)) 
+0

R1C1スタイルから変更する必要がありますか、それともそれに応じてセル参照を調整する必要がありますか? –

+0

あなたの答えをありがとう。最初のものは動作していませんでしたが、INDEXオプションがトリックでした。 –

関連する問題