Excel 在同一工作表上创建单元格引用

单元格的引用有两种,一种是相对引用方式,另一种是绝对引用方式。

相对引用

相对引用单元格的方法非常简单,接下来通过一个小实例说明相对引用方式的方法。

步骤1:选中D2单元格,可以看到公式编辑栏中该单元格的公式,如图7-5所示。

图7-5 目标数据

步骤2:将指针移动到D2单元格右下角的黑色实心方块上,当指针变为黑色“十”字时,向下拖动鼠标至单元格D6,这时已将公式复制至其他单元格中。

步骤3:单击复制得到的公式,例如单击单元格D5,此时发现D5中的公式为“=B5+C5”,如图7-6所示。

绝对引用

单元格的绝对引用指的是把公式复制或移动到其他位置时,公式中的固定单元格地址保持不变。如果要对单元格采用绝对引用的方式,则需要使用“$”符号为标识。接下来还是通过一个小例子说明如何对单元格进行绝对引用。

图7-6 数据源自动改变

步骤1:选中D2单元格,可以看到公式编辑栏中该单元格的公式,如图7-7所示。

图7-7 目标数据

步骤2:将指针移动到D2单元格右下角的黑色实心方块上,当指针变为黑色“十”字时,向下拖动鼠标至单元格D5,这时已将公式复制至其他单元格中。

步骤3:单击复制得到的公式,例如单击单元格D5,此时发现D5中的公式为“=$B$2*C5”,如图7-8所示。

图7-8 绝对引用时地址不变

Excel 利用数组模拟IF()

前面讲了利用数组模拟AND和OR,同样利用数组也可以模拟IF()。还是以图7-5所示的工作表数据为例。

前一节讲过在单元格A8中输入公式“=SUM(AND(C3:C7>2000,C3:C7<2500)*1)”,按组合键“Ctrl+Shift+Enter”后,返回的结果是0。在单元格B8中输入公式“=SUM((C3:C7>2000)*(C3:C7<2500)*1)”,按组合键“Ctrl+Shift+Enter”后,结果是2。

现在我们将单元格A8中的公式更改为“=SUM(IF(C3:C7>2000,C3:C7<2500)*1)”,按组合键“Ctrl+Shift+Enter”后,得到的结果是2。如果将IF去掉,公式又会变成什么样子呢?在其他空白单元格中输入“=SUM((C3:C7>2000)*(C3:C7<2500))”,按组合键“Ctrl+Shift+Enter”后,结果还是2。

由此可以看出通常情况下“*”可以模拟IF(),需要注意的是并不是所有的IF()都可以用“*”代替,用户可根据实际情况灵活运用。

Excel 利用数组模拟AND和OR

AND(与关系):当两个或多个条件必须同时成立时才判定为真时,则称判定与条件的关系为逻辑与关系,就是平常所说的“且”。

OR(或关系):当两个或多个条件只要有一个成立时就判定为真时,则称判定与条件的关系为逻辑或关系。

图7-3 目标数据

在Excel中,*和+可以与逻辑判断函数AND和OR互换,但在数组公式中,*和+号能够替换AND和OR函数,反之则行不通。这是因为AND函数和OR函数返回的是一个单值TRUE或FALSE,如果数据公式要执行多重计算,单值不能形成数组公式各参数间的一一对应关系。例如要统计如图7-3所示的表格中基本工资为2000~2500的员工人数,就是说统计工资高于2000且低于2500的人数,由此可以判定该条件是一个“逻辑与”关系。

·如果在单元格A8中输入公式“=SUM(AND(C3:C7>2000,C3:C7<2500)*1)”,按组合键“Ctrl+Shift+Enter”后,返回的结果是0。

因为公式中“C3:C7>2000”返回的值是{FALSE;TRUE;TRUE;FALSE;FALSE}。而公式“C3:C7<2500”返回的值是{TRUE;TRUE;TRUE;TRUE;TRUE}。

这两个公式返回的值再逻辑与,则返回的值是FALSE。所以计算结果“=SUM(FALSE*1)=SUM(0*1)=0”。因此返回的结果为0。

·在单元格B8中输入公式“=SUM((C3:C7>2000)*(C3:C7<2500))”,按组合键“Ctrl+Shift+Enter”后,返回的结果是2。

这是因为在公式中“(C3:C7>2000)*(C3:C7<2500)”

={TRUE;FALSE;TRUE;TRUE;TRUE}*{TRUE;TRUE;FALSE;TRUE;FALSE}

={1;0;1;1;1}*{1;1;0;1;0}

={1;0;0;1;0}

所以公式的计算结果为“=SUM({1;0;0;1;0})”=2。

如图7-4所示。

图7-4 返回结果

Excel 数组公式的用途

数组公式主要用于建立可以产生多个结果或对可以存放在行和列中的一组参数进行运算的单个公式。数组公式最大的特点就是可以执行多重计算,它返回的是一组数据结果。数组公式最大的特征就是所引用的参数是数组参数,包括区域数组和常量数组。区域数组是一个矩形的单元格区域,如$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 数组与数组公式

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

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

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

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

深刻理解 Excel 数组概念

