Excel 按笔划进行排序

前面讲过文本排序,其实笔划排序就是文本排序的一种。在默认情况下,Excel 2016对中文字的排序方式是按照“字母”顺序的,以中文姓名为例,字母顺序即按姓的拼音的首字母在26个英文字母中出现的顺序进行排列,如果同姓,则依次计算名的第二个字、第三个字。

但在中国人的习惯中,常常是按照“笔划”的顺序来排列姓名的。这种排序的规则是:按姓氏的笔划数多少排列,同笔划数内的姓氏按起笔顺序排列(横、竖、撇、捺、折),笔划数和笔形都相同的字,按字形结构排列,先左右、再上下,最后整体字。如果姓氏相同,则依次看“名”的第二、三个字,规则同姓氏。接下来以姓名排序为例,说明笔划排序的具体操作步骤。

步骤1:单击希望按笔划排序数据区域中的任一单元格。

步骤2:单击“数据”选项卡“排序和筛选”单元组中的“排序”按钮,弹出“排序”对话框。

步骤3:在对话框中单击“选项”按钮,弹出“排序选项”对话框。

步骤4:在该对话框中选择“笔划排序”,然后单击“确定”按钮,返回“排序”对话框。

步骤5:在“排序”对话框中选择“次序”为“升序”。

步骤6:单击“确定”按钮即可。

Excel 返回排序前的表格

用户反复地对表格进行各种排序以后,表格的原有次序已经被打乱。如果在排序后做了一些必要的编辑或修改操作,就不方便再使用Excel的撤销功能。这时,如果需要让表格返回到排序前的状态,就存在一定的难度了。

如果用户在排序前就打算保持表格在排序前的状态,则在表格的左侧或右侧插入一列空白列,并填充一组连续的数字,例如1,2,3…现在,无论用户对表格进行怎样的排序,只要最后以插入的空白列为标准做一次升序排序,就能够返回表格的原始次序。

Excel 图表的复制和删除

复制图表

复制图表到Excel表格中:选中目标图表,按“Ctrl+C”组合键进行复制,如果只在当前工作表中复制图表,则将鼠标定位到目标位置上,按“Ctrl+V”组合键进行复制即可;如果要将工作表复制到其他工作表中,则在目标工作表标签上单击鼠标,然后定位目标位置,按“Ctrl+V”组合键进行复制即可。

复制图表到Word文档中:选中目标图表,按“Ctrl+C”组合键进行复制,切换到要使用该目标图表的Word文档,定位光标位置,按“Ctrl+V”组合键进行复制即可。

注意:以此方式粘贴的图表与数据源是相链接的,即当图表的数据源发生改变时,任何一个复制的图表也做相应更改。

删除图表

删除图表时,可选中图表,按键盘上的Delete键即可删除图表。如果想一次性删除多个图表,可一次性选中多个图表,再按Delete键。

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 应用HYPERLINK函数创建快捷方式(跳转)

HYPERLINK函数用于创建一个快捷方式(跳转),以便打开存储在网络服务器、Intranet或Internet中的文件。当单击函数HYPERLINK所在的单元格时,Excel将打开存储在参数link_location中的文件。其语法如下:


HYPERLINK(link_location,friendly_name)

其中参数link_location为文档的路径和文件名,此文档可以作为文本打开。friendly_name为单元格中显示的跳转文本值或数字值。

说明:如果要选定一个包含超链接的单元格并且不跳往超链接的目标文件,则须单击单元格区域并按住鼠标按钮直到光标变成一个十字,然后释放鼠标按钮。

【典型案例】创建用于打开Internet上某工作表或其他工作表的超链接。

步骤1:以下公式打开存储在Internet的“example.microsoft.com/report”地址上的工作表“Budget Report.xls”,并显示文本“单击打开报告”:


=HYPERLINK("http://example.microsoft.com/report/budget report.xls","单击打开报告")

步骤2:以下公式创建对工作簿“Budget Report.xls”的“Annual”工作表中F10单元格的超链接,该工作簿存储在Internet的“example.microsoft.com/report”地址上。工作表中包含超链接的单元格将以D1单元格的内容作为其显示的跳转文本:


=HYPERLINK("[http://example.microsoft.com/report/budget report.xls]Annual!F10",D1)

步骤3:以下公式创建对工作簿“Budget Report.xls”的“第1季度”工作表中DeptTotal区域的超链接,该工作簿存储在Internet的“example.microsoft.com/report”地址上。工作表中包含超链接的单元格将显示跳转文本“单击此处查看第一季度部门汇总”。


=HYPERLINK("[http://example.microsoft.com/report/budget report.xls]First Quarter! DeptTotal", "单击此处查看第一季度部门汇总")

步骤4:以下公式将创建指向另一个外部工作簿“Mybook.xls”中名为Totals的区域的超链接。


=HYPERLINK("[C:\My Documents\Mybook.xls]Totals")

