首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在间接函数中使用单元格引用

如何在间接函数中使用单元格引用
EN

Stack Overflow用户
提问于 2019-11-10 23:13:42
回答 1查看 86关注 0票数 1

我有几个单元格从多个工作表中计算单个单元格的总和,在本例中,"Y3“来自每周的每个工作表,其中n是从1到10之间的整数:

代码语言:javascript
复制
=SUMPRODUCT(COUNTIF(INDIRECT("'Week"&{1,2,3,4,5,6,7,8,9,10}&"'!Y3"),"W"))

我希望我的工作簿中有一个单元格,其中包含: A1:

代码语言:javascript
复制
1,2,3,4,5,6,7,9,10

这样,当我添加要计数的工作表时,我只能更新一个单元格。我试过几件事,但似乎没有什么效果。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-11-11 03:35:25

你的公式:=SUMPRODUCT(COUNTIF(INDIRECT("'Week"&{1,2,3,4,5,6,7,8,9,10}&"'!Y3"),"W"))

这个公式只适用于10张有名称为Week1、Week2、Week3 3…的表.Week10

但是,如果你有少于10张,例如Week1,Week2,Week3 3….Week9,您的公式将失败并返回"#REF!"错误。

公式的解决方法是使用IFERROR()进行包装,并变成:

代码语言:javascript
复制
=SUMPRODUCT(IFERROR(COUNTIF(INDIRECT("'Week"&{1,2,3,4,5,6,7,8,9,10}&"'!Y3"),"W"),0))

但是,如果您希望在A1中执行动态的公式,请输入:1,2,3,4,5,6,7,9,10

但是1,2,3,4,5,6,7,9,10是一个文本字符串,您需要将它转换为一个数组。使用FILTERXML()可以完成自2013年以来可用的工作

这是一个数组公式,您需要通过按CTRL+SHIFT+ENTER来确认,而不是只输入:

代码语言:javascript
复制
=SUM(IFERROR(COUNTIF(INDIRECT("'Week"&FILTERXML("<a><b>"&SUBSTITUTE(A1,",","</b><b>")&"</b></a>","//b")&"'!Y3"),"W"),0))

编辑1:

和,

如果没有Excel 2013,则可以使用这个更长的数组(CSE)公式

代码语言:javascript
复制
=SUM(IFERROR(COUNTIF(INDIRECT("'Week"&TRIM(MID(SUBSTITUTE(","&A1,",",REPT(" ",99)),ROW(INDIRECT("1:"&LEN(A1)-LEN(SUBSTITUTE(A1,",",))+1))*99,99))&"'!Y3"),"W"),0))

在那之后,

您可以在不更改公式内容的情况下调整A1编号。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58793806

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档