今天给大家介绍Excel中的一个宝藏函数:CELL,和这个函数的一个神奇的应用。
01.认识CELL函数
相信大部分同学都没有用过这个函数。没用过的原因很简单,好像没有什么场合是必须使用这个函数的。其实,这个函数很有意思。我们先来看一下这个函数的语法:
这个函数两个参数:
info_typereference
这个函数在Excel中被归为信息函数,它是用来提供各种信息的。第一个参数info_type就是指示CELL函数返回哪种信息,第二个参数reference就是告诉CELL函数返回关于哪一个单元格的信息。上图中那个列表,就是返回的信息类型。这些返回的信息类型,有的挺有意思。比如,公式
=CELL(“col”,G5)就是要求返回G5单元格的列号,结果就是7。公式
=CELL(“protect”,G5)就是要求返回G5单元格是否锁定的信息,如果锁定了,就返回1,否则,就返回0。
在单元格格式设置中可以查看是否锁定又比如这个信息类型“prefix”——前缀,根据单元格对齐方式返回不同的值:
又比如这个信息类型,”color”,你一定以为是返回单元格的颜色,其实不然,它判断的是单元格是否设置了负数的颜色(参见自定义格式:你想怎么显示你的数字?Excel数字基于条件的自定义格式),如果是,就返回1,否则返回0。还有这个“width”类型,返回的是个数组:如果在单元格A1中输入公式:
=CELL(“width”,G5)返回值是一个数字,这个数字表示G5单元格可以输入缺省状况下多少个字符。比如,我的缺省字体是微软雅黑,字号为9,返回值就是8我们说了,这个返回值是一个数组,刚才说的实际上是第一个返回值。你可以用下面的公式取到这个返回值:
=INDEX(CELL(“width”,G5),1)而使用公式:
=INDEX(CELL(“width”,G5),2)可以取得这个函数的第二个返回值。这个值表示的是这个单元格的宽度是缺省的还是被手动设置了。如果是缺省宽度,返回TRUE,否则,返回FALSE。其他的信息类型我就不一一列举了。大家有兴趣可以自己研究一下,挺有意思的。但是,有什么用?
你很难一下子就想到有什么用处,就好像我们以前讲过的MOD函数一样,看上去没有用,但是实际上可以在很多地方发挥作用。有很多时候,我们需要进行一些“高级”的效果,经常需要根据单元格的某些属性进行操作,这个函数就可以发挥作用了。比如,根据INDEX和MATCH得到某个单元格后,我们通过公式创建一个到该单元格的超链接。下面我就为大家介绍一个神奇的应用。首先来看看这个函数的神奇之处。
02.CELL函数的神奇之处
这个函数本身就够神的,更神奇的是,它可以使你与Excel交互!你可能注意到了,这个函数的第二个参数是一个可选参数:
也就是说,你可以直接写一个公式:
=CELL(“col”)那么它返回哪个单元格的列号呢?答案是当前选中单元格的列号。鼠标点击哪个单元格,就返回哪个单元格的列号。
鼠标选中单元格后,按F9,公式返回值就会发生变化很神奇吧!这意味着我们可以跟Excel的公式进行交互,其他的Excel函数做不到这一点。我们可以利用这个特性实现一个神奇的应用
03.Excel表格聚光灯效果
我们可以利用这个特性实现聚光灯效果。假设我们有一个表格,
当表格比较大时,往往不容易直接看出当前选中的单元格是第几行,第几列,列标题是什么等等信息,简单说,眼睛容易花。在WPS中直接就有这样的聚光灯的功能,有些插件也做了这个功能。实际上,利用CELL函数就可以实现这个功能。选中这个表格区域,在开始选项卡中,点击条件格式,点击新建规则:
然后在对话框中进行如下设置:
格式设置为填充浅灰色这里的公式是
=OR(CELL(“col”)=COLUMN(),CELL(“row”)=ROW())用OR连接了两个公式,分别是:
CELL(“col”)=COLUMN()和
CELL(“row”)=ROW()第一个公式中CELL(“col”)返回当前点击的是哪一列,COLUMN()返回当前应用条件格式的是那一列,如果当前点击的就是当前应用条件格式的列,就返回TRUE。同样,第二个公式就是判断当前点击的行是否是应用条件格式的行。用OR连接起来,就是如果当前应用条件格式的区域中包含点击的行或列,那个对应的行或列就填充为浅灰色。效果如下:
每次点击完成需要按F9这个做法美中不足的是每次点击都需要按F9。我们可以通过添加一行VBA代码来解决这个问题。在Excel中,按Alt+F11,打开VBA编辑器,在左边的窗口中双击选择这个数据区域所在的工作表:
在右边的“通用”下拉框中,选择Worksheet:
在右侧的下拉列表中,选择SelectionChange:
在代码区域,输入一行代码:
Sheet1.Calculate
现在,每次点击鼠标,不需要按F9了注:这里这个代码实际上是为单元格的选择改变事件添加了一句代码,实现了按F9的效果。具体关于什么是事件,以及VBA的内容,请看相应的视频课程。
太有用了,赶紧用起来吧!
END
关注ExcelEasy
关于Excel的一切问题,你都可以在这里找到答案