步骤5:可以在工作表内创建超链接,以便从一个单元格跳转到另一个单元格。例如,如果“Budget”工作簿中的“七月”工作表为活动工作表,则下面的公式将创建跳转到E56单元格的超链接,链接的文本本身为E56单元格中的数值。


=HYPERLINK("[Budget]七月!E56",E56)

说明:如果要跳转到同一工作簿中的其他工作表,则可以更改超链接中的工作表名称。在上例中,如果要创建指向“十一月”工作表中E56单元格的链接,则将公式中的“七月”更改为“十一月”。

Excel 数据库函数的特点说明

数据库函数的共同特点

数据库函数具有以下3个共同特点:

  • 每个函数均有3个参数:database、field和criteria,这些参数指向函数所使用的工作表区域。
  • 除了GETPIVOTDATA函数之外,其余十二个函数都以字母D开头。
  • 如果将字母D去掉,可以发现其实大多数数据库函数已经在Excel的其他类型函数中出现过了。例如,将DMAX函数中的D去掉的话,就是求最大值的函数MAX。

数据库函数的参数介绍

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


函数名称(database,field,criteria)

对参数的说明如下:

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

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

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

对数据库函数的几点说明

  • 可以为参数criteria指定任意区域,但是至少要包含一个列标志和列标志下方用于设定条件的单元格。
  • 虽然条件区域可以在工作表的任意位置,但不要将条件区域置于数据清单的下方。
  • 确定条件区域没有与数据清单相重叠。
  • 如果要对数据库的整个列进行操作,需要在条件区域中的列标志下方输入一个空白行。

对条件区域的几点说明

每一个数据库函数都有条件区域,条件是指所指定的限制查询或筛选的结果集中包含哪些记录的条件;清单是指包含相关数据的一系列工作表行。建立条件区域要满足下面的条件。

  • 在可用作条件区域的数据清单上插入至少三个空白行。
  • 条件区域必须具有列标志。
  • 请确保在条件值与数据清单之间至少留了一个空白行。

Excel 妙解函数的易失性

有时,当用户打开一个工作簿但不做任何更改就关闭时,Excel却提醒是否保存。这是因为Excel文件用到了一些具有volatile特性的函数,即易失性函数。这种函数一个典型的特点是:使用这些函数以后,会引发工作表的重新计算。因此没激活一个单元格,或者在一个单元格输入数据,甚至只是打开工作簿,具有易失性的函数都会自动重新计算。常见的易失性函数有NOW()、TODAY()、RAND()、CELL()、OFFSET()、INDIRECT()、INFO()、RANDBETWEEN()等。

虽然易失性函数在实际应用中非常有用,但是如果大量使用易失性函数,则会因为重新计算工作量太大而影响表格的运行速度。

Excel 巧妙处理函数参数

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

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

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


=IF(B2=A2,TRUE,FALSE)

可以省略为:


=IF(B2=A2,TRUE)

部分函数中的参数为TRUE或者FALSE,比如VLOOKUP函数的参数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 浅谈函数公式的限制和突破

Excel在公式计算方面有其自身的标准与规范,这些规范对公式的编写有一定的限制,主要包括以下几个方面。

  1. 公式内容的长度不能超过1024个字符。
  2. 公式中函数的嵌套不能超过7层。
  3. 公式中函数的参数不能超过30个。

正是因为上面的这些限制条件,使得用户在操作Excel的过程中存在诸多问题。下面以具体实例来详细讲解如何突破函数的7层嵌套以及30个函数参数的限制。

当函数B在函数A中用作参数的时候,函数B为第2级函数。如公式“=IF(A1>0,SUM(B1,G1),””)”,其中SUM函数是第2级函数,因为它是IF函数的参数。如果在SUM函数中继续嵌套函数则为第3级函数,以此类推,Excel函数公式可以包含多达7级的嵌套函数。函数的7层嵌套限制了使用多个函数,要解决这个问题,可以通过定义名称的方法来实现。

例如,要将A1中字符串“我113爱322学43习75E56x5353c256382e85626l54”的数字去掉,利用SUBSTITUTE函数来解决,在B1中输入公式“=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1,0,),1,),2,),3,),4,),5,),6,),7,)”,之后就不能直接再套用函数了,因为从第2个SUBSTITUTE开始,每一个都是前一个的参数,已经达到了7级嵌套。此时,切换到“公式”选项卡,然后单击“定义名称”按钮,打开“新建名称”对话框,将上面的名称定义为X,然后在B1中输入“=SUBSTITUTE(SUBSTITUTE(X,8,),9,)”,这样就可以得到去掉数字的字符串“我爱学习Excel了!”。同样,利用名称定义的方法可解决用IF判断,以及其他函数因为嵌套层数超过7层而导致公式无法输入的问题。

上面介绍了如何突破函数的7层嵌套限制,在实际应用过程中,用户还会受到Excel中30个函数参数的限制,下面简单介绍如何突破30个函数参数的限制。

