加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

CELL函数详解_Excel公式教程

(2016-06-20 22:01:38)
标签:

excel公式教程

cell函数

分类: Excel公式教程-函数篇

语法CELL(info_type,[reference])

易失函数。返回单元格的信息。

参数info_type用来指定要返回什么类型的信息。下面列出info_type的可能值(不分大小写)及函数返回的信息类型:

"address"-返回单元格的地址。根据选项中“R1C1引用样式”复选框的状态,返回A1-样式或R1C1-样式的绝对引用地址。

"col"-返回单元格的列号。CELL("col",A1)和COLUMN(A1)的结果一致。

"color"-如果单元格数字格式代码中的负数部分设置了颜色,返回1,否则返回0。

"contents"-返回单元格的值。

"filename"-返回单元格所在工作表的完整路径,形如“盘符:\路径\[工作簿名.xls]工作表名”。如果工作簿未曾保存,返回空文本""。如果工作簿只包含一个工作表,且工作表名与工作簿名相同(不区分大小写),则省略工作表名,形如“盘符:\路径\工作簿名.xls”。

"format"-返回代表单元格格式代码的文本。

"parentheses"-如果单元格格式代码中的正数部分设置了圆括号,返回1,否则返回0。

"prefix"-返回单元格文本值的水平对齐方式:①靠左(常规)、两端对齐、分散对齐,返回单引号(');②居中、跨列居中,返回脱字号(^);③靠右,返回双引号(");④填充,返回反斜杠(\);⑤如果单元格不是文本值,返回空文本""。

"protect"-返回单元格“锁定”复选框的状态:1-勾选,0-清除。

"row"-返回单元格的行号。CELL("row",A1)和ROW(A1)的结果一致。

"type"-返回代表单元格数值类型的文本。如果单元格为空,返回小写字母"b";如果单元格为文本值,返回小写字母"l";如果单元格为其他类型的数值,返回小写字母"v"。

"width"-返回取整后的单元格列宽。列宽以默认字号的一个字符的宽度为单位。


参数reference指定要获取哪个单元格的信息。如果reference是一个单元格区域,则取区域左上角单元格的信息。如果省略reference,则取Excel程序最后更改的单元格,该单元格可能属于另一个已打开的工作簿。

修改单元格格式不会使公式重算。如果CELL函数返回的是单元格的格式信息,修改单元格格式后CELL函数的结果不会随即更新,直到公式重算时才更新。

用法

CELL("filename")返回形如“盘符:\路径\[工作簿名.xls]工作表名”的信息。结合文本函数,我们可以从中提取工作表名字、工作簿名字,甚至路径(工作簿所在文件夹)中的信息。

(一)结合文本函数,提取工作簿名字中的信息。

1、假设工作簿的名字是“XX(yyyy年mm月).xls”形式,年月信息固定8个字符,括在圆括号中。在单元格B2用以下公式提取年月信息:

=--MID(CELL("filename",B2),FIND("(",CELL("filename",B2))+1,8)

公式说明:

(1)CELL函数指定返回公式所在单元格B2的信息,而不是A1,这样可以避免删除A列或第1行后造成公式出错。

(2)用FIND函数查找CELL返回值中“(”的位置,然后用MID函数截取该位置后面8个字符。

(3)MID函数前的“--”,作用是通过算术运算,把提取出来的日期文本转为日期序列数。

如果路径名包含圆括号,可改用以下公式:

=--MID(CELL("filename",B2),FIND("]",CELL("filename",B2))-13,8)

公式中FIND函数由查找“(”改为查找“]”。

2、如果工作簿的名字是“XX-yyyymm.xls”形式,年月信息固定8个字符。在单元格B2用以下公式提取年月信息:

=--TEXT(MID(CELL("filename",B2),FIND("]",CELL("filename",B2))-10,6),"#-00")

公式利用TEXT函数,把提取出来的6位数字文本转为日期文本,然后用“--”转为日期序列数。

3、如果工作簿的名字是“yyyy年mm月XX.xls”形式,年月信息在工作簿名字的前头。在单元格B2用以下公式提取年月信息:

=--MID(CELL("filename",B2),FIND("[",CELL("filename",B2))+1,8)

公式中FIND函数查找CELL返回值中“[”的位置,然后用MID函数截取该位置后面8个字符。


(二)结合文本函数,提取工作表名字。

1、在单元格B2用以下公式提取工作表名字:

=REPLACE(CELL("filename",B2),1,FIND("]",CELL("filename",B2)),) 

=MID(CELL("filename",B2),FIND("]",CELL("filename",B2))+1,99)

第一个公式用REPLACE函数删除CELL返回值中“]”及其前面的所有字符;第二个公式用MID函数截取CELL返回值中“]”后面的所有字符。

2、如果工作表名字的长度固定,假设是4个字符。在单元格B2用以下公式提取工作表名字:

=RIGHT(CELL("filename",B2),4)

3、如果工作表的名字是一位或两位的阿拉伯数字,例如1-12代表月份,或1-31代表日子。在单元格B2用以下公式提取工作表名字:

=--SUBSTITUTE(RIGHT(CELL("filename",B2),2),"]",)


(三)结合文本函数,提取工作簿所在文件夹名字。

假设工作簿所在文件夹名字是“yymm”形式,为4位数字,代表年月。在单元格B2用以下公式提取年月信息:

=--(REPLACE(MID(CELL("filename",B2),FIND("[",CELL("filename",B2))-5,4),3,,"-")&"-1")

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有