小结: 本题涉及的知识点并不复杂,而在动态数据图形制作上,特别是数据的动态演示方面具有很好的实用价值,现简单小结一下,希望对大家有所启发。 一、基本知识点 1、 条件格式。 本中用条件格式实现选中数据所在行的突出显示,条件格式公式比较简单: Cell(“row”)=row(),即当引用中单元格的行号等于当前行号,即突出显示。 2、 定义名称 本题定义了list、list1等名称。 List=OFFSET(a!$B6,0,1,,6),用于取得选中单元格所在行的数据系列,需要特别说明的是,这里offset函数启始单元格位置使用了相对引用方式,从而方便地实现动态选取数据的目的。 List1=IF(list=CELL("contents"),list,#N/A),主要用于获取光标选取值的突出显示,这里用了CELL函数的cell("contents")形式,即忽略第二个参数时,则在 info_type 中所指定的信息将返回给最后更改的单元格的内容。 3、 制作折线图 使用定义的list、list1两个名称制作折线图应该是比较容易的一件事,也是一些基本的操作,这里就不细说了。 二、函数使用心得 1、 offset函数 offset函数在动态图表设计中经常被使用,通常的方法是,以固定的点或行或列为起点,通过计算得到行或列的偏移量,从而动态地取得图形所需的数据系统。而本例中是以相对单元格形式设置offset函数的起始单元格,从而更便捷地获取数据系统,实现图形的动态效果。 2、 cell函数 cell函数是本题中的另一个核心函数,主要运用了cell(“row”)、cell(“col”)、cell(“contents”)等具体形式。下面引用excel里帮助内容做为参考。 CELL返回某一引用区域的左上角单元格的格式、位置或内容等信息。 语法 CELL(info_type,reference) Info_type 为一个文本值,指定所需要的单元格信息的类型。下面列出 info_type 的可能值及相应的结果。 Info_type | 返回 |
---|
|
"address" | 引用中第一个单元格的引用,文本类型。 | "col" | 引用中单元格的列标。 | "color" | 如果单元格中的负值以不同颜色显示,则为 1,否则返回 0。 | "contents" | 引用中左上角单元格的值:不是公式。 | "filename" | 包含引用的文件名(包括全部路径),文本类型。如果包含目标引用的工作表尚未保存,则返回空文本 ("")。 | "format" | 与单元格中不同的数字格式相对应的文本值。下表列出不同格式的文本值。如果单元格中负值以不同颜色显示,则在返回的文本值的结尾处加“-”;如果单元格中为正值或所有单元格均加括号,则在文本值的结尾处返回“()”。 | "parentheses" | 如果单元格中为正值或全部单元格均加括号,则为 1,否则返回 0。 | "prefix" | 与单元格中不同的“标志前缀”相对应的文本值。如果单元格文本左对齐,则返回单引号 (');如果单元格文本右对齐,则返回双引号 (");如果单元格文本居中,则返回插入字符 (^);如果单元格文本两端对齐,则返回反斜线 (\);如果是其他情况,则返回空文本 ("")。 | "protect" | 如果单元格没有锁定,则为 0;如果单元格锁定,则为 1。 | "row" | 引用中单元格的行号。 | "type" | 与单元格中的数据类型相对应的文本值。如果单元格为空,则返回“b”。如果单元格包含文本常量,则返回“l”;如果单元格包含其他内容,则返回“v”。 | "width" | 取整后的单元格的列宽。列宽以默认字号的一个字符的宽度为单位。 |
Reference 表示要获取其有关信息的单元格。如果忽略,则在 info_type 中所指定的信息将返回给最后更改的单元格。下表描述 info_type 为“format”,以及引用为用内置数字格式设置的单元格时,函数 CELL 返回的文本值。 如果 Microsoft Excel 的格式为 | CELL 返回值 |
---|
常规 | "G" | 0 | "F0" | #,##0 | ",0" | 0.00 | "F2" | #,##0.00 | ",2" | $#,##0_);($#,##0) | "C0" | $#,##0_);[Red]($#,##0) | "C0-" | $#,##0.00_);($#,##0.00) | "C2" | $#,##0.00_);[Red]($#,##0.00) | "C2-" | 0% | "P0" | 0.00% | "P2" | 0.00E+00 | "S2" | # ?/? 或 # ??/?? | "G" | yy-m-d 或 yy-m-d h:mm 或 dd-mm-yy | "D4" | d-mmm-yy 或 dd-mmm-yy | "D1" | d-mmm 或 dd-mmm | "D2" | mmm-yy | "D3" | dd-mm | "D5" | h:mm AM/PM | "D7" | h:mm:ss AM/PM | "D6" | h:mm | "D9" | h:mm:ss | "D8" |
如果 CELL 公式中的 info_type 参数为“format”,而且以后又用自定义格式设置了单元格,则必须重新计算工作表以更新 CELL 公式。 三、实际运用
我们在设计动态图表时,经常用窗体或数据有效等方法实现动态选择项目,从而取得相应的动态数据系列。而本例直接使用光标选取数据,来实现动态显示图表,特别是在对数据动态演示时更加方面。
本列的方法可以运用在折线图、散点图、直方图等多种图形中。 下面给出利用本例数据制作为直方图的例子。 最后要特别感谢breezy兄和杨彬兄两位给出了VBA的代码,使得本列便捷的特点更充分地发挥出来。
[此贴子已经被作者于2006-11-25 22:59:17编辑过]
|