2017-01-19 18 views
0

Excel 2013では、単一列のセル範囲内の動的セル参照を返す関数が必要です。これは、クライアントが売上データをモデリングしている月の数に応じて、2行から24行のいずれかを処理する必要があります。赤で強調ROW()参照内の動的セル参照

enter image description here

セル参照は、私が動的に関数内で参照されている必要があり、セル参照です。これはここでは静的に見えますが、それは現在現在の範囲 - $ C15の最後のセルを参照しているからです。しかし、7ヶ月以上(またはそれ以下)のモデルを作成すると、セルアドレス参照がそれに応じて変更されます。私はE$15の位置に異なる機能を挿入しようとしましたが、常に#VALUEエラーを返します。

私は必要に応じて機能する関数を持っていますが、私はROW()関数を使ってユーザ入力データのセルアドレスを返しています。このユーザー入力データは常に列の最後のセル(2-24)ですが、データを正しくモデル化するためには、上のセルで参照する必要があります。

=IF(A11=Impact_Over_Months,Retention_Range_Min,IF(A11>Impact_Over_Months,"",(ROW()-ROW(C$10))/(ROW(C$15)-ROW(C$10))*(LOOKUP(2,1/($C$10:$C$33<>""),$C$10:$C$33)-Retention_Range_Max)+Retention_Range_Max)) 

問題は、このセクションにある - /(ROW(C$15)-ROW(C$10))*、関数ROW(C$15)はデータセットの最後の行に動的セル参照を返すことがあります。

私は、オフセット、インデックス、マッチなどをさまざまな組み合わせで試しましたが、役に立たないです。 にはVBAは含まれていないソリューションを誰でも提供できますか?

答えて

0

ので、あなたが最後のエントリを取得するには、アレイ内のINDEXを使用することができますROWS代わりのROWを使用してみてください:

ROWS($C$1:INDEX($C:$C,COUNTA($C:$C))) 
+1

あなたはここに、このようにINDEX' 'の使用の素敵な説明を取得することができます。https:/ /www.ablebits.com/office-addins-blog/2015/02/18/excel-index-function/#index-dynamic-ranges – LukasV

+0

COUNTAはここでは機能しません。これは空でないセルを検索しますが、この場合、ダイナミックレンジの各セルに関数が存在するため、Excelはその関数を空でないセルとして認識します。 私はCOUNTIF/COUNTIFSのバージョンを使用しようとしています... – Matteo

+0

'COUNTA'を' COUNTIF($ C:$ C、 ">" "") 'に置き換えてみてください。 – LukasV

関連する問題