Excel 检索实时数据:RTD函数

RTD函数用于从支持COM自动化的程序中检索实时数据。其语法如下:


RTD(ProgID,server,topic1,[topic2],...)

其中,ProgID参数为已安装在本地计算机上、经过注册的COM自动化加载宏的ProgID名称,该名称用引号引起来。Server为运行加载宏的服务器的名称。topic1、topic2……为1~253个参数,这些参数放在一起代表一个唯一的实时数据。

例如,以下公式将从LOREM_IPSUM服务器的MyComAddIn.Progid中检索“Price”:


=RTD("MyComAddIn.Progid",,"LOREM_IPSUM","Price")

Excel 数据库函数注意项

1)可以为参数criteria指定任意区域,但是至少要包含一个列标志和列标志下方用于设定条件的单元格。

2)虽然条件区域可以在工作表的任意位置,但不要将条件区域置于数据清单的下方。

3)确定条件区域没有与数据清单相重叠。

4)如果要对数据库的整个列进行操作,需要在条件区域中的列标志下方输入一个空白行。

5)每一个数据库函数都有条件区域,条件是指所指定的限制查询或筛选的结果集中包含哪些记录的条件;清单是指包含相关数据的一系列工作表行。建立条件区域要满足下面的条件:在可用作条件区域的数据清单上插入至少3个空白行;条件区域必须具有列标志;确保在条件值与数据清单之间至少留了一个空白行。

Excel 数据库函数参数简介

由于每个数据库函数均有3个相同参数,因此本节先介绍这3个参数的含义,在下面的节中再以实例的形式介绍数据库函数的具体功能。数据库函数的语法形式为:


函数名称(database,fi eld,criteria)

对参数的说明如下:

1)database参数为构成数据清单或数据库的单元格区域。数据库是包含一组相关数据的数据清单,其中包含相关信息的行称为数据记录,而包含数据的列称为数据字段。其中,数据清单的第1行中包含每一列的标志项。

2)field参数为指定函数所使用的数据列。数据清单中的数据列必须在第1行具有标志项。field参数可以是文本,即两端带引号的标志项,如“姓名”或“性别”;field参数也可以是代表数据清单中数据列位置的数字:1表示第1列,2表示第2列,以此类推。

3)criteria参数为一组包含给定条件的单元格区域。

Excel 数据库函数特点

数据库函数具有下面3个共同特点。

1)每个函数均有3个参数:database、field和criteria。这些参数指向函数所使用的工作表区域。

2)除了GETPIVOTDATA函数之外,其余12个函数都以字母D开头。

3)如果将字母D去掉,可以发现其实大多数数据库函数已经在的其他类型的Excel函数中出现过了。例如,将DMAX函数中的D去掉的话,就是求最大值的函数MAX。

Excel 切换引用

在Excel中进行公式编辑时,常常会根据需要在公式中使用不同的单元格引用方式。通常情况下用户会按老套的方法进行输入,这种方法不仅浪费时间,工作效率降低,同时准确度也会随之下降。这时可以用如下方法来快速切换单元格引用方式。

选中包含公式的单元格,在编辑栏中选择要更改的引用单元格,按“F4”键就可以在相对引用、绝对引用和混合引用间快速切换。

例如,选择“A2”引用,按一次“F4”键时,就会变成$A$2;连续按两下“F4”键时,就会变成A$2;连续按3次“F4”键,就会变成$A2;连续按4次“F4”键,就会变成A2。

只要使用“F4”键即可轻松地在$A$2、A$2、$A2、A2之间进行快速切换。

Excel 更改其他单元格引用

在单元格被引用后通常情况下也会有变动。如何将单元格引用更改为其他单元格引用?其具体操作步骤如下。

双击包含希望更改公式的单元格,使单元格公式处于可编辑状态。然后执行下列操作之一:

如果要将单元格或区域引用更改为其他单元格或区域,则将单元格或单元格区域的彩色标记边框拖动到新的单元格或单元格区域上即可。

如果要在引用中包括更多或更少的单元格,则拖动边框的一角,增大或减小单元格区域的选择即可。

在公式编辑栏中,以公式形式选择引用,然后输入一个新的引用,按“Enter”键返回即可。对于数组公式,则按“Ctrl+Shift+Enter”组合键返回结果。

Excel 引用数组中的大小制约

引用大小制约指的是数组公式中各相关引用之间的大小制约或引用大小对结果集大小的制约。

主关键区域决定数组函数返回值的大小(这里说的关键区域指的是决定数组公式返回结果集大小的区域)。

有相互依赖关系的引用之间大小一定要一致。相互依赖指的就是共同决定某个结果,如果不一致,则会返回一个错误值。

认识 Excel 数组

  • 数组类型:数组的类型实际上是指数组元素的取值类型。对于同一个数组,其所有元素的数据类型都是相同的。
  • 数组名的书写规则应符合标识符的书写规定。
  • 数组名不能与其他变量名相同。
  • 方括号中常量表达式表示数组元素的个数,如a[5]表示数组a有5个元素。但是其下标从0开始计算。因此5个元素分别为a[0],a[1],a[2],a[3],a[4]。
  • 不能在方括号中用变量来表示元素的个数,但是可以用符号常数或常量表达式。
  • 允许在同一个类型说明中说明多个数组和多个变量。

