乐于分享
好东西不私藏

【WPS表格函数】INDIRECT()函数使用指南

【WPS表格函数】INDIRECT()函数使用指南

INDIRECT() 函数是WPS表格中一个极为重要且灵活的引用函数,其核心作用是将一个文本字符串(如A1B2:B10Sheet2!C5)转换为实际的单元格引用。它不会直接返回单元格的值,而是返回一个引用,这个引用可以用于其他函数(如SUM、VLOOKUP、MATCH 等)中进行进一步计算。

INDIRECT() 的最大特点是动态性可以通过拼接字符串的方式,动态生成引用地址,从而实现根据用户输入、下拉菜单选择或其他条件自动调整引用的区域或工作表。它支持跨工作表引用、跨工作簿引用(需源文件打开),也支持R1C1 样式引用。通过 INDIRECT()可以动态构建引用地址,实现跨工作表、跨工作簿的数据汇总与动态区域计算,是制作动态报表、模板化数据处理、多表合并等场景的利器。

INDIRECT() 函数的灵活性和动态特性使其成为 WPS 表格高级应用中的核心工具。熟练掌握这个函数,将能够构建出更智能、更自动化的表格系统,大幅提升数据处理效率与准确性

一、函数语法

=INDIRECT(引用文本, [引用样式])

函数包含一个必需参数和一个可选参数。

二、参数说明

(一)第一参数:引用文本(必需)一个文本字符串,表示一个有效的单元格引用、区域引用或名称。例如:

1.A1:引用当前工作表A1 单元格

2.B2:B10:引用当前工作表B2 至 B10 区域

3.Sheet2!C5:引用名为Sheet2 的工作表的 C5 单元格

4.‘[工作簿.xlsx]Sheet1’!A1:引用其他工作簿中的单元格(需文件打开)

5.销售额:引用一个已定义的名称

(二)第二参数:[引用样式](可选)指定第一参数的引用样式类型。例如:

1.TRUE 或1或省略:表示使用 A1 样式(如 A1、B2、C10)

2.FALSE或0:表示使用 R1C1 样式(如 R1C1、R2C3)

大多数情况下,使用默认的A1 样式即可。R1C1 样式在某些高级动态公式中更为灵活。

三、注意事项

(一)引用文本必须为有效地址

如果第一参数提供的文本无法解析为有效的单元格引用,INDIRECT() 将返回错误值 #REF!。例如:输入“A”“Sheet99!A1”(工作表不存在)都会导致错误。

(二)跨工作表引用格式

跨工作表引用时,需使用单引号包裹工作表名(如果工作表名包含空格或特殊字符),后跟感叹号和单元格地址,如:“‘东北公司‘!B4″。在公式中拼接字符串时,需注意单引号、双引号的正确嵌套,避免语法错误。

(三)跨工作簿引用需源文件打开

INDIRECT() 支持跨工作簿引用,但前提是被引用的工作簿必须在 WPS 中处于打开状态。如果关闭源文件,公式将返回 #REF错误。格式为:“‘[工作簿名称.xlsx]工作表名‘!单元格

注意:如果需要在多台电脑间共享文件,建议将引用文件放在相同路径,或使用名称管理器定义路径变量,以保证引用的稳定性。

(四)动态区域构建与应用

INDIRECT() 常与 MATCH()ADDRESS()ROW()COLUMN() 等函数结合,动态生成区域地址,实现自适应范围的统计与查询。例如

1.ADDRESSMATCH 组合:实现灵活的双向查找公式,适用于动态报表和模板设计。

2.模板自动化汇总:在统一模板中,通过INDIRECT 引用各分表数据,实现自动汇总,减少手动更新。

3.多表三维引用:通过INDIRECT 生成各表的引用,配合 SUMAVERAGE 等函数,实现跨表三维统计。

4.动态图表:将图表数据源定义为INDIRECT 引用的动态区域,图表自动随数据增减更新。

(五)易失性函数与性能考虑

INDIRECT() 是一个易失性函数,意味着只要工作表发生任何变化,它都会重新计算。在包含大量 INDIRECT() 公式的工作簿中,可能会影响计算速度。建议在必要时使用,避免在工作表中大量重复,过度使用会导致计算缓慢。

(六)对合并单元格的引用

当引用区域中包含合并单元格时,INDIRECT() 返回的是合并区域左上角的值,需注意数据提取的准确性。

(七)循环引用风险

如果INDIRECT() 生成的引用指向公式所在单元格自身,将产生循环引用警告,需避免。

(八)对已定义名称的引用与动态下拉菜单

如果第一参数是一个已定义的名称(如产品列表),INDIRECT() 将返回该名称所引用的区域。这在与数据验证(下拉菜单)结合时非常实用,例如通过 INDIRECT 引用名称管理器中的动态区域,实现级联下拉菜单,提升数据录入效率。

结合名称管理器,可以定义动态命名区域(如使用公式=OFFSET(INDIRECT(“Sheet1!$A$1”),0,0,COUNTA(Sheet1!$A:$A),1)),实现区域的自动扩展。

(九)利用R1C1 样式实现复杂偏移

INDIRECT() 支持 R1C1 引用样式(第二参数设置为 FALSE)。在需要复杂相对引用时,使用 R1C1 样式可以更灵活地构建引用关系,例如动态偏移特定行列。

