Lumos学习王佩丰Excel第二十四讲:宏表数据

一、宏表函数

‌宏表函数是早期低版本Excel中使用的特殊函数,也被称为Excel 4.0函数。这些函数在Excel的函数列表中无法直接找到,但它们确实存在,并且功能非常强大,可以实现现有版本函数或技巧无法完成的任务。宏表函数主要用于提取单元格填充色值、获取工作表名称、计算文本算式等复杂操作‌。

二、利用宏表函数获取信息

1、get.cell函数

GET.CELL(type_num, reference)

Type_num:指明单元格中信息的类型。下表列出 Type_num 的可能值与其对应的结果。

Reference :提供信息的单元格或单元格范围。 参数形式: [ABC.XLS]sheet1!A1。如果引用的是单元格范围,使用引用中第一个范围的左上角的单元格,如果引用被省略,默认为活动单元格。

Type_num

返回

1

以当前工作区文字引用类型绝对引用左上角引用单元格。

2

顶部引用单元格的行数。

3

最左边引用单元格的列数。

4

同TYPE引用

5

引用内容。

6

文字,以工作区设置决定的 A1 或 R1 C1 类型引用公式。

7

文字的单元格的数字格式(如“m/d/yy”或“General”)。

8

指示单元格水平对齐的数字

1=一般

2=左对齐

3=置中

4=右对齐

5=填充

6=两端对齐

7=跨列置中

9

指示分配给单元格左侧边框线的类型

0 = 无边框

1 = 细线

2 = 中等线

3 = 虚线

4 = 点线

5 = 粗线

6 = 双线

7 = 发丝线

10

指示分配给单元格右侧边框线的类型,对应指定返回值的描述参见 type_num 9

11

指示分配给单元格顶端边框线的类型,对应返回值的描述参见 type_num 9

12

指示分配给单元格底端边框线的类型,对应返回值的描述参见 type_num 9

13

是0至8之间的一个数字,当在[格式]菜单下选择[单元格]命令时,
[单元格格式]对话框的[图案]标签显示被选择的单元格。这个数字指明其模式。如模式未被选择,返回0。【注此处似有误。应为1-18之间的一个数。至[图案]的样式】

14

如果单元格被锁住,返回TRUE;否则,返回FALSE。

15

如果单元格中公式被隐藏,返回TRUE;否则返回FALSE。

16

一个含有两顶的水平数组,包括活动单元格的宽度和一个逻辑值,这个逻辑值指明单元格宽度是否改变,
如为TRUE,标准宽度改变,如为FALSE,仍为自定义宽度。

17

用点表示的单元格的行高

18

字体名称,文字形式

19

用点表示的字体大小

20

如果单元格中所有字符或只有第一个字母为黑体,返回TRUE;否则,返回FALSE。

21

如果单元格中所有字符或只有第一个字符为斜体。返回TRUE;否则,返回FALSE。

22

如果单元格中所有字符或只有第一个字符为加底线,返回FALSE。

23

如果单元格中所有字符或只有第一个字符为加删除线,返回TRUE;否则,返回FALSE。

24

是1-56的一个数字,代表单元格中第一个字符的字体颜色。如果字体颜色为自动生成,返回0。

25

如果单元格中所有字符或只有第一个字符为空心体,返回TRUE;否则,返回FALSE。
Microsoft Excel for Windows 不支持空心字体格式。

26

如果单元格中所有字符或只有第一个字符加阴影,返回TRUE;否则,返回FALSE。
Microsoft Excel for Windows 不支持阴影字体格式

27

指示单元格中能否进行手动分页线的数字。

0 = 没有分页线

1 = 行

2 = 列

3 = 行和列

28

行的级数(分级显示)

29

列的级数(分级显示)

30

如果所包含的活动单元格为摘要行,返回TRUE;否则,返回FALSE。

31

如果列所包含的活动单元格为摘要列,返回TRUE;否则,返回FALSE。.

32

如窗口只包括一个表,其文件名为不含扩展名的工作簿 的文件名,为包含单元格的工作簿或工作表的文件名,
以 BOOK1.XLS 的形式返回簿的文件名;否则,以"[BOOK1]sheel"的形式返回表的文件名。
 

33

