Excel 相对与绝对引用图解

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

相对引用

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

STEP01:打开“单元格引用数据.xlsx”工作簿,切换至“相对引用.xlsx”工作表,在D2单元格中输入公式“=B2+C2”,按“Enter”键返回即可得到如图10-37所示的计算结果。

计算总分

图10-37 计算总分

图10-38 复制公式

STEP02:选中D2单元格,利用填充柄工具向下拖动鼠标,复制公式至D6单元格,结果如图10-38所示。

STEP03:选择复制得到公式的单元格,例如D5单元格,此时发现D5单元格中的公式为“=B5+C5”,数据源自动改变了,如图10-39所示。

绝对引用

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

STEP01:切换至“绝对引用”工作表,选中D2单元格,在D2单元格中输入公式“=$B$2*C2”,按“Enter”键返回,即可得到如图10-40所示的计算结果。

STEP02:选中D2单元格,利用填充柄工具向下拖动鼠标,复制公式至D5单元格,结果如图10-41所示。

STEP03:选择复制得到公式的单元格,例如D5单元格,此时发现D5单元格中的公式为“=$B$2*C5”,说明绝对引用时地址不变,如图10-42所示。

图10-39 数据源自动改变

绝对引用计算结果

图10-40 绝对引用计算结果

图10-41 复制公式

绝对引用时地址不变

图10-42 绝对引用时地址不变

Excel 单元格引用样式

A1引用样式

默认情况下,Excel使用A1引用样式该样式使用数字1~65536表示行号,用字母A~IV表示列标。例如,第C列和第5行交叉处的单元格的引用形式为“C5”,如果引用整行或者整列,可以省去列标或者行号,比如1:1表示第1行。

R1C1引用样式

在工作表中切换至“文件”选项卡,在左侧导航栏中单击“选项”标签打开“Excel选项”对话框,单击“公式”标签,在对应的右侧窗格中向下滑动滑块至“使用公式”列表框下,勾选“R1C1引用样式”复选框,单击“确定”按钮即可完成设置,如图10-35所示。用R1C1引用样式,可以使用“R”与数字的组合来表示行号,“C”与数字的组合则表示列标。R1C1样式可以更加直观地体现单元格的“坐标”概念。

三维引用计算结果

图10-36 三维引用计算结果

三维引用

引用单元格区域时,冒号表示以冒号两边所引用的单元格为左上角和右下角之间的所有单元格组成的矩形区域。

当右下角单元格与左上角单元格处在同一行或者同一列时,这种引用称为一维引用,如A1:D1,或者A1:A5。而类似A1:C5,则表示以A1单元格为左上角,C5单元格为右下角的5行3列的矩形区域,这就形成了一个二维的面,所以该引用称为二维引用。

当引用区域不只在构成二维平面的方向出现时,其引用就是多维的,是一个由不同层次上多个面组成的空间模型。

打开“三维引用数据.xlsx”工作簿,在“Sheet1”工作表的E8单元格中输入公式“=SUM(Sheet1:Sheet3!A1:C5)”,表示对从工作表Sheet1到Sheet3的A1:C5单元格区域求和,按“Enter”键即可返回计算结果,如图10-36所示。在此公式的引用范围中,每个工作表的A1:C5都是一个二维平面,多个二维平面在行、列和表3个方向上构成了三维引用。

Excel 引用数组中的大小制约

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

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

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

Excel 利用数组模拟IF()

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

前一节讲过,在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,如图10-33所示。

如果把IF去掉,公式又会变成什么样子呢?

在B8单元格中输入公式“=SUM((C3:C7>2000)*(C3:C7<2500))”,按“Ctrl+Shift+Enter”组合键返回后,得到的结果还是2,如图10-34所示。

图10-33 返回结果

图10-34 返回相同结果

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

Excel 利用数组模拟AND和OR

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

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

在Excel中,*和+可以与逻辑判断函数AND和OR互换,但在数组公式中,*和+号能够替换AND和OR函数,反之则行不通。这是因为AND函数和OR函数返回的是一个单值TRUE或FALSE,如果数据公式要执行多重计算,单值不能形成数组公式各参数间的一一对应关系。

