excel中的indirect函数怎样使用

2025-10-02 16:51:34

1、打开excel2010,打开如图所示文件,

共有四个表格:1班,2班,3班,查询表

我们需要在查询表中跨表查询成绩。

excel中的indirect函数怎样使用

excel中的indirect函数怎样使用

excel中的indirect函数怎样使用

excel中的indirect函数怎样使用

2、我们首先使用sumif函数,因为sumif能使用跨表的数组。

在查询表的B2单元格输入:=sumif(

会出现提示:SUMIF(range,criteria,[sum_range])

excel中的indirect函数怎样使用

3、SUMIF(range,criteria,[sum_range])就是SUMIF函数的格式

range是指条件的范围,

在当前表格中,这个范围就是:“1班”,“2班”,“3班”三个表格的A列

这个跨表的范围要怎样表示,在这里我们需要使用间接引用函数indirect

indirect(row(1:3)&"班!A:A")

row(1:3)是一个数组,相当于{1,2,3},通过&与“班!A:A”相连,

因为indirect 中的参数必须是文本,所以用""引起来。

row(1:3)&"班!A:A"也就相当于“1班”,“2班”,“3班”三个表格的A列

excel中的indirect函数怎样使用

4、criteria就是指要查询的对象:姓名C02

sum_range是指求和范围,

这个范围也是跨表的

这个跨表的范围是:1班”,“2班”,“3班”三个表格的B列

表示为:indirect(row(1:3)&"班!B:B")

excel中的indirect函数怎样使用

excel中的indirect函数怎样使用

5、这样就完成了sumif函数,如下所示:

SUMIF(INDIRECT(ROW(1:3)&"班!A:A"),A2,INDIRECT(ROW(1:3)&"班!B:B"))

在任务栏单击,然后按F9

就可以看到最后结果,结果是一个数组{0,0,69}

excel中的indirect函数怎样使用

excel中的indirect函数怎样使用

6、我们需要对这个数组求和

所以添加SUM函数

=SUM(SUMIF(INDIRECT(ROW(1:3)&"班!A:A"),A2,INDIRECT(ROW(1:3)&"班!B:B")))

 因为它是数组公式,所以需要按 Ctrl+Shift+Enter确认

最终得到

={SUM(SUMIF(INDIRECT(ROW(1:3)&"班!A:A"),A2,INDIRECT(ROW(1:3)&"班!B:B")))}

计算结果为69

excel中的indirect函数怎样使用

excel中的indirect函数怎样使用

7、通过indirect,sumif,sum函数我们可以轻松实现跨表查询数据。

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