ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 39658|回复: 55

[分享] Excel中隐藏函数Get.Cell的用法

  [复制链接]

TA的精华主题

TA的得分主题

发表于 2009-12-16 11:15 | 显示全部楼层 |阅读模式
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
本帖已被收录到知识树中,索引项:GET.CELL
Excel中隐藏函数Get.Cell的用法
    Excel中有一些隐藏的函数,能够实现一些现有的函数无法实现的功能。其中一个很重要的函数就是Get.Cell。Get.Cell翻译过来也就是“得到单元格”的意思,作用是返回单元格中的格式信息。
    函数定义: Get.Cell(类型号,单元格(或范围))  
    其中类型号,即你想要得到的信息的类型号,经试验,范围为1-66,也就是说这个函数可以返回一个单元格里66种信息。
    以下是类型号及代表的意思
    1——参照储存格的绝对地址
    2——参照储存格的列号
    3——参照储存格的栏号
    4——类似 TYPE 函数
    5——参照地址的内容
    6——文字显示参照位址的公式
    7——参照位址的格式,文字显示
    8——文字显示参照位址的格式
    9——传回储存格外框左方样式,数字显示
    10——传回储存格外框右方样式,数字显示
    11——传回储存格外框方上样式,数字显示
    12——传回储存格外框方下样式,数字显示
    13——传回内部图样,数字显示
    14——如果储存格被设定 locked传回 True
    15——如果公式处于隐藏状态传回 True
    16——传回储存格宽度
    17——以点为单位传回储存格高度
    18——字型名称
    19——以点为单位元传回字号
    20——如果储存格所有或第一个字符为加粗传回 True
    21——如果储存格所有或第一个字符为斜体传回 True
    22——如果储存格所有或第一个字符为单底线传回True
    23——如果储存格所有或第一个字符字型中间加了一条水平线传回 True
    24——传回储存格第一个字符色彩数字, 1 至 56。如果设定为自动,传回 0
    25——MS Excel不支持大纲格式
    26——MS Excel不支持阴影格式
    27——数字显示手动插入的分页线设定
    28——大纲的列层次
    29——大纲的栏层次
    30——如果范围为大纲的摘要列则为 True
    31——如果范围为大纲的摘要栏则为 True
    32——显示活页簿和工作表名称
    33——如果储存格格式为多行文字则为 True
    34——传回储存格外框左方色彩,数字显示。如果设定为自动,传回 0
    35——传回储存格外框右方色彩,数字显示。如果设定为自动,传回 0
    36——传回储存格外框上方色彩,数字显示。如果设定为自动,传回 0
    37——传回储存格外框下方色彩,数字显示。如果设定为自动,传回 0
    38——传回储存格前景阴影色彩,数字显示。如果设定为自动,传回 0
    39——传回储存格背影阴影色彩,数字显示。如果设定为自动,传回 0
    40——文字显示储存格样式
    41——传回参照地址的原始公式
    42——以点为单位传回使用中窗口左方至储存格左方水平距离
    43——以点为单位传回使用中窗口上方至储存格上方垂直距离
    44——以点为单位传回使用中窗口左方至储存格右方水平距离
    45——以点为单位传回使用中窗口上方至储存格下方垂直距离
    46——如果储存格有插入批注传回 True
    47——如果储存格有插入声音提示传回 True
    48——如果储存格有插入公式传回 True
    49——如果储存格是数组公式的范围传回 True
    50——传回储存格垂直对齐,数字显示
    51——传回储存格垂直方向,数字显示
    52——传回储存格前缀字符
    53——文字显示传回储存格显示内容
    54——传回储存格数据透视表名称
    55——传回储存格在数据透视表的位置
    56——枢纽分析
    57——如果储存格所有或第一个字符为上标传回True
    58——文字显示传回储存格所有或第一个字符字型样式
    59——传回储存格底线样式,数字显示
    60——如果储存格所有或第一个字符为下标传回True
    61——枢纽分析
    62——显示活页簿和工作表名称
    63——传回储存格的填满色彩
    64——传回图样前景色彩
    65——枢纽分析
    66——显示活页簿名称
    这个函数这么大作用,怎么添加呢?按照常规方法在单元格中输入是没有用的,会提示函数无效。
    不能写在公式里,这个函数还有什么用?呵呵,高手就高在这里了,不能写在公式中,但是我们可以写在名称里!
    比如现在我们要取得A1单元格里的数据格式,结果显示在B1步骤如下:
    1。任选一个单元格-->菜单中的插入--->名称-->定义  
    2。在名称称输入任意名称(假定为OK)  
    3。在引用位置上写入=GET.CELL(7,Sheet1!A1)  
    4。点击添加;
    5。在B1单元格里输入=OK
    看到了,显示的结果是什么?如果没修改过的话应该是G/通用格式吧!这时就能看到返回的单元格式了吧。