如单元格被折行,返回TRUE;否则,返回FALSE。

34

是1-16之间的一个数,代表左侧边框线颜色。如颜色自动生成,返回零。

35

是1-16之间的一个数,代表右侧边框线颜色。如颜色自动生成,返回零。

36

是1-16之间的一个数,代表顶端边框线颜色。如颜色自动生成,返回零。

37

是1-16之间的一个数,代表底端边框线颜色。如颜色自动生成,返回零。

38

是1-16之间的一个数,代表前景颜色。如颜色自动生成,返回零。
【包括填充颜色和图案颜色】

39

是1-16之间的一个数,代表背景颜色。如颜色自动生成,返回零。【阴影背景?】

40

单元格风格,文字形式。

41

不经翻译返回活动单元格中的公式(用于图别设定的宏表)。

42

用点表示的活动窗口左边界到单元格左边界的水平距离,如果窗口滚动到单元格外,可能为负值。

43

用点表示的活动窗口顶边界到单元格顶边界的垂直距离,如果窗口滚动到单元格外,可能为负值。

44

用点表示的活动窗口右边界到单元格右边界的水平距离,如果窗口滚动到单元格外,可能为负值。

45

用点表示的活动窗口底边界到单元格底边界的水平距离,如果窗口滚动到单元格外,可能为负值。

46

如果单元格包含文字注释,返回TRUE;否则,返回FALSE。

47

如果单元格包含声音注释,返回TRUE;否则,返回FALSE。

48

如果单元格包含公式注释,返回TRUE;否则,返回FALSE。

49

如果单元格为数组的一部分,返回TRUE;否则,返回FALSE。

50

指示单元格垂直方向对齐方式。

1 = 顶对齐

2 = 置中

3 = 底对齐

4 = 两端对齐

51

指示单元格垂直方向。

0 = 水平

1 = 垂直

2 = 向上

3 = 向下

52

单元格前缀(或文字对齐)字符,如果单元格不包括任何内容,代表空文本(“”)。

53

当前显示的单元格的内容,文本形式,包括格式化单元格所加上去的数字或符号。

54

返回包含活动单元格的数据透视表视图的文件名。

55

返回数据透视表视图中单元格的位置。

56

在数据透视表视图中,返回包含活动单元格引用的字段名称。

57

如果单元格中所有的字符,或只有第一个字符被格式化为上标字体,返回TRUE;否则,返回FALSE。

58

作为显示在[单元格格式]对话框中[字体]标签定位单元格中所有的字符或只第一个字符的正文
返回字体风格,如 “Bold Italic”。

59

返回下加线风格的数。

1 = 无底线

2 = 单底线

3 = 双线

4 = (single accounting)

5 = (double accounting)

60

如果单元格中所有的字符,或只有第一个字符被格式化为下标字体,返回TRUE;否则,返回FALSE。

61

作为文本返回活动单元格数据透视表项的文件名。

62

返回工作簿和"[book1]sheet1"形式的当前表的文件名。【注:应为“活动工作表”】

63

返回单元格的填充(背景)颜色。

64

返回单元格的图案(前景)颜色。

65