数组是具有某种联系的多个元素的组合。例如一个公司有100名员工,如果公司是一个数组,则100名员工就是这个数组里的100个元素。元素可多可少,可加可减,所以数组里面的元素是可以改变的。也可以这么理解,多个单元格数值的组合就是数组。

数组类型:

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

Excel 移动或复制公式

在移动公式时,公式内单元格引用不会更改。当复制公式时,单元格引用将根据所引用的类型而变化。

移动或复制公式的具体操作步骤如下。

步骤1:选择包含公式的单元格。

步骤2:验证公式中使用的单元格引用是否产生所需结果。切换到所需的引用类型,如果要移动公式,则选择使用绝对引用。

步骤3:选择“开始”选项卡中“剪贴板”单元组的“复制”按钮。

步骤4:如果只复制公式,则在下一级菜单中选择“公式”命令即可。

步骤5:如果要复制公式和任何设置,则选择“粘贴”命令即可。

Excel 公式兼容性问题

Excel 2016公式与Excel 2007和早期版本兼容。依次选择“公式”选项卡“函数库”单元组中的“其他函数”按钮,然后从弹出的菜单中选择“兼容性”命令,在下一级菜单中选择“插入函数”命令,如图7-1所示。最后弹出如图7-2所示的“插入函数”对话框。

图7-1 选择“插入函数”命令

图7-2 “插入函数”对话框

Excel 查找和更正公式中的错误

公式中的错误不仅会导致计算结果错误,还会产生意外的结果,查找并及时更正公式中的错误可以避免此类问题的发生。

如果公式不能计算出正确的结果,则在Microsoft Excel单元格中会显示出一个错误的值。公式中的出错原因不同,其解决方法也不相同。

####

当列不够宽或者使用了负的日期或负的时间时,出现错误。

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

1)列宽不足以显示包含的内容,其解决方法有两种。

一是增加列宽:其方法是选择该列,在弹出的“列宽”对话框中增加列宽的值。

二是字体填充:其方法是选择该列,右击该列的任意位置,从弹出的菜单中选择“设置单元格格式”命令,在弹出的“设置单元格格式”对话框中选择“对齐”选项卡,在“文本控制”列表框中选中“缩小字体填充”复选框。

2)使用了负的日期或负的时间,其解决方法如下。如果使用1900年的日期系统,Microsoft Excel中的日期和时间必须为正值。

如果对日期和时间进行减法运算,应确保建立的公式是正确的。如果公式是正确的,虽然结果是负值,但可以通过将该单元格的格式设置为非日期或时间格式来显示该值。

#VALUE!

如果公式所包含的单元格具有不同的数据类型,则Microsoft Excel将显示“#VALUE!”(错误)。如果启用了错误检查且将鼠标指针定位在错误指示器上,则屏幕提示会显示“公式中所用的某个值是错误的数据类型”。通常,通过对公式进行较少更改即可修复此问题。

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

1)公式中所含的一个或多个单元格包含文本,并且公式使用标准算术运算符(+、-、*和/)对这些单元格执行数学运算。例如,公式=A1+B1(其中A1包含字符串“happy”,而B1包含数字“1314”将返回该错误。

解决方法:不要使用算术运算符,而是使用函数(如SUM、PRODUCT或QUOTIENT)对可能包含文本的单元格执行算术运算,并避免在函数中使用算术运算符,而以使用逗号来分隔参数。

2)使用了数学函数(如SUM、PRODUCT或QUOTIENT)的公式包含的参数是文本字符串,而不是数字。例如,公式PRODUCT(3,“happy”)将返回该错误,因为PRODUCT函数要求使用数字作为参数。

解决方法:确保数学函数(例如SUM、PRODUCT或QUOTIENT)中的任何参数都没有直接在函数中使用文本作为参数。如果公式使用了某个函数,而该函数引用的单元格包含文本,则会忽略该单元格且不会显示错误。

3)工作簿使用了数据连接,而该连接不可用。

解决方法:如果工作簿使用了数据连接,执行必要步骤以恢复该数据连接,或者如果可能,可以考虑导入数据。

#REF!

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

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

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

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

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

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

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

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

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

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

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

什么是 Excel 的公式?

公式是可以进行包括以下操作的方程式:执行计算、返回信息、操作其他单元格的内容以及测试条件等。公式始终以等号开头。接下来通过举例说明可以在工作表中输入的公式类型。

  • =A1+A2+A3:将单元格A1、A2和A3中的值相加。
  • =5+2*3:将5加到2与3的乘积中。
  • =TODAY():返回当前日期。
  • =UPPER(”hello”):使用UPPER工作表函数将文本“hello”转换为“HELLO”。
  • =SQRT(A1):使用SQRT函数返回A1中值的平方根。
  • =IF(A1>1):测试单元格A1,确定它是否包含大于1的值。

公式还可以包含下列部分内容或全部内容:函数、引用、运算符和常量。

  • 常量:直接输入公式中的数字或文本值,如8。
  • 引用:A3返回单元格A3中的值。
  • 函数:PI()函数返回值PI:3.141592654…
  • 运算符:^(脱字号)运算符表示数字的乘方,而*(星号)运算符表示数字的乘积。