TA的精华主题

TA的得分主题

发表于 2009-12-17 12:30 | 显示全部楼层

〖Excel Home友情提示〗

   

很遗憾通知楼上朋友,您的帖子在24小时之内没有任何回复!

通常情况下,本论坛发布的主题帖会在8小时被回复或处理。您的帖子在24小时之内未被回复,其中的原因可能是

1、问题表述不清、模棱两可,难以理解,帮助者被搞晕了,夺帖而出;
2、没有上传必要的附件,或附件被遗忘在某个角落;
3、发帖提问时,语气带棱角、带挑衅,不幸被列入不受欢迎的帖子;
4、所提问题不成立,或提不合理的要求,乐于助人者使出“走为上”之计;
5、话题较偏、较冷或者发布到了不合适的版块,暂时无人问津,顾影自怜。


为了提高您的问题解决效率,我们推荐您阅读以下文章:
* 如何发表新话题和上传附件:http://club.excelhome.net/thread-45649-1-1.html
* 发帖的技巧:http://club.excelhome.net/thread-176339-1-1.html
* EH技术论坛的最佳学习方法:http://club.excelhome.net/thread-117862-1-1.html

TA的精华主题

TA的得分主题

发表于 2009-12-17 16:08 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2009-12-25 10:06 | 显示全部楼层
比如现在我们要取得A1单元格里的数据格式,结果显示在B1步骤如下:
    1。任选一个单元格-->菜单中的插入--->名称-->定义  
    2。在名称称输入任意名称(假定为OK)  
    3。在引用位置上写入=GET.CELL(7,Sheet1!A1)  
    4。点击添加;
    5。在B1单元格里输入=OK
    看到了,显示的结果是什么?如果没修改过的话应该是G/通用格式吧!这时就能看到返回的单元格式了吧。

B1显示General。即使改变A1的格式,还是显示General。对不对呀?

TA的精华主题

TA的得分主题

发表于 2009-12-25 10:07 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2009-12-25 15:45 | 显示全部楼层

回复7#

测试最好用绝对引用,不然,未必取的是A1的格式(如果了解原理不会搞错的话,当然用相对的也行)
OK=GET.CELL(7,Sheet1!$A$1)

7对应的是数字格式,修改单元格数字格式,不要是常规(Gernaral), Ctrl+Alt+F9刷新结果看看?

发现1#有些写的不准确或不完整哦
GET,CELL(格式编号[,区域引用])
返回第二参数指定区域(如果是联合应用,则为第一个区域)的左上角单元格的相应格式,第二参数省略则返回活动单元格的相应格式

