也许你已经在Excel中完成过上百张财务报表,也许你已利用Excel函数
实现过上千次的复杂运算,也许你认为Excel也不过如此,甚至了无新意。
但我们平日里无数次重复的得心应手的使用方法只不过是Excel全部技巧的
百分之一。本专题从Excel中的一些鲜为人知的技巧入手,领略一下关于
Excel的别样风情。
一、让不同类型数据用不同颜色显示
在工资表中,如果想让大于等于2000元的工资总额以“红色”显示,
大于等于1500元的工资总额以“蓝色”显示,低于1000元的工资总额以“
棕色”显示,其它以“黑色”显示,我们可以这样设置。
1.打开“工资表”工作簿,选中“工资总额”所在列,执行“格式→
条件格式”命令,打开“条件格式”对话框。单击第二个方框右侧的下拉
按钮,选中“大于或等于”选项,在后面的方框中输入数值“2000”。单
击“格式”按钮,打开“单元格格式”对话框,将“字体”的“颜色”设
置为“红色”。
2.按“添加”按钮,并仿照上面的操作设置好其它条件(大于等于1500
,字体设置为“蓝色”;小于1000,字体设置为“棕色”)。
3.设置完成后,按下“确定”按钮。
看看工资表吧,工资总额的数据是不是按你的要求以不同颜色显示出
来了。
二、建立分类下拉列表填充项
我们常常要将企业的名称输入到表格中,为了保持名称的一致性,利
用“数据有效性”功能建了一个分类下拉列表填充项。
1.在Sheet2中,将企业名称按类别(如“工业企业”、“商业企业”、
“个体企业”等)分别输入不同列中,建立一个企业名称数据库。
2.选中A列(“工业企业”名称所在列),在“名称”栏内,输入“工业
企业”字符后,按“回车”键进行确认。
仿照上面的操作,将B、C……列分别命名为“商业企业”、“个体企
业”……
3.切换到Sheet1中,选中需要输入“企业类别”的列(如C列),执行“
数据→有效性”命令,打开“数据有效性”对话框。在“设置”标签中,
单击“允许”右侧的下拉按钮,选中“序列”选项,在下面的“来源”方
框中,输入“工业企业”,“商业企业”,“个体企业”……序列(各元素
之间用英文逗号隔开),确定退出。
再选中需要输入企业名称的列(如D列),再打开“数据有效性”对话框
,选中“序列”选项后,在“来源”方框中输入公式:=INDIRECT(C1),确
定退出。
4.选中C列任意单元格(如C4),单击右侧下拉按钮,选择相应的“企业
类别”填入单元格中。然后选中该单元格对应的D列单元格(如D4),单击下
拉按钮,即可从相应类别的企业名称列表中选择需要的企业名称填入该单
元格中。
提示:在以后打印报表时,如果不需要打印“企业类别”列,可以选
中该列,右击鼠标,选“隐藏”选项,将该列隐藏起来即可。
三、建立“常用文档”新菜单
在菜单栏上新建一个“常用文档”菜单,将常用的工作簿文档添加到
其中,方便随时调用。
1.在工具栏空白处右击鼠标,选“自定义”选项,打开“自定义”对
话框。在“命令”标签中,选中“类别”下的“新菜单”项,再将“命令
”下面的“新菜单”拖到菜单栏。
按“更改所选内容”按钮,在弹出菜单的“命名”框中输入一个名称(
如“常用文档”)。
2.再在“类别”下面任选一项(如“插入”选项),在右边“命令”下
面任选一项(如“超链接”选项),将它拖到新菜单(常用文档)中,并仿照
上面的操作对它进行命名(如“工资表”等),建立第一个工作簿文档列表
名称。
重复上面的操作,多添加几个文档列表名称。
3.选中“常用文档”菜单中某个菜单项(如“工资表”等),右击鼠标
,在弹出的快捷菜单中,选“分配超链接→打开”选项,打开“分配超链
接”对话框。通过按“查找范围”右侧的下拉按钮,定位到相应的工作簿(
如“工资.xls”等)文件夹,并选中该工作簿文档。
重复上面的操作,将菜单项和与它对应的工作簿文档超链接起来。
4.以后需要打开“常用文档”菜单中的某个工作簿文档时,只要展开
“常用文档”菜单,单击其中的相应选项即可。
提示:尽管我们将“超链接”选项拖到了“常用文档”菜单中,但并
不影响“插入”菜单中“超链接”菜单项和“常用”工具栏上的“插入超
链接”按钮的功能。
四、制作“专业符号”工具栏
在编辑专业表格时,常常需要输入一些特殊的专业符号,为了方便输
入,我们可以制作一个属于自己的“专业符号”工具栏。
1.执行“工具→宏→录制新宏”命令,打开“录制新宏”对话框,输
入宏名?如“fuhao1”?并将宏保存在“个人宏工作簿”中,然后“确定”
开始录制。选中“录制宏”工具栏上的“相对引用”按钮,然后将需要的
特殊符号输入到某个单元格中,再单击“录制宏”工具栏上的“停止”按
钮,完成宏的录制。
仿照上面的操作,一一录制好其它特殊符号的输入“宏”。
2.打开“自定义”对话框,在“工具栏”标签中,单击“新建”按钮
,弹出“新建工具栏”对话框,输入名称——“专业符号”,确定后,即
在工作区中出现一个工具条。
切换到“命令”标签中,选中“类别”下面的“宏”,将“命令”下
面的“自定义按钮”项拖到“专业符号”栏上(有多少个特殊符号就拖多少
个按钮)。
3.选中其中一个“自定义按钮”,仿照第2个秘技的第1点对它们进行
命名。
4.右击某个命名后的按钮,在随后弹出的快捷菜单中,选“指定宏”
选项,打开“指定宏”对话框,选中相应的宏(如fuhao1等),确定退出。
重复此步操作,将按钮与相应的宏链接起来。
5.关闭“自定义”对话框,以后可以像使用普通工具栏一样,使用“
专业符号”工具栏,向单元格中快速输入专业符号了。
五、用“视面管理器”保存多个打印页面
有的工作表,经常需要打印其中不同的区域,用“视面管理器”吧。
1.打开需要打印的工作表,用鼠标在不需要打印的行(或列)标上拖拉
,选中它们再右击鼠标,在随后出现的快捷菜单中,选“隐藏”选项,将
不需要打印的行(或列)隐藏起来。
2.执行“视图→视面管理器”命令,打开“视面管理器”对话框,单
击“添加”按钮,弹出“添加视面”对话框,输入一个名称(如“上报表”
)后,单击“确定”按钮。
3.将隐藏的行(或列)显示出来,并重复上述操作,“添加”好其它的
打印视面。
4.以后需要打印某种表格时,打开“视面管理器”,选中需要打印的
表格名称,单击“显示”按钮,工作表即刻按事先设定好的界面显示出来
,简单设置、排版一下,按下工具栏上的“打印”按钮,一切就OK了。
六、让数据按需排序
如果你要将员工按其所在的部门进行排序,这些部门名称既的有关信
息不是按拼音顺序,也不是按笔画顺序,怎么办?可采用自定义序列来排序
。
1.执行“格式→选项”命令,打开“选项”对话框,进入“自定义序
列”标签中,在“输入序列”下面的方框中输入部门排序的序列(如“机关
,车队,一车间,二车间,三车间”等),单击“添加”和“确定”按钮退出。
2.选中“部门”列中任意一个单元格,执行“数据→排序”命令,打
开“排序”对话框,单击“选项”按钮,弹出“排序选项”对话框,按其
中的下拉按钮,选中刚才自定义的序列,按两次“确定”按钮返回,所有
数据就按要求进行了排序。
七、把数据彻底隐藏起来
工作表部分单元格中的内容不想让浏览者查阅,只好将它隐藏起来了
。
1.选中需要隐藏内容的单元格(区域),执行“格式→单元格”命令,
打开“单元格格式”对话框,在“数字”标签的“分类”下面选中“自定
义”选项,然后在右边“类型”下面的方框中输入“;;;”(三个英文状
态下的分号)。
2.再切换到“保护”标签下,选中其中的“隐藏”选项,按“确定”
按钮退出。
3.执行“工具→保护→保护工作表”命令,打开“保护工作表”对话
框,设置好密码后,“确定”返回。
经过这样的设置以后,上述单元格中的内容不再显示出来,就是使用
Excel的透明功能也不能让其现形。
提示:在“保护”标签下,请不要清除“锁定”前面复选框中的“∨
”号,这样可以防止别人删除你隐藏起来的数据。
八、让中、英文输入法智能化地出现
在编辑表格时,有的单元格中要输入英文,有的单元格中要输入中文
,反复切换输入法实在不方便,何不设置一下,让输入法智能化地调整呢?
选中需要输入中文的单元格区域,执行“数据→有效性”命令,打开
“数据有效性”对话框,切换到“输入法模式”标签下,按“模式”右侧
的下拉按钮,选中“打开”选项后,“确定”退出。
以后当选中需要输入中文的单元格区域中任意一个单元格时,中文输
入法(输入法列表中的第1个中文输入法)自动打开,当选中其它单元格时,
中文输入法自动关闭。
九、让“自动更正”输入统一的文本
你是不是经常为输入某些固定的文本,如《电脑报》而烦恼呢?那就往
下看吧。
1.执行“工具→自动更正”命令,打开“自动更正”对话框。
2.在“替换”下面的方框中输入“pcw”(也可以是其他字符,“pcw”
用小写),在“替换为”下面的方框中输入“《电脑报》”,再单击“添加
”和“确定”按钮。
3.以后如果需要输入上述文本时,只要输入“pcw”字符?此时可以不
考虑“pcw”的大小写?,然后确认一下就成了。
十、在Excel中自定义函数
Excel函数虽然丰富,但并不能满足我们的所有需要。我们可以自定义
一个函数,来完成一些特定的运算。下面,我们就来自定义一个计算梯形
面积的函数:
1.执行“工具→宏→Visual Basic编辑器”菜单命令(或按“Alt+F11
”快捷键),打开Visual Basic编辑窗口。
2.在窗口中,执行“插入→模块”菜单命令,插入一个新的模块——
模块1。
3.在右边的“代码窗口”中输入以下代码:
Function V(a,b,h)V = h*(a+b)/2End Function
4.关闭窗口,自定义函数完成。
以后可以像使用内置函数一样使用自定义函数。
提示:用上面方法自定义的函数通常只能在相应的工作簿中使用。
十一、表头下面衬张图片
为工作表添加的背景,是衬在整个工作表下面的,能不能只衬在表头
下面呢?
1.执行“格式→工作表→背景”命令,打开“工作表背景”对话框,
选中需要作为背景的图片后,按下“插入”按钮,将图片衬于整个工作表
下面。
2.在按住Ctrl键的同时,用鼠标在不需要衬图片的单元格(区域)中拖
拉,同时选中这些单元格(区域)。
3.按“格式”工具栏上的“填充颜色”右侧的下拉按钮,在随后出现
的“调色板”中,选中“白色”。经过这样的设置以后,留下的单元格下
面衬上了图片,而上述选中的单元格(区域)下面就没有衬图片了(其实,是
图片被“白色”遮盖了)。
提示?衬在单元格下面的图片是不支持打印的。
十二、用连字符“&”来合并文本
如果我们想将多列的内容合并到一列中,不需要利用函数,一个小小
的连字符“&”就能将它搞定(此处假定将B、C、D列合并到一列中)。
1.在D列后面插入两个空列(E、F列),然后在D1单元格中输入公式:
=B1&C1&D1。
2.再次选中D1单元格,用“填充柄”将上述公式复制到D列下面的单元
格中,B、C、D列的内容即被合并到E列对应的单元格中。
3.选中E列,执行“复制”操作,然后选中F列,执行“编辑→选择性
粘贴”命令,打开“选择性粘贴”对话框,选中其中的“数值”选项,按
下“确定”按钮,E列的内容(不是公式)即被复制到F列中。
4.将B、C、D、E列删除,完成合并工作。
提示:完成第1、2步的操作,合并效果已经实现,但此时如果删除B、
C、D列,公式会出现错误。故须进行第3步操作,将公式转换为不变的“值
”。
生成绩条
常有朋友问“如何打印成绩条”这样的问题,有不少人采取录制宏或
VBA的方法来实现,这对于初学者来说有一定难度。出于此种考虑,我在这
里给出一种用函数实现的简便方法。
此处假定学生成绩保存在Sheet1工作表的A1至G64单元格区域中,其中
第1行为标题,第2行为学科名称。
1.切换到Sheet2工作表中,选中A1单元格,输入公式:=IF(MOD(ROW()
,3)=0,″″,IF(0MOD?ROW(),3(=1,sheet1!Aū,INDEX(sheet1!$A:
$G,INT(((ROW()+4)/3)+1),COLUMN())))。
2.再次选中A1单元格,用“填充柄”将上述公式复制到B1至G1单元格
中;然后,再同时选中A1至G1单元格区域,用“填充柄”将上述公式复制
到A2至G185单元格中。
至此,成绩条基本成型,下面简单修饰一下。
3.调整好行高和列宽后,同时选中A1至G2单元格区域(第1位学生的成
绩条区域),按“格式”工具栏“边框”右侧的下拉按钮,在随后出现的边
框列表中,选中“所有框线”选项,为选中的区域添加边框(如果不需要边
框,可以不进行此步及下面的操作)。
4.同时选中A1至G3单元格区域,点击“常用”工具栏上的“格式刷”
按钮,然后按住鼠标左键,自A4拖拉至G186单元格区域,为所有的成绩条
添加边框。
按“打印”按钮,即可将成绩条打印出来。
十四、Excel帮你选函数
在用函数处理数据时,常常不知道使用什么函数比较合适。Excel的“
搜索函数”功能可以帮你缩小范围,挑选出合适的函数。
执行“插入→函数”命令,打开“插入函数”对话框,在“搜索函数
”下面的方框中输入要求(如“计数”),然后单击“转到”按钮,系统即
刻将与“计数”有关的函数挑选出来,并显示在“选择函数”下面的列表
框中。再结合查看相关的帮助文件,即可快速确定所需要的函数。
十五、同时查看不同工作表中多个单元格内的数据
有时,我们编辑某个工作表(Sheet1)时,需要查看其它工作表中
(Sheet2、Sheet3……)某个单元格的内容,可以利用Excel的“监视窗口”
功能来实现。
执行“视图→工具栏→监视窗口”命令,打开“监视窗口”,单击其
中的“添加监视”按钮,展开“添加监视点”对话框,用鼠标选中需要查
看的单元格后,再单击“添加”按钮。重复前述操作,添加其它“监视点
”。
以后,无论在哪个工作表中,只要打开“监视窗口”,即可查看所有
被监视点单元格内的数据和相关信息。
十六、为单元格快速画边框
在Excel 2002以前的版本中,为单元格区域添加边框的操作比较麻烦
,Excel 2002对此功能进行了全新的拓展。
单击“格式”工具栏上“边框”右侧的下拉按钮,在随后弹出的下拉
列表中,选“绘图边框”选项,或者执行“视图→工具栏→边框”命令,
展开“边框”工具栏。
单击工具栏最左侧的下拉按钮,选中一种边框样式,然后在需要添加
边框的单元格区域中拖拉,即可为相应的单元格区域快速画上边框。
提示:①如果画错了边框,没关系,选中工具栏上的“擦除边框”按
钮,然后在错误的边框上拖拉一下,就可以清除掉错误的边框。②如果需
要画出不同颜色的边框,可以先按工具栏右侧的“线条颜色”按钮,在随
后弹出的调色板中选中需要的颜色后,再画边框即可。③这一功能还可以
在单元格中画上对角的斜线。
十七、控制特定单元格输入文本的长度
你能想象当你在该输入四位数的单元格中却填入了一个两位数,或者
在该输入文字的单元格中你却输入了数字的时候,Excel就能自动判断、即
时分析并弹出警告,那该多好啊!要实现这一功能,对Excel来说,也并不
难。
例如我们将光标定位到一个登记“年份”的单元格中,为了输入的统
一和计算的方便,我们希望“年份”都用一个四位数来表示。所以,我们
可以单击“数据”菜单的“有效性”选项。在“设置”卡片“有效性条件
”的“允许”下拉菜单中选择“文本长度”。然后在“数据”下拉菜单中
选择“等于”,且“长度”为“4”。同时,我们再来到“出错警告”卡片
中,将“输入无效数据时显示的出错警告”设为“停止”,并在“标题”
和“错误信息”栏中分别填入“输入文本非法!”和“请输入四位数年份。
”字样。
很显然,当如果有人在该单元格中输入的不是一个四位数时,Excel就
会弹出示的警告对话框,告诉你出错原因,并直到你输入了正确“样式”
的数值后方可继续录入。神奇吧?其实,在Excel的“数据有效性”判断中
,还有许多特殊类型的数据格式可选,比如“文本类型”啊,“序列大小
”啊,“时间远近”啊,如你有兴趣,何不自作主张,自己设计一种检测
标准,让你的Excel展示出与众不同的光彩呢。
十八、成组填充多张表格的固定单元格
我们知道每次打开Excel,软件总是默认打开多张工作表。由此就可看
出Excel除了拥有强大的单张表格的处理能力,更适合在多张相互关联的表
格中协调工作。要协调关联,当然首先就需要同步输入。因此,在很多情
况下,都会需要同时在多张表格的相同单元格中输入同样的内容。
那么如何对表格进行成组编辑呢?首先我们单击第一个工作表的标签名
“Sheet1”,然后按住Shift键,单击最后一张表格的标签名“Sheet3”(
如果我们想关联的表格不在一起,可以按住Ctrl键进行点选)。此时,我们
看到Excel的标题栏上的名称出现了“工作组”字样,我们就可以进行对工
作组的编辑工作了。在需要一次输入多张表格内容的单元格中随便写点什
么,我们发现,“工作组”中所有表格的同一位置都显示出相应内容了。
但是,仅仅同步输入是远远不够的。比如,我们需要将多张表格中相
同位置的数据统一改变格式该怎么办呢?首先,我们得改变第一张表格的数
据格式,再单击“编辑”菜单的“填充”选项,然后在其子菜单中选择“
至同组工作表”。这时,Excel会弹出“填充成组工作表”的对话框,在这
里我们选择“格式”一项,点“确定”后,同组中所有表格该位置的数据
格式都改变了。
十九、改变文本的大小写
在Excel中,为表格处理和数据运算提供最强大支持的不是公式,也不
是数据库,而是函数。不要以为Excel中的函数只是针对数字,其实只要是
写进表格中的内容,Excel都有对它编辑的特殊函数。例如改变文本的大小
写。
在Excel 2002中,至少提供了三种有关文本大小写转换的函数。它们
分别是:“=UPPER(源数据格)”,将文本全部转换为大写;“=LOWER(源数
据格)”,将文本全部转换成小写;“=PROPER(源数据格)”,将文本转换
成“适当”的大小写,如让每个单词的首字母为大写等。例如,我们在一
张表格的A1单元格中输入小写的“excel”,然后在目标单元格中输入
“=UPPER(A1)”,回车后得到的结果将会是“EXCEL”。同样,如果我们在
A3单元格中输入“mr.weiwei”,然后我们在目标单元格中输入“=PROPER
(A3)”,那么我们得到的结果就将是“Mr.Weiwei”了。
二十、提取字符串中的特定字符
除了直接输入外,从已存在的单元格内容中提取特定字符输入,绝对
是一种省时又省事的方法,特别是对一些样式雷同的信息更是如此,比如
员工名单、籍贯等信息。
如果我们想快速从A4单元格中提取称谓的话,最好使用“=RIGHT(源数
据格,提取的字符数)”函数,它表示“从A4单元格最右侧的字符开始提取
2个字符”输入到此位置。当然,如果你想提取姓名的话,则要使用
“=LEFT(源数据格,提取的字符数)”函数了。还有一种情况,我们不从左
右两端开始,而是直接从数据中间提取几个字符。比如我们要想从A5单元
格中提取“武汉”两个字时,就只须在目标单元格中输入“=MID(A5,4,2)
”就可以了。意思是:在A5单元格中提取第4个字符后的两个字符,也就是
第4和第5两个字。
二十一、把基数词转换成序数词 将英文的基数词转换成序数词是一个
比较复杂的问题。因为它没有一个十分固定的模式:大多数的数字在变成
序数词都是使用的“th”后缀,但大凡是以“1”、“2”、“3”结尾的数
字却分别是以“st”、“nd”和“rd”结尾的。而且,“11”、“12”、
“13”这3个数字又不一样,它们却仍然是以“th”结尾的。因此,实现起
来似乎很复杂。其实,只要我们理清思路,找准函数,只须编写一个公式
,就可轻松转换了。不信,请看:“=A2&IF(OR(VALUE(RIGHT(A2,2))=
{11,12,13}),″th″,IF(OR(VALUE(RIGHT(A2))={1,2,3,},CHOOSE(RIGHT
(A2),″st″,″nd″,″rd″),″th″))”。该公式尽管一长串,不过含义
却很明确:①如果数字是以“11”、“12”、“13”结尾的,则加上“th
”后缀;②如果第1原则无效,则检查最后一个数字,以“1”结尾使用
“st”、以“2”结尾使用“nd”、以“3”结尾使用“rd”;③如果第1、
2原则都无效,那么就用“th”。因此,基数词和序数词的转换实现得如此
轻松和快捷。
二十二、用特殊符号补齐位数
和财务打过交道的人都知道,在账面填充时有一种约定俗成的“安全
填写法”,那就是将金额中的空位补齐,或者在款项数据的前面加上“$”
之类的符号。其实,在Excel中也有类似的输入方法,那就是“REPT”函数
。它的基本格式是“=REPT(“特殊符号”,填充位数)”。
比如,我们要在中A2单元格里的数字结尾处用“#”号填充至16位,就
只须将公式改为“=(A2&REPT(″#″,16-LEN(A2)))”即可;如果我们要将
A3单元格中的数字从左侧用“#”号填充至16位,就要改为“=REPT(″
#″,16-LEN(A3)))&A3”;另外,如果我们想用“#”号将A4中的数值从两
侧填充,则需要改为“=REPT(″#″,8-LEN(A4)/2)&A4&REPT(″#″)8-LEN
(A4)/2)”;如果你还嫌不够专业,要在A5单元格数字的顶头加上“$”符
号的话,那就改为:“=(TEXT(A5,″$#,##0.00″(&REPT(″#″,16-LEN
(TEXT(A5,″$#,##0.00″))))”,一定能满足你的要求。
二十三、创建文本直方图
除了重复输入之外,“REPT”函数另一项衍生应用就是可以直接在工
作表中创建由纯文本组成的直方图。它的原理也很简单,就是利用特殊符
号的智能重复,按照指定单元格中的计算结果表现出长短不一的比较效果
。
比如我们首先制作一张年度收支平衡表,然后将“E列”作为直方图中
“预算内”月份的显示区,将“G列”则作为直方图中“超预算”的显示区
。然后根据表中已有结果“D列”的数值,用“Wingdings”字体的“N”字
符表现出来。具体步骤如下:
在E3单元格中写入公式“=IF(D30,REPT(″n″,ROUND(D3*100,0)),″
″)”,也拖动填充柄至G14。我们看到,一个没有动用Excel图表功能的纯
文本直方图已展现眼前,方便直观,简单明了。
二十四、计算单元格中的总字数
有时候,我们可能对某个单元格中字符的数量感兴趣,需要计算单元
格中的总字数。要解决这个问题,除了利用到“SUBSTITUTE”函数的虚拟
计算外,还要动用“TRIM”函数来删除空格。比如现在A1单元格中输入有
“how many words?”字样,那么我们就可以用如下的表达式来帮忙:
“=IF(LEN(A1)=0,0,LEN(TRIM(A1))-LEN(SUBSTITUTE(TRIM(A1),″,″
,″″))+1)”
该式的含义是先用“SUBSTITUTE”函数创建一个新字符串,并且利用
“TRIM”函数删除其中字符间的空格,然后计算此字符串和原字符串的数
位差,从而得出“空格”的数量,最后将空格数+1,就得出单元格中字符
的数量了。
二十五、关于欧元的转换
这是Excel 2002中的新工具。如果你在安装Excel 2002时选择的是默
认方式,那么很可能不能在“工具”菜单中找到它。不过,我们可以先选
择“工具”菜单中的“加载宏”,然后在弹出窗口中勾选“欧元工具”选
项,“确定”后Excel 2002就会自行安装了。
完成后我们再次打开“工具”菜单,单击“欧元转换”,一个独立的
专门用于欧元和欧盟成员国货币转换的窗口就出现了。与Excel的其他函数
窗口一样,我们可以通过鼠标设置货币转换的“源区域”和“目标区域”
,然后再选择转换前后的不同币种即可。所示的就是“100欧元”分别转换
成欧盟成员国其他货币的比价一览表。当然,为了使欧元的显示更显专业
,我们还可以点击Excel工具栏上的“欧元”按钮,这样所有转换后的货币
数值都是欧元的样式了。