我花了几个小时试图为此提出一个干净的解决方案,而我似乎无法做到。
基本上,我已经定义了几个动态范围,我想根据条件选择一个。看起来很简单!我想选择这个动态范围的原因是我可以绘制范围图。
Indirect
不起作用。
DIndirect
(常见的VBA算法)不起作用。
(或者我无法得到它们)
Choose
有效!但是,动态范围的最大长度很快达到了,这意味着我被迫进入如下的无法解决方案。
我定义dynamic_dynamic
=IF(A1<3,CHOOSE(A1,'WorksheetName'!dynamic_range_1, 'WorksheetName'!dynamic_range_2),'WorksheetName'!dynamic_dynamic_2)
然后我定义dynamic_dynamic_2
=IF(A1<5,CHOOSE(A1-2,'WorksheetName'!dynamic_range_3, 'WorksheetName'!dynamic_range_4),'WorksheetName'!dynamic_dynamic_3)
然后我定义dynamic_dynamic_3
=IF(A1<7,CHOOSE(A1-4,'WorksheetName'!dynamic_range_5, 'WorksheetName'!dynamic_range_6),'WorksheetName'!dynamic_dynamic_4)
....等等。
真的?我确定我是个白痴,但似乎没有别的办法了!