Excel中这个函数过于生僻,但是却可以

这大半年,把Excel中的常用函数基本都写了一个遍,现在只能去挖掘生僻函数了,今天无意中就找到了一个惊喜……

她就是cell这个函数,非常的有趣,越是研究惊喜越多……让我们通过几个案例看一下!

案例1

获取文件名称及表名

=CELL(filename获取的是本文件的文章的路径+当前工作表名称

如果我们只想获取当前工作表的名称,那么我们可以使用其他函数处理一下!

=REPLACE(CELL(filename),1,FIND(],CELL(filename)),)查找到“]”的位置,使用REPLACE直接替换成空即可!

案例2

指定单元格的地址

基本的用法:直接指定对应的单元格获取地址

=CELL(address,A1)

这看上去也没什么用,不要急,配合结果为引用的方式有奇效

▍获取张飞所在的单元格地址!

=CELL(address,OFFSET(A1,MATCH(张飞,A:A,)-1,))

这样我们就可以根据条件获取到对应内容的地址!

如果我们只是单纯的想看在哪一行或者一列那么可以这样!

▍获取张飞所在的行!

=CELL(row,OFFSET(A1,MATCH(张飞,A:A,)-1,))

第一参数ROW表示行,所以可以获取到行!

▍获取张飞所在的列!

=CELL(col,OFFSET(A1,MATCH(张飞,A:A,)-1,))

“col”是COLUMN的缩写!获取的是对应的列,这里是A列,也就是第一列!

案例3

获取单元格的列宽成为可能

我们知道Excel中的基本都是用于处理单元格的数据,如果先获取单元格的一些属性基本不可能,但是cell可以!

=A列宽度INDEX(CELL(width,A1),1)

结果是一个数组:

第一个元素为:列宽,列宽以默认字号的一个字符的宽度为单位

第二个元素是真是否是默认列宽,利用这点可以看那些列宽被人工调整过!

是否默认列宽,TRUE表示B列默认列宽,没有变更大小!

案例4

按人民币符号求和

=CELL(format,B2)通过format可以获取到单元格中格式代码,不同的代码表示不同的含义!

这里我们获取到了美元格式和人民币格式的对应的格式代码!

有了格式,是否我们求和就有望了,但是cell函数只能获取到区域中左上角单元格的格式代码,如果我们给一个区域是没有意义!那怎么办?前辈们还是有办法的,研究发现,他支持数组!且要求结果是引用,那么只有INDRIECT和OFFSET可以了!

人民币公式:

=SUM($B$2:$B$11*(CELL(format,OFFSET($B$1,N(IF(1,ROW($1:$10))),))=C2-))

美元公式:

=SUM($B$2:$B$11*(CELL(format,OFFSET($B$1,N(IF(1,ROW($1:$10))),))=,2-))

新手阅读可能有点吃力,主要是cell第二参数特性决定了,这里主要是三维降维的处理,很多不支持区域的都可以使用此方式突破,函数高级的内容,不懂也没有关系!

还有一些,实战欠缺一些,大家有时间可以继续挖掘,第二参数的全部解释如下:

原创不易,感谢(收藏、点赞、转发)



转载请注明:http://www.abuoumao.com/hyfw/1116.html

网站简介| 发布优势| 服务条款| 隐私保护| 广告合作| 网站地图| 版权申明

当前时间: 冀ICP备19029570号-7