如果[增加缩格]对齐选项处于开的状态( 只用于Microsoft Excel的远东版本返回TRUE;
否则,返回FALSE

66

返回包含BOOK1.XLS 形式单元格的工作簿的簿名。

2、get.workbook函数

GET.WORKBOOK 是一个宏表函数,用于提取当前工作簿的所有工作表名称。它的语法为 GET.WORKBOOK(type_num, name_text),其中 type_num 通常使用1,表示返回工作簿中所有工作表的名称。

  • 定义名称

首先,在Excel中定义一个名称。例如,将名称定义为“工作表名”,引用位置输入公式:

=GET.WORKBOOK(1)

  • 提取工作表名称

在单元格中输入以下公式以提取所有工作表的名称:=INDEX(工作表名,ROW(A1))

  • 建立超链接

使用HYPERLINK函数建立超链接,使得点击后可以跳转到相应的工作表,第一参数是地址,第二参数是名称:

=IFERROR(HYPERLINK(工作表名&"!A1",MID(目录,FIND("]",目录)+1,1000)),"")

Type_num

返回

1

正文值的水平数组,返回工作簿中所有表的名字。

2

通常返回错误值#N/A。

3

正文值的水平数组,返回工作簿中当前选择的表的名称。

4

工作簿中表的数。

5

如果工作簿含有发送名单,返回TRUE;否则返回FALSE。

6

正文值的水平数值,返回所有未接收到文件的接受者的名字。

7

以文本形式返回当前发送名单的主题线。

8

以文本形式返回发送名单的信息正文。

9

如果文件被发送,一个接一个被接收,返回1;如果全部一次被发送,返回2。

10

如果[发送名单]对话框中选择[返回送毕信息]选择框,返回TRUE;否则返回FALSE。

11

如果当前接收发送当前文件,返回TRUE;否则返回FALSE。

12

如果[发送名单]对话框中选择[跟踪状态]选择框,返回TRUE;否则返回FALSE。

13

工作簿[发送名单]:

0 =不被发送

1 =进展中的路径选择,或对于用户工作簿已被发送。

2 =发送已完成。

14

如果工作簿结构被保护,返回TRUE;否则返回FALSE。

15

如果工作簿窗口被保护,返回TRUE;否则返回FALSE。

16

以文字形式返回工作簿的名称,不包括驱动器,目录或文件, 或窗口编号,等价于GET.DOCUMENT(1)

17

如果文件为只读,返回TRUE,否则返回FALSE。等价于GET,DOCUMENT(34)

18

如果表被写保护,返回TRUE,否则返回FALSE。等价于GET.DOCUMENT(35)

19

当前文件允许写的用户的名字,等价于GET.DOCUMENT(36)。

20

对应于显示在[另存为]对话框中的文件的文件类型的数字。等价于GET.DOCUMENT(37)。

21

如在[另存为]对话框中选择了[建立备文件]选择框,返回TRUE;否则,返回FALSE。等价于GET.DOCUMENT(40)

22

如在[选择]对话框的[重新计算设置]标签中选择了[保存外部链接值]选择框,返回TRUE。等价于GET.DOCUMENT(43)

23

如果工作簿有一个苹果开放合作环境(OCE)返回TRUE;否则返回FALSE。如未安装OCE(mailer),返回#N/A。

24

如果工作簿在最后一次保存后被改变,返回TRUE。若未改变(当被关闭,不提示保存),返回FALSE。

25

以文字形式水平数组,返回Power Talk(mailer)的To线上的接收。

26

以文字形式水平数组,返回Power Talk(mailer)的Cr线上接收。

27

以文字形式水平数组,返回Power Talk(mailer)的Bxx线上的接收。

28

以文字形式返回Power Talk(mailer)的主题。

29

以文字形式水平数组,返回Power Talk(mailer)的外壳。

30

如果Power Talk(mailer)从另一用户[*(相对于刚增加但不是发送)。

31

作为一系列数返回Power Talk mailer)被发送的日期和时间,如(mailer)未被发送,返回错误值#N/A。

32

以文本形式返回Power Talk(mailer)的发送者的名字,如(mailer)未被发送,返回错误值#N/A。

33

以文字形式返回显示在[摘要信息]对话框中的文件的标题。

34

以文字形式返回显示在[摘要信息]对话框中的文件的主题。

35

以文字形式返回显示在[摘要信息]对话框中的文件的作者。

36

以文字形式返回显示在[摘要信息]对话框中的文件的关键字。

37

以文字形式返回显示在[摘要信息]对话框中的文件的注释。

38

活动工作表的名字。

3、宏表函数的更新问题
4、示例
  • 返回单元格的填充(背景)颜色:定义名称-----getcell 63

  • 提取公式:定义名称-----getcell 6

  • 提取工作表名:定义名称-----getworkbook 1

  • 超链接工作表:HYPERLINK函数用连字符&链接

三、宏表函数常见应用

1、EVALUATE函数

通过Evaluate这个函数,可以直接计算单元格中算式。

  • 运算公式

  • SUBSTITUTE替换字符

  • SUM求和,用EVALUATE生成(变成)真正的计算数组

  • 文本字符串转化成数组

2、REFTEXT(ACTIVE.CELL())

REFTEXT(ACTIVE.CELL()),获取当前活动单元格的地址

  • 定义名称

  • 新建规则

  • 效果查看

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值