Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google sheets 如何在包含空白的动态范围内进行SUMIF?_Google Sheets_Formulas - Fatal编程技术网

Google sheets 如何在包含空白的动态范围内进行SUMIF?

Google sheets 如何在包含空白的动态范围内进行SUMIF?,google-sheets,formulas,Google Sheets,Formulas,我有一列我想要求和的数字,但只在某些匹配条件下,因此我成功地使用了SUMIF和SUMIFS。现在我想让这个范围变得动态。以下是工作的、非动态的功能: =SUMIF(B2:B60,“CC/*”,A2:A60) B列包含以“CC/”开头的值,A列包含这些值 如果列B已排序且单元格之间不包含空格,则我的新函数为: =SUMIF(偏移量(B1,1,0,COUNTA(B:B),1),“CC/*”,偏移量(A1,1,0,COUNTA(A:A),1)) 这里明显的问题是COUNTA返回有多少字段有值,而OFF

我有一列我想要求和的数字,但只在某些匹配条件下,因此我成功地使用了
SUMIF
SUMIFS
。现在我想让这个范围变得动态。以下是工作的、非动态的功能:

=SUMIF(B2:B60,“CC/*”,A2:A60)

B列包含以“CC/”开头的值,A列包含这些值

如果列B已排序且单元格之间不包含空格,则我的新函数为:

=SUMIF(偏移量(B1,1,0,COUNTA(B:B),1),“CC/*”,偏移量(A1,1,0,COUNTA(A:A),1))

这里明显的问题是
COUNTA
返回有多少字段有值,而
OFFSET
返回那么多字段,而不管这些字段是否为空。然后,我的<代码> SUMIF <代码>函数对该数据起作用,并返回由于空白单元格存在的意外总数。

下面是一个示例数据表。my
SUMIF
的预期结果为3.00;但是,上面的代码将返回1.00,因为第二列中只有两个非空字段,因此它
COUNTA
将返回2

     A       B
 +-------+--------+
1| Cost  | Source |
 +-------+--------+
2|  1.00 | CC/1   |
 +-------+--------+
3| 10.00 |        |
 +-------+--------+
4|  2.00 | CC/2   |
 +-------+--------+
5| 20.00 |        |
 +-------+--------+
另外,我发现这篇论坛帖子看起来像是我在寻找的,但很难将这些概念应用到我的特定问题上


只要可乐中没有空白,您就可以使用:

=SUMIF(OFFSET(B1, 1, 0, COUNTA(A:A), 1), "CC/*", OFFSET(A1, 1, 0, COUNTA(A:A), 1))

由于您使用的是B列中的文本作为标准,因此范围的范围应为B列中包含文本的最后一行。使用非易失性替代易失性和查找B列中包含文本的最后一行,公式变为

=SUMIF(B2:INDEX(B:B, MATCH("zzz",B:B )), "CC/*", A2:INDEX(A:A, MATCH("zzz",B:B )))

我可能错过了一些东西,但这不能通过简单地使用开放范围来实现吗

=sumif(B2:B, "CC/*", A2:A)

你的代码返回3给我
现在我想使范围动态化。
你这是什么意思?他的意思是,如果添加新的原始数据,总和将考虑到这一点萨拉,你是对的。我写了上面的表格作为例子,我应该运行它来验证它是否模拟了我的实际情况。我会尝试下面的建议。肯定比使用volatile Offset好。你能解释一下volatile Offset是什么意思吗?我是公式界的新手。我尝试过:INDEX()语法,但Google Sheets无法识别它,这在Google Sheets中不受支持吗?a)尝试搜索excel volatile公式;您将直接从搜索结果中获得答案。b) 这就是当你把标签和你的问题混在一起时会发生的事情。我在回答一个问题;似乎你想要一个谷歌电子表格的答案。谢谢你。我刚刚读了一篇关于它的好文章。那么,你知道谷歌表单的替代方案是什么吗?它们确实有一个
INDEX()
functionvoid偏移量。它是不稳定的,在任何值更改时都会导致整个文件重新计算。这可能会导致工作簿速度变慢。我想是的,你进入兔子洞,很难找到明显的解决办法。但最初,我在列的底部有总和。后来我把它们移到了右边。