任何地方,只要你爱它,它就是你的世界。
信息类函数,用于返回指定单元格或工作表等的某种状态,如名称、路径、格式等,而逻辑函数,可对数据进行相应的判断
▌▌CELL函数
CELL(info_type,[reference])
info_type:必需,指定要返回的单元格信息的类型
reference:可选,需要得到其相关信息的单元格,若忽略该参数,则将info_type参数中,指定的信息返回给最后更改的单元格;若reference是某一单元格区域,则返回该区域左上角单元格的信息
info_type值如下表,在CELL函数中输入info_type值时,必需带有双引号("")
info_type函数返回结果“address”返回单元格地址“col”引用中单元格的列标“color”如果单元格中的负值以不同颜色显示,则为值1;否则,返回0PS:Excel网页版、ExcelMobile和ExcelStarter中不支持此值"contents"返回单元格区域左上角单元格的内容"filename"包含引用的文件名(包括全部路径),如果包含目标引用的工作表尚未保存,则返回空文本("")
PS:Excel网页版、ExcelMobile和ExcelStarter中不支持此
“format”返回单元格中,数字格式的字符代码“parentheses”如果单元格使用了自定义格式,且格式的类型包含括号(),则返回1,否则返回0“prefix”如果单元格文本左对齐,则返回单引号()如果单元格文本右对齐,则返回双引号(")如果单元格文本居中,则返回插入字符(^)如果单元格文本两端对齐,则返回反斜线(\)如果是其他情况,则返回空文本("")PS:Excel网页版、ExcelMobile和ExcelStarter中不支持此“protect”如果单元格没有锁定,则为值0;如果单元格锁定,则返回1PS:Excel网页版、ExcelMobile和ExcelStarter中不支持此“row”返回单元格的行号“type”返回表示单元格中,数据类型的字符代码如果单元格为空,则返回"b"表示空白如果单元格包含文本常量,则返回"l"表示标签如果单元格包含任何其他内容,则返回"v"作为值“width”返回包含2个项的数组:第一项是返回取整后的单元格列宽,列宽以默认字号的一个字符的宽度为单位第二项是布尔值,如果列宽为默认值,则值为TRUE;如果用户显式设置了宽度,则值为FALSEPS:Excel网页版、ExcelMobile和ExcelStarter中不支持此若为某个单元格应用了内置数字格式,CELL函数的第一个参数使用了“format”,则函数返回与该单元格,数字格式相对应的文本值,如下表:
某个单元格应用的内置数字格式CELL函数返回的文本值常规(即:G/通用格式)“G”0“F0”#,##0“,0”0.00“F2”#,##0.00“,2”$#,##0_);($#,##0)",0"$#,##0_);[Red]($#,##0)",0-"$#,##0.00_);($#,##0.00)“,2”$#,##0.00_);[Red]($#,##0.00)“,2-”0%“P0”0.00%“P2”0.00E+00“S2”#?/?或#??/??“G”yy-m-dd-mmm-yyyyyy"年"m“月”d“日”yyyy/m/dyyyy/m/dh:mmdd-mm-yy“D1”yyyy"年"m“月”mmm-yy“D2”m“月”d“日”d-mmm“D3”h:mm:ssAM/PM上午/下午h“时”mm“分”ss“秒”“D6”h:mmh“时”mm“分”“D9”h:mm:ssh“时”mm“分”ss“秒”“D8”h:mmAM/PM上午/下午h“时”mm“分”“D7”例子1,某地区四个季度的销售业绩表,F列为销售额的合计,先需要通过隐藏某些列的方式,查看到隐藏列后的销售额合计
1,隐藏列前
在第10行添加辅助行,在B10输入:=CELL("width",B1)返回9,指的是B1、C1...列标题的单元格列宽均为9
在F2输入:=SUMIF(B$10:E$10,"0",B2:E2),解析:
B$10:E$10为求和的条件区域,即辅助列中的列宽
"0"为求和的条件,即若辅助列中的列宽均大于零时
SUMIF(B$10:E$10,"0",B2:E2)当辅助列中的列宽均大于零时,计算B2:E2的和,实现忽略隐藏列汇总的结果
2,隐藏后
当辅助行所在的单元格为隐藏列时,CELL函数(=CELL("width",B1))将返回0,若返回值为0,则不满足求和条件,最终将该隐藏列的数据剔除在外,不计入汇总
以上CELL函数取得的结果,为四舍五入后的整数列宽,若列宽调整至0.5以下,计算结果会舍入为0,得到与隐藏该列相同的结果
如果目标列宽发生变化,需要按F9键,或者双击单元格激发重新计算公式,才能更新计算结果
例子2,利用CELL函数,获取当前工作簿和当前工作的名称
1,获取当前工作簿的名称
在A2输入:=CELL("filename",A2),解析:当CELL函数第一个参数的类型为"filename"时,CELL函数将返回包含引用的文件名(包括全部路径),如果包含目标引用的工作表尚未保存,则返回空文本("")
2,获取当前工作表的名称
在A5输入:
=TRIM(RIGHT(SUBSTITUTE(CELL("filename",A2),"]",REPT("",99)),99)),解析:
REPT("",99)返回99个空格
CELL("filename",A2)返回的时当前工作簿的路径,具体文本为:“C:\Users\Administrator\Desktop\