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