在工作表中经常可以看到许多在头尾带有“{}”的公式,有的用户把这些公式直接复制粘贴到单元格中,却没有出现正确的结果,这是为什么呢?其实这些都是数组公式,数组公式的输入方法是将公式输入后,不直接按“Enter”键,而是按“Ctrl+Shift+Enter”组合键,这时电脑自动为公式添加“{}”。

用户如果不小心按了“Enter”键,也不用紧张,用鼠标点一下编辑栏中的公式,再按“Ctrl+Shift+Enter”组合键即可。

数组公式是相对于普通公式而言的,普通公式只占用一个单元格,且返回一个结果,而数组公式则可以占用一个单元格也可以占用多个单元格,它对一组数或多组数进行计算,并返回一个或多个结果。

数组公式用一对大括号“{}”来括住,以区别普通公式,且以按“Ctrl+Shift+Enter”组合键结束。

数组公式主要用于建立可以产生多个结果或对可以存放在行和列中的一组参数进行运算的单个公式。数组公式最大的特点就是可以执行多重计算,它返回的是一组数据结果。数组公式最大的特征就是所引用的参数是数组参数,包括区域数组和常量数组。区域数组是一个矩形的单元格区域,如$A$1:$D$5;常量数组是一组给定的常量,例如{1,2,3}、{1;2;3}或{1,2,3;1,2,3}。

数组公式中的参数必须为“矩形”,如{1,2,3;1,2}就无法引用了。输入后同时按“Ctrl+Shift+Enter”组合键,数组公式的外面会自动加上大括号{}予以区分。有的时候,看上去是一般应用的公式也应该属于数组公式,只是它所引用的是数组常量。对于参数为常量数组的公式,则在参数外有大括号{},在公式外则没有,输入时也不必按“Ctrl+Shift+Enter”组合键。

Excel 处理函数参数

在函数的实际使用过程中,并非总是需要把一个函数的所有参数都写完整才可以计算,可以根据需要对参数进行省略和简化,以达到缩短公式长度或者减少计算步骤的目的。本节将具体讲解如何省略、简写及简化函数参数。

函数的帮助文件会将其各个参数表达的意思和要求罗列出来,仔细看看就会发现,有很多参数的描述中包括“忽略”“省略”“默认”等词,而且会注明,如果省略该参数,则表示默认该参数代表某个值。参数的省略是指该参数连同该参数存在所需的逗号间隔都不出现在函数中。

例:判断B2是否与A2的值相等,如果是则返回TRUE,否则返回FALSE。

=if(b2=a2,true,false)

可以省略为:

=if(b2=a2,true)

部分函数中的参数为TRUE或者FALSE,比如HLOOKUP函数的参数range_lookup。当为其指定为FALSE的时候,可以用0来替代。甚至连0也不写,而只是用逗号占据参数位置。下面3个公式是等价的:


= VLOOKUP(A1,B1:C10,2,FALSE)
= VLOOKUP(A1,B1:C10,2,0)
= VLOOKUP(A1,B1:C10,2,)

此外,有些针对数值的逻辑判断,可利用“0=false”和“非0数值=true”的规则来简化。比如,在已知A1单元格的数据只可能是数值的前提下,可以将公式=if(A1<>0,B1/A1,””)简化为=if(A1,B1/A1,””)。

Excel 公式错误:工作表中显示“#REF”

当单元格引用无效时,会出现此错误。

可能的原因和解决方法如下。

1)可能删除了其他公式所引用的单元格,或者可能将单元格粘贴到其他公式所引用的其他单元格上。

解决方法:如果在Excel中启用了错误检查,则单击显示在错误的单元格旁边的按钮,并单击“显示计算步骤”(如果显示),然后单击适合所用数据的解决方案。

2)可能存在指向当前未运行的程序的对象链接和嵌入(OLE)链接。

解决方法:更改公式,或者在删除或粘贴单元格之后立即单击快速访问工具栏上的“撤消”按钮以恢复工作表中的单元格。

3)可能链接到了不可用的动态数据交换(DDE)主题(客户端/服务器应用程序的服务器部分中的一组或一类数据),如“系统”。

解决方法:启动对象链接和嵌入(OLE)链接调用的程序。使用正确的动态数据交换(DDE)主题。

4)工作簿中可能有个宏在工作表中输入了返回值为“#REF!”错误的函数。

解决方法:检查函数以确定是否引用了无效的单元格或单元格区域。例如,如果宏在工作表中输入的函数引用函数上面的单元格,而含有该函数的单元格位于第1行中,这时函数将返回“#REF!”,因为第1行上面再没有单元格了。

如果公式无法正确计算结果,Excel将会显示错误值,例如“#####、#DIV/0!、#N/A、#NAME?、#NULL!、#NUM!、#REF!和#VALUE!”,每种错误类型都有不同的原因和不同的解决方法。