四、典型场景(示例中的单元格引用应据实调整)

场景01:根据单元格内容动态引用单元格

实际需求:在A1 单元格中输入C5,希望在B1 中显示 C5 单元格的值。

设置公式:=INDIRECT(A1)

公式原理:INDIRECT 将 A1 中的文本C5转换为实际引用,返回C5 的内容。

场景02动态生成序列(与ROW 结合)

实际需求:生成1 到 10 的序列,但起始行可变。

设置公式:=ROW(INDIRECT(1:10))

公式原理:INDIRECT(1:10) 返回第 1 行到第 10 行的引用,ROW 返回行号数组。

场景03:动态求和区域(根据输入行数自动调整)

实际需求:在B1 中输入行数n,希望对A 列前 N 行进行求和。

设置公式:=SUM(INDIRECT(A1:A&B1))

公式原理:B1 的值拼接出A1:An的动态区域地址,INDIRECT 将其转换为实际区域供 SUM 求和。

场景04:根据行列号动态引用单元格(与ADDRESS 结合)

实际需求:已知行号在A1,列号在 B1,希望引用该位置的单元格值。

设置公式:=INDIRECT(ADDRESS(A1,B1))

公式原理:ADDRESS 根据行号列号生成 A1 样式地址(如C5),INDIRECT 将其转换为引用。

场景05:多表同一位置汇总(跨工作表汇总)

实际需求:有1 月至 12 月共 12 张工作表,每个表的 B5 单元格为销售额,需要在汇总表中统计全年总销售额。

设置公式:(数组公式,WPS新版本支持动态数组):=SUM(INDIRECT(&ROW(INDIRECT(1:12))&‘!B5))

公式原理:ROW(INDIRECT(1:12)) 生成 1 到 12 的数组,拼接成‘1月’!B5‘2月’!B5……,INDIRECT 返回每个引用,SUM 汇总。

场景06:动态数据验证(二级下拉菜单)

实际需求:根据一级下拉菜单选择的类别,动态生成二级下拉菜单的选项列表。

假设:

一级下拉菜单在A1,可选水果蔬菜

已定义名称:水果引用区域为B2:B5,蔬菜引用区域为C2:C5。

在二级下拉菜单的数据验证来源中输入设置公式:

设置公式:=INDIRECT(A1)

公式原理:A1 的内容为水果蔬菜INDIRECT 返回对应的名称引用,作为下拉菜单的选项来源。

场景07:动态列引用(根据表头匹配列)

实际需求:根据C1 中的字段名,动态匹配数据表中该列的所有值。

假设数据表在A:D 列,第一行为标题。C1 中输入销售额

设置公式:=INDIRECT(ADDRESS(ROW(),MATCH(C1,1:1,0))&:&ADDRESS(100,MATCH(C1,1:1,0)))

公式原理:MATCH 找到标题所在列号,ADDRESS 生成该列第 1 行和第 100 行的地址,拼接为区域,INDIRECT 返回该列区域。

场景08:引用其他工作簿数据(需源文件打开)

实际需求:引用名为销售数据.xlsx工作簿中Sheet1B2 单元格。

设置公式:=INDIRECT(‘[销售数据.xlsx]Sheet1’!B2)

注意:源文件必须打开,否则返回#REF!。

场景09:R1C1 样式引用(动态偏移)

实际需求:引用当前单元格向下偏移2 行、向右偏移 1 列的单元格值。

设置公式:=INDIRECT(R[2]C[1],FALSE)

公式原理:第二参数为FALSE,表示使用 R1C1 样式。R[2]C[1] 表示相对引用,向下 2 行,向右 1 列。

场景10:动态区域计数(COUNTA + INDIRECT)

实际需求:在B1 中输入列号字母(如C),统计该列非空单元格个数。

设置公式:=COUNTA(INDIRECT(B1&:&B1))

公式原理:拼接出C:C区域,INDIRECT 返回该列引用,COUNTA 计数。

场景11动态选择工作表(下拉菜单切换工作表)

实际需求:通过下拉菜单选择工作表名称,自动从对应工作表中提取A1 单元格的值。

假设下拉菜单所在单元格为A1,可选值为东北公司西南公司华中公司

设置公式:=INDIRECT(A1&!A1)

公式原理:A1 中的工作表名与!A1拼接成有效引用,如东北公司!A1INDIRECT 返回该单元格的值。

场景12动态区域求和(根据条件自动扩展)

实际需求:对A 列从 A1 到最后一个非空单元格求和。

设置公式:=SUM(INDIRECT(A1:A&COUNTA(A:A)))

公式原理:COUNTA 统计 A 列非空个数,拼接出动态区域,INDIRECT 返回实际区域供 SUM 求和。

可下载以下WPS表格查看示例:

2026年02月24日-【WPS表格函数】INDIRECT()函数使用指南-示例.zip
往期回顾:
【WPS表格函数】TOCOL()函数使用指南
【WPS表格函数】 IF() 函数使用指南
【WPS 表格函数】 IFS () 函数使用指南
函数解难题,技巧省时间;
关注不迷路,更新见真章。
本站文章均为手工撰写未经允许谢绝转载:夜雨聆风 » 【WPS表格函数】INDIRECT()函数使用指南

评论 抢沙发

3 + 8 =
  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
×
订阅图标按钮