使用FIND函数作为条件的SUMIF函数

11

我正在尝试从多个Google电子表格中的表格总结数据到一个单一的表格中,但是我在使用SUMIF和FIND函数时遇到了一些问题。 要从另一个表格中总结数据,我必须使用以下内容(至少这是我找到的唯一解决方案)

=SUM(INDIRECT(""&A6&""&"!E2:E"))

在A6单元格中输入工作表的名称,这样做很容易,因为我有一个包含所有工作表名称的列(A)。在Google文档中,我没有找到类似于Sheets[1]的东西。

我的下一步是从特定列中求时间总和,但要删除特定值,在这种情况下该值为1,因为它是一个时间列,所以会自动转换为24:00:00:

=SUM(INDIRECT(""&A6&""&"!D2:D")) - SUMIF(INDIRECT(""&A6&""&"!D2:D");"24:00:00")

我试图用单个SUMIF来完成所有操作,但不知道该怎么做。NOT("24:00:00")无效,所以我选择了这个方法。 最后一个部分是最困难的,我无法解决它。 我有一列月份名称(例如),我想仅在月份名称包含“er”时才对某些数据求和。这是我的想法:

=SUMIF(A6:A16,ISNUMBER(Find("er")),G6:G16)

这总是给我返回0(注意最后一个包含A6:A16而不是整个INDIRECT部分,因为我仍在单个工作表中测试它。)有什么想法我做错了什么吗?


我相信这个问题对你来说很相关:https://dev59.com/dmox5IYBdhLWcg3wkk-E - Guy
1个回答

16

我不知道为什么上面的SUMIF不起作用,我测试并且可以工作的是:

=SUMIF(A6:A16,"*er*",G6:G16)

SUMIF并非我原先以为的SUM加上IF。希望这可以帮助其他人。


1
这个答案被接受已经有一段时间了,但需要注意的是,通配符(如*)在Google表格上不起作用,至少在2017年1月之后是这样。 - Pablo D.
2
@Pablo 不确定他们是否已经恢复,但是在Google Sheets中,*通配符仍然有效,至少截至2017年3月。 - mslhrt
1
很高兴看到这个!可能是我或Google Sheets的糟糕一天。 - Pablo D.
确保单元格的格式正确,以便通配符作为条件工作(如果使用通配符文本,则为纯文本)。我以为通配符不再受支持,直到我发现该列处于货币格式。 - gencay

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接