格式编号:
1  -  返回绝对引用  //引用样式由Excel参数决定,可以用工作表函数 CELL("address");  CELL("address",REF)
2  -  返回行号    //可以用工作表函数 CELL("row");  CELL("row",REF); ROW(REF)
3  -  返回列号(数字)   //可以用工作表函数 CELL("col");  CELL("col",REF); COLUMN(REF)
4  -  返回数据类型(1-数值或空单元格,2-文本,4-逻辑,16-错误值)   //基本可以用工作表函数TYPE,除了针对活动单元格的情形。注意与CELL("type")不同
5  -  返回值   // 直接用 =单元格地址,完美的替代是CELL("contents"), CELL("contents",REF)
6  -  返回公式或值  //如果单元格不含公式,则与5相同。 公式中的引用样式与Excel的设定相同,而宏表函数GET.FORMULA则必然采用R1C1引用样式
7  -  返回数字格式  //常规格式对应的代码与Excel的语言设定有关,可以定义名称拥带宏表函数的公式=INDEX(GET.WORKSPACE(37),26) 得到 该常规格式对应的当前代码。
8  -  返回水平对齐方式编号  //即单元格格式中水平对齐下拉列表中的序号(1-常规,2-靠左,3-居中,4-靠右,5-填充,6-两端对齐,7-跨列居中,8-分散对齐)
9  -  返回左边框线型编号  //编号表见附表1,下面3个也是
10 -  返回右边框线型编号  
11 -  返回上边框线型编号  
12 -  返回下边框线型编号  
13 -  返回背景图案编号  //编号表见附表2
14 -  返回锁定状态(True锁定,False未锁定)
15 -  返回隐藏状态(True隐藏,False未隐藏)  //注意不是隐藏行列,是指的保护工作表时是否隐藏公式(编辑栏内容),对应 单元格格式>>保护>>隐藏 这项设定。
16 -  返回列宽及其自适应性  //1行2列数组,第一项是数值,即列宽的设定值,第二项为逻辑值,表示是否是原始的自适应列宽,注意并不是说等于默认的列宽就是True,当你改过该列的列宽后就不会是True了。没有可替代的函数,甚至VBA似乎也无法准确取得第二项的值(前提是不调用这个宏表函数)
17 -  返回行高
18 -  返回首字符的字体名称  //只与首字符有关,后面几个类似
19 -  返回首字符的字体磅值
20 -  返回首字符的粗体状态
21 -  返回首字符的斜体状态
22 -  返回首字符的单下划线状态   //注意只对“单下划线”返回True,其他类型的下划线都返回False,
23 -  返回首字符的删除线状态
24 -  返回首字符的颜色编号  //参见附表3,0表示"默认"颜色
25 -  返回首字符的空心状态   //用于Mac,Windows下无实际显示效果,但是保留设定
26 -  返回首字符的阴影状态   //用于Mac,Windows下无实际显示效果,但是保留设定
27 -  返回手动分页状态(0-无,1-上方,2-左侧,3-左侧和上方)  //只针对手动分页符,忽略自动分页符
28 -  返回行的级数  //不曾建立分级列表的话就是第1级
29 -  返回列的级数  //不曾建立分级列表的话就是第1级
30 -  返回是否位于分级列表的汇总行
31 -  返回是否位于分级列表的汇总列  
32 -  返回工作表全名  //包括工作簿文件名,即[book1.xls]Sheet1形式,当工作簿主名(第一个小数点之前的部分)与工作表名相同,此时仅返回工作簿名称,如book1.xls。 效果与宏表函数Get.Document(1)一样。与CELL("filename",REF)的区别是,后者包括完整路径,而Get.Cell不带路径。
33 -  返回自动换行状态
34 -  返回左边框线颜色编号
35 -  返回右边框线颜色编号
36 -  返回上边框线颜色编号
37 -  返回下边框线颜色编号
38 -  当图案为实心时,返回单元格的背景色编号;其他时候返回图案前景色编号
39 -  当图案为实心时,返回单元格的图案前景色编号;其他时候返回图案背景色编号
40 -  返回样式名称
41 -  不经翻译返回单元格的公式  //某些语言的excel,函数名称与英文版不同,参数41与6的区别应该就在此处
42 -  返回单元格左边界相对窗口左边界的偏移
43 -  返回单元格上边界相对窗口上边界的偏移
44 -  返回单元格右边界相对窗口左边界的偏移
45 -  返回单元格下边界相对窗口上边界的偏移
46 -  返回是否含批注
47 -  返回是否含声音批注  //该功能只适用于Excel5和95,自97版本开始这个功能被取消
48 -  返回是否含公式
49 -  返回是否含数组公式
50 -  返回垂直对齐方式  //即单元格格式中垂直对齐下拉列表中的序号(1-靠上,2-居中,3靠下,4-两端对齐,5-分散对齐)
51 -  返回文字方向(0-水平,1-垂直,2-向上(90度),3-向下(-90度),4-其他)
52 -  返回前缀字符  //若“1-2-3常用键”功能关闭,则只有'这一种前缀,也就是强制文本型;当“1-2-3常用键”功能打开,有三种前缀,^表示居中(跨列居中也会返回这个前缀),"为靠右(填充也会显示这个前缀),其他都是'(输入时表示左对齐)。在“1-2-3常用键”功能打开时,除了跨列居中,其他的判断为文本型的单元格都会再编辑框中显示一个前缀符,对于跨列居中,虽然不显示,但是用该宏表函数还是会返回^。不过在“1-2-3常用键”功能关闭时,只有用户确实输入过前缀的单元格才会保留前缀,全都变成'(与对齐无关),这时候此宏表函数也只对输入过前缀的返回',不然返回空字符串。注意,这里的行为与CELL("perfix")不同,后者忽略“1-2-3常用键”这个设置,对于判断为文本型的单元格,按照对齐方式返回相应的符号。
53 -  返回单元格的实际显示值,文本型  //对于靠单元格数字格式设置所定义的结果以及因容量限制而形成的#####等都会照实返回,不过不识别自动换行,不会为在相应位置添加换行符。
54 -  返回数据透视表名,不在透视表中则返回#N/A
55 -  返回在数据透视表中的位置(0-行标题,1-列标题,2-页标题,4-行项目,5-列项目,6-页项目,7-数据项标题,8-表格主体),不在透视表中则返回#N/A
56 -  返回字段名,不在透视表中则返回#N/A
57 -  返回首字符的上标状态
58 -  返回首字符的字形  //常规、倾斜、加粗、加粗 倾斜
59 -  返回首字符的下划线类型(1-无,2-单下划线,3-双下划线,4-会计用单下划线,5-会计用双下划线)
60 -  返回首字符的下标状态
61 -  返回在数据透视表中的项目名,不在透视表中则返回#N/A
62 -  返回带工作簿名称的工作表名  //与32不同的是,无论何种情况都是[book1]sheet1形式
63 -  返回图案背景色
64 -  返回图案前景色
65 -  返回两端分散对齐状态
66 -  返回工作簿名称


