您的位置:首页 > 其它

控件, offset与name manager的简单协同使用

2014-04-02 12:18 218 查看
数据: 不同城市每月的平均温度



目的: 通过选择上图右侧控件中的城市,得到一行对应的每月平均温度值,并以此作图(如下图)



思路: 1. 用OFFSET实现数据的动态选择;2. 命名这个OFFSET



命名City返回控件中选择的城市,命名Temp返回控件所选城市对应的12个月的每月平均气温。Temp_Alt是得到12个月每月气温的另一种方法,稍后可以谈到两者的区别。

====================================================================================================

两种命名方法

Temp: 此命名返回的是一个1行12列的range。如果在任意单元格里输入"=Temp"得到的结果是"#VALUE!"。如下图在单元格S18里输入"=Temp"。

理论上一个单元格是不能直接返回一个包含两个或更多单元格的range的,所以得到的只能是一个error message。



只有一种情况除外:在OFFSET返回range对应的列中,输入"=Temp"。如下图。在原始数据里,当控件选择北京市的时候,Temp对应的OFFSET返回的range是$C$4:$N$4。

我在14行单独列出选中的城市及对应温度。当我把数据起止列限定在C:N列时,在$C$14:$N$14里统一输入"=Temp"可以自动得到原始数据里对应列的数据的。



再回看任意列输入"=Temp"的情况,如上上图中,S18输入Temp,得到的就只能是"#VALUE!"

另外,如果Temp设定的使用范围是Workbook,那么在同一个workbook的其他表中,也适用刚才讨论到的规则。Sheet1中C:N列的数据,也能在Sheet2中的C:N列用Temp实现12列数值的自动返回。

Temp_Alt: 此命名返回单一单元格,所以不同于Temp,在任意单元格中输入"=Temp_Alt"都不会返回error message,只要注意修改OFFSET第三个参数的值(横向右移长度)就可以了。



====================================================================================================

参考文件: 控件,offset与name manager的简单协同使用
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息