宏表函数get.cell获取单元格的信息
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
宏表函数get.cell获取单元格的信息
你好,我是刘卓。
欢迎来到我的公号,excel函数解析。
今天要和你分享的是宏表函数
get.cell的⽤法。
它是⼀个返回单元格信息的函数,和cell函数很像。
宏表函数具有宏的功能,所以要保存为启⽤宏的⼯作簿,后缀名为.xlsm。
尽管现在⼏乎
被“遗弃”了,但在某些地⽅还是有⽤处的。
宏表函数不能在公式中直接使⽤,必须先定义为名称。
另外,有些宏表函数就算按F9也不会⾃动更新,⽽必须按ctrl+alt+f9。
解决的办法是在定义名称的时候加⼀个易失性函数,⽐如rand(),now(),today()等。
利⽤易失性函数来实现⾃动更新。
-01-
函数说明
get.cell返回单元格的⼀些信息,语法如下,有2个参数:
GET.CELL(type_num, reference)
第1参数type_num:是⼀个代表信息类型的数字。
常⽤的有下⾯⼏种:62,63,24,7。
更多的类型请参考⽂件的sheet2。
第2参数reference:是⼀个区域引⽤,只使⽤区域中左上⾓的单元格。
如果忽略,默认为活动单元格。
-02-
具体应⽤
1.对有颜⾊的单元格求和
如下图所⽰,当给单元格添加背景⾊后,按⼀下F9就会更新求和的结果。
这⾥要获取单元格的背景⾊,所以第1参数要⽤63,第2参数就是B列的单元格。
其实这⾥⽤到了辅助列C列,只不过把C列的字体颜⾊改为⽩⾊了。
下⾯说⼀下操作步骤:
⾸先⿏标选中C3单元格,点【公式】-【定义名称】,在名称中输⼊_gc63,引⽤位置输⼊公式=GET.CELL(63,Sheet1!$B3)+0*NOW(),点确定。
然后在C3单元格输⼊公式=_gc63,向下填充。
可以看到有背景⾊的单元格返回⼤于0的数字,没有背景⾊的返回0。
有了C列的辅助列,对有颜⾊的单元格求和就简单了,在B14单元格输⼊公式
=SUMIF(C3:C13,">0",B3:B13)。
最后把C列的字体颜⾊改为⽩⾊就可以了。
不⽤辅助列也是可以完成的,求和公式为=SUMPRODUCT((color>0)*B3:B13)。
其中color是⼀个名称,它的公式为
=GET.CELL(63,OFFSET(Sheet1!$B$2,N(IF(1,ROW(Sheet1!$1:$11))),))
除了对⼀维区域的颜⾊单元格求和,还可以对⼆维区域的颜⾊单元格求和,如下图所⽰。
具体名称的公式,你可以查看⽂件。
2.提取活动⼯作簿,活动⼯作表名
get.cell(62)可以返回活动⼯作簿和⼯作表名。
按下图步骤操作:点【公式】-【定义名称】,在名称中输⼊_gc62,引⽤位置输⼊公式=GET.CELL(62)&T(NOW()),点确定。
然后在B18单元格输⼊公式=_gc62,返回的结果如下图所⽰,既包含⼯作簿名⼜包含⼯作表名。
有了这个结果,我们就可以分别提取活动⼯作簿和⼯作表名。
活动⼯作表名的公式为=MID(_gc62,FIND("]",_gc62)+1,99)。
活动⼯作簿名的公式为=MID(_gc62,2,FIND("]",_gc62)-2)。
3.返回⾃定义数字格式的代码
get.cell的第1参数选7可以返回单元格的数字格式代码。
如下图所⽰,A列的数据设置了⾃定义数字格式,真正的值是B列所⽰。
定义⼀个名称_gc7,名称的公式为=GET.CELL(7,Sheet1!$A24)&T(NOW())。
在C24单元格输⼊公式=_gc7,返回A24单元格的数字格式代码。
如果想要将A列的数据真的变为眼睛看到的值,可以在D24单元格输⼊公式
=TEXT(A24,_gc7),向下填充。
链接:
提取码:9w5n。