附表1 - 单元格边框线线型编号表(注意与单元格格式对话框中的排列顺序不同):
0-无
1-细线
2-中等线
3-虚线
4-点线
5-粗线
6-双线
7-发丝线
8-中等虚线
9-点划线
10-中等点划线
11-双点划线
12-中等双点划线
13-花式线

附表2 - 图案编号表(注意与单元格格式对话框中的排列顺序不同)
0-无
1-实心
2-50%灰色
3-75%灰色
4-25%灰色
5-水平条纹
6-垂直条纹
7-逆对角线条纹
8-对角线条纹
9-对角线剖面线
10-粗对角线剖面线
11-细水平条纹
12-细垂直条纹
13-细逆对角线条纹
14-细对角线条纹
15-细水平剖面线
16-细对角线剖面线
17-12.5%灰色
18-6.25%灰色

附表3 - 调色板颜色编号
编号对应的是调色板上的位置,与具体颜色设定无关
颜色      行  列   默认设置(用的是2003版,括号中是Excel XP中的名称)
[颜色1]     1   1   黑色   
[颜色2]     5   8   白色   
[颜色3]     3   1   红色   
[颜色4]     4   4   鲜绿   
[颜色5]     2   6   蓝色   
[颜色6]     4   3   黄色   
[颜色7]     4   1   粉红   
[颜色8]     4   5   青绿   
[颜色9]     2   1   深红   
[颜色10]    2   4   绿色   
[颜色11]    1   6   深蓝   
[颜色12]    2   3   深黄   
[颜色13]    3   7   紫罗兰  
[颜色14]    2   5   青色    (XP: 蓝绿色)
[颜色15]    4   8   灰-25%  
[颜色16]    2   8   灰-50%  
[颜色17]    6   1   海螺   
[颜色18]    6   2   梅红   
[颜色19]    6   3   象牙色  (XP: 乳白)
[颜色20]    6   4   浅青绿  
[颜色21]    6   5   深紫   
[颜色22]    6   6   珊瑚红  
[颜色23]    6   7   海蓝   
[颜色24]    6   8   冰蓝   
[颜色25]    7   1   深蓝   
[颜色26]    7   2   粉红   
[颜色27]    7   3   黄色   
[颜色28]    7   4   青绿   
[颜色29]    7   5   紫罗兰  (XP: 紫色)
[颜色30]    7   6   深红   
[颜色31]    7   7   青色    (XP: 蓝绿色)
[颜色32]    7   8   蓝色   
[颜色33]    4   6   天蓝   
[颜色34]    5   5   浅青绿  
[颜色35]    5   4   浅绿   
[颜色36]    5   3   浅黄   
[颜色37]    5   6   淡蓝   
[颜色38]    5   1   玫瑰红  
[颜色39]    5   7   淡紫   
[颜色40]    5   2   茶色    (XP: 棕黄)
[颜色41]    3   6   浅蓝   
[颜色42]    3   5   水绿色  (XP: 宝石蓝)
[颜色43]    3   3   酸橙色  
[颜色44]    4   2   金色   
[颜色45]    3   2   浅橙色  (XP: 浅桔黄)
[颜色46]    2   2   橙色    (XP: 桔黄)
[颜色47]    2   7   蓝-灰   
[颜色48]    3   8   灰-40%  
[颜色49]    1   5   深青    (XP: 深灰蓝)
[颜色50]    3   4   海绿   
[颜色51]    1   4   深绿   
[颜色52]    1   3   橄榄色  (XP: 橄榄绿)
[颜色53]    1   2   褐色   
[颜色54]    4   7   梅红   
[颜色55]    1   7   靛蓝   
[颜色56]    1   8   灰-80%

评分

2

查看全部评分

TA的精华主题

TA的得分主题

发表于 2010-1-20 16:22 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
真的非常好用,谢谢分享

TA的精华主题

TA的得分主题

发表于 2010-2-10 22:17 | 显示全部楼层
非常感谢,正愁如何通过字体格式进行判断呢,现在终于找到方法了。

TA的精华主题

TA的得分主题

发表于 2010-2-11 09:46 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
非常好。谢谢。忘记了再来查阅。

TA的精华主题

TA的得分主题

发表于 2010-2-11 10:59 | 显示全部楼层

Good

这么好的素材,顶起来!
不光是楼主,各楼的朋友都谢了!
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

关闭

最新热点上一条 /1 下一条

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-4-26 23:49 , Processed in 0.043208 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表