我有两列,col A包含1到9999的ID号,B列包含名称列表。我想为列B创建一个动态命名范围,其中关联的ID值介于999和9000之间。通常我会使用OFFSET函数来定义命名范围。是否可以根据col A中的值扩展功能以排除col B中的记录?
如果可能的话,我想避免过滤,vba,数据透视表或操纵原始数据。
谢谢
答案 0 :(得分:0)
这是一个只有1个限制的解决方案,即ID列上的过滤器应该产生连续值,例如:过滤器可以是ID> = 5和/或ID< = 1000
如果这是可以接受的,解决方案将是:
与ID(A栏)和&名称列(列B),创建第三列(列C),例如Name2 where
Name2 = =IF(AND($A2>=start_val,$A2<=end_val),B2,"")
ID Name Name2
1 A
2 B
3 C C
4 D D
5 E E
6 F F
7 G G
8 H
9 I
10 J
为您的过滤器创建另外两个名称范围
start_val 3
end_val 7
最后,使用公式:
创建一个命名范围xyz = OFFSET(Name2,MATCH(start_val,ID,0)-1,,1+MATCH(end_val,ID,0)-MATCH(start_val,ID,0),)