Excel规定的函数参数最多为30个,如SUM函数、COUNT函数、COUNTA函数、AVERAGE函数、CHOOSE函数等。例如需要计算某些特定单元格中数值的平均值,有以下公式“=AVERAGE(A1,A2,B1,B3,B6,C6,D8,…)”,其中,括号里面的参数多于30个。这个时候,可以在函数参数的两边加上一对括号,形成联合区域来作为参数,相当于只有1个参数。这样,公式就只受到字符个数的限制了。

Excel 判断逻辑关系

逻辑判断是指有具体意义,并且可以判断真或假的陈述语句,是函数公式的基础,不仅关系到公式的正确与否,也关系到解题思路的简繁,只有逻辑条理清晰,才可以写出简洁有效的公式。常用的逻辑关系有3种,即“与”、“或”、“非”。在本节首先讲解这3种逻辑关系,接着讲解逻辑关系的嵌套和运算。

与(AND关系)

当两个或者多个条件必须同时成立才判定为真时,称判定与条件的关系为逻辑与关系,即平时说的“且”,AND函数常常用于逻辑与关系运算。

例1:用公式表示当A1单元格的值大于0且小于等于10的时候返回TRUE。


=AND(A1>0,A1<=10)

例2:B列是性格,C列是年龄,D列是职务,要在E列中输入公式,筛选出40岁以上的男教授的记录。其中,E1的公式为


=AND(B1=""C1>40D1="教授")

或(OR关系)

当两个或多个条件只要有一个成立就判定为真时,称判定与条件的关系为逻辑或关系,OR函数经常用于逻辑或关系运算。

例:A、B、C三列分别是语文、数学、英语成绩,要在D列中输入公式筛选所有不及格的记录(假设60分及格),其中D1的公式为


=OR(A1<60,B1<60,C1<60)

非(NOT关系)

当条件只要成立就判定为假时,称判定与条件的关系为逻辑非关系。NOT函数用于将逻辑值反转。

例:A列存放着人员学历,分为中专、高中、大专、本科、硕士等,现在需要在B列输入公式筛选除硕士以外的记录,其中B1的公式为


=NOT(A1="硕士")

也可以利用下面的公式表示:


=A1<>"硕士"

上面简单介绍了几种逻辑关系,接下来就逻辑关系的嵌套展开论述。

函数IF(logical_test,value_if_true,value_if_false)的第一个参数判定真假,为真返回第2个参数,为假返回第3个参数。如果第2个参数和第3个参数还需要进一步判断,这时新的逻辑判断作为参数嵌套于原有判断,在执行原有判断的基础上进行。

例:A1为成绩,要求用公式在B1返回成绩等级,规则为“成绩低于60分为不及格,60~79分为及格,80~89分为良,90~100分为优”。

1)简单地堆积条件。例如分数在60~79分段时表达为AND(A1>=60,A1<80),其他类似。得到的公式如下所示。


=IF(A1<60,"不及格",IF(AND(A1>=60,A1<80),"及格"IF(AND(A1>=80,A1<90),"", IF(AND(A1>=90,A1<100),""))))

2)归纳整理。如果A1不低于60,即第1个参数为假的同时已经包含“A1>=60为真”的判定了。利用这个逻辑关系的嵌套,正确的公式表达如下:


=IF(A1<60,"不及格",IF(A1<80,"及格",IF(A1<90,"","")))

以上介绍了逻辑关系的嵌套,下面讲解逻辑关系的运算等有关技巧。

在实际应用中,逻辑值是可以直接参与函数公式计算的,通常可以看到以下实例的解法。

例1:查找B1在A1:A10数据区域中是否存在的公式1为


=IF(COUNTIF(A1:A10,B1),"存在","")

例2:统计A1:A10数据区域中大于“0”的数值个数的公式2为


=SUM((A1:A10>0)*1)

为什么公式1中IF的条件判断不用“COUNTIF(A1,A10,B1)>0”,而公式2中为什么要在SUM函数中使用“*1”?

为了解释以上问题,先来了解以下几种逻辑值之间的运算结果。


TRUE*1=1*1=1(TRUE+0=1)
FALSE*1=0*1=0(FALSE +0=1)
TRUE+FALSE=1+0=1
TRUE*TRUE=1*1=1
TRUE*FALSE =1*0=0
TRUE+TRUE=1+1=2

根据上面列举的计算准则,以上6项计算简单列举了常用逻辑运算的结果,这也是在数组公式运算中常见的、最常用的理论关系。

了解了以上的运算符,再来看公式1,由于COUNTIF函数统计结果只能为非负数(结果大于或等于0),那么如果B1存在,COUNTIF函数结果必定大于0,否则结果等于0,所以就可以不用添加“>0”进行判断。

而对于公式2,如果SUM函数的参数是数组,而且这个数组是由逻辑值组成,那么要对这些逻辑值求和,就必须先将逻辑值进行运算(*1或者+0),SUM函数才可以正确求和。