巧用CELL函数实现多表合并

来源:互联网 发布:白色西服知乎 编辑:程序博客网 时间:2024/05/18 08:52

在进行多个表格合并操作中,我们一般会使用拷贝粘贴操作来完成。虽然这样做法十分方便,但是如果原始数据发生变化(修改,添加,删除等),所有的工作必须再做一次,工作量可想而知了!那么有没有什么方法可以方便的解决它呢?CELL函数此时粉抹登场了。它的使用说明方法如下:

返回某一引用区域的左上角单元格的格式、位置或内容等信息。

语法

CELL(info_type,reference)

Info_type   为一个文本值,指定所需要的单元格信息的类型。下面列出 info_type 的可能值及相应的结果。

Info_type

返回

 

 

"address"

引用中第一个单元格的引用,文本类型。

"col"

引用中单元格的列标。

"color"

如果单元格中的负值以不同颜色显示,则为 1,否则返回 0

"contents"

引用中左上角单元格的值:不是公式。

"filename"

包含引用的文件名(包括全部路径),文本类型。如果包含目标引用的工作表尚未保存,则返回空文本 ("")

"format"

与单元格中不同的数字格式相对应的文本值。下表列出不同格式的文本值。如果单元格中负值以不同颜色显示,则在返回的文本值的结尾处加“-”;如果单元格中为正值或所有单元格均加括号,则在文本值的结尾处返回“()”

"parentheses"

如果单元格中为正值或全部单元格均加括号,则为 1,否则返回 0

"prefix"

与单元格中不同的标志前缀相对应的文本值。如果单元格文本左对齐,则返回单引号 (');如果单元格文本右对齐,则返回双引号 (");如果单元格文本居中,则返回插入字符 (^);如果单元格文本两端对齐,则返回反斜线 (/);如果是其他情况,则返回空文本 ("")

"protect"

如果单元格没有锁定,则为 0;如果单元格锁定,则为 1

"row"

引用中单元格的行号。

"type"

与单元格中的数据类型相对应的文本值。如果单元格为空,则返回“b”。如果单元格包含文本常量,则返回“l”;如果单元格包含其他内容,则返回“v”

"width"

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

Reference   表示要获取其有关信息的单元格。如果忽略,则在 info_type 中所指定的信息将返回给最后更改的单元格。下表描述 info_type “format”,以及引用为用内置数字格式设置的单元格时,函数 CELL 返回的文本值。

如果 Microsoft Excel 的格式为

CELL 返回值

常规

"G"

0

"F0"

#,##0

",0"

0.00

"F2"

#,##0.00

",2"

$#,##0_);($#,##0)

"C0"

$#,##0_);[Red]($#,##0)

"C0-"

$#,##0.00_);($#,##0.00)

"C2"

$#,##0.00_);[Red]($#,##0.00)

"C2-"

0%

"P0"

0.00%

"P2"

0.00E+00

"S2"

# ?/? # ??/??

"G"

yy-m-d yy-m-d h:mm dd-mm-yy

"D4"

d-mmm-yy dd-mmm-yy

"D1"

d-mmm dd-mmm

"D2"

mmm-yy

"D3"

dd-mm

"D5"

h:mm AM/PM

"D7"

h:mm:ss AM/PM

"D6"

h:mm

"D9"

h:mm:ss

"D8"

如果 CELL 公式中的 info_type 参数为“format”,而且以后又用自定义格式设置了单元格,则必须重新计算工作表以更新 CELL 公式。

操作方法

  1. 创建空白工作簿或工作表。
  2. 请在帮助主题中选取示例。不要选取行或列标题。

从帮助中选取示例。

从帮助中选取示例。

  1. Ctrl+C
  2. 在工作表中,选中单元格 A1,再按 Ctrl+V
  3. 若要在查看结果和查看返回结果的公式之间切换,请按 Ctrl+`(重音符),或在工具菜单上,指向公式审核,再单击公式审核模式

 

1

2

3

A

数据

5-Mar

TOTAL

公式

说明(结果)

=CELL("row",A20)

单元格 A20 的行号 (20)

=CELL("format", A2)

第一个字符串的格式代码(D2,请参见上面的信息)

=CELL("contents", A3)

单元格 A3 的内容 (TOTAL)

 

我们对多个表格进行合并的最常用方法是CELL("contents"range)操作,比如例子中的CELL("contents", A3),它用于返回A3的内容,在例子中是“TOTAL”字符串。如果在日后的操作中,“TOTAL”变成了“MYTOTAL”那么,引用表格单元中的内容会自动更新。CELL函数虽然在一定程度上减少了工作量,但是单用它也有缺陷,比如说,如果引用的某行被删除,那么在合并表中将显示“#REF!”的一串扰人的数据。此外,如果在数据中间插入某些行,那么超过引用区域的原有行就不能被显示。虽然可以预留一些行为日后做准备,但是毕竟不是完整的解决方法。稍后我将在新的文章中给出一个相关解决方法。