打开“工资表.xlsx”工作簿,例如要统计如图10-30所示的表格中基本工资为2000~2500的员工人数,就是说统计工资高于2000且工资低于2500的人数,由此可以判定该条件是一个“逻辑与”关系。

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

图10-30 目标数据

图10-31 返回结果

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

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

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

图10-32 返回结果

这是因为在公式中“(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。

Excel 使用相关公式完整性

什么是相关公式完整性?还是以上一节的案例为例。在选中的单元格区域A1:D4中选择任意单元格,例如这里选择B3单元格,然后对单元格B3中的公式进行任意修改(即使和原公式一致),按“Enter”键返回工作表,会弹出如下图所示的警告对话框。

这是什么原因呢?

因为用户正在企图破坏公式的完整性,A1:D4单元格区域中的数据源都是“={“编号”,”姓名”,”性别”,”年龄”;”001″,”张三”,”男”,”22″;”002″,”张五”,”男”,”24″;”004″,”丁一”,”女”,”23″}”,它们运用的是同一个公式。如果用户想单独更改某一个单元格的公式时,系统会认为用户正在更改部分单元格的数据源,这样一来会导致发生数据源不一致的情况,从而导致与其他相关单元格脱离关系,这样数据公式就失去了意义。所以系统不允许更改数组公式中的部分内容。这样就可以保持数据的完整性,与数据源完全相对应。

Excel 返回数组集合

在使用数组公式时,有可能返回的是一个结果,也有可能返回的是一个集合。

STEP01:打开“人员统计.xlsx”工作簿,选中A1:D4单元格区域,输入公式“={“编号”,”姓名”,”性别”,”年龄”;”001″,”张三”,”男”,”22″;”002″,”张五”,”男”,”24″;”004″,”丁一”,”女”,”23″}”,如果按“Ctrl+Enter”组合键返回,会显示如图10-27所示的结果。

STEP02:如果按“Ctrl+Shift+Enter”组合键则会返回一组集合,结果如图10-28所示。

图10-27 返回结果

返回一组集合

图10-28 返回一组集合

认识 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 2019保护和隐藏函数公式

如果不希望工作表中的公式被其他用户看到或者修改,可以对其进行保护与隐藏。下面是保护和隐藏工作表中的函数公式的具体操作步骤。

STEP01:打开“总收入统计.xlsx”工作簿,在工作表页面按“F5”键打开如图10-18所示的“定位”对话框。在对话框中单击“定位”条件按钮,打开“定位条件”对话框。

STEP02:打开“定位条件”对话框后,在“选择”列表框中单击选择“公式”单选按钮,然后单击“确定”按钮返回工作表,如图10-19所示。此时,工作表中会自动选择所有包含公式的单元格。

图10-18 “定位”对话框

图10-19 设置定位条件

STEP03:在选择的单元格处单击鼠标右键,在弹出的隐藏菜单中选择“设置单元格格式”选项,如图10-20所示。

STEP04:随后会打开“设置单元格格式”对话框,切换至“保护”选项卡,依次勾选“锁定”和“隐藏”复选框,然后单击“确定”按钮返回工作表,如图10-21所示。

设置单元格保护属性

图10-20 设置单元格保护属性

图10-21 设置保护选项

STEP05:如图10-22所示,切换至“审阅”选项卡,在“保护”组中单击“保护工作表”按钮,会打开如图10-23所示的“保护工作表”对话框。在“取消工作表保护时使用的密码”文本框中输入“123456”,然后单击“确定”按钮。

STEP06:此时,会弹出“确认密码”对话框,在“重新输入密码”文本框中再次输入密码“123456”,然后单击“确定”按钮即可完成保护设置,如图10-24所示。

STEP07:若用户想要修改工作表中被保护的公式数据,会弹出如图10-25所示的对话框。

单击“保护工作表”按钮

图10-22 单击“保护工作表”按钮

图10-23 设置密码

图10-24 确认密码

提示框

图10-25 提示框

STEP08:如果用户想要取消对工作表的保护,在主页将功能区切换至“审阅”选项卡,单击“保护”组中的“撤销工作表保护”按钮,打开如图10-26所示的“撤销工作表保护”对话框。然后在“密码”文本框中输入“123456”,单击“确定”按钮即可。

撤销工作表保护

图10-26 撤销工作表保护

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,””)。