Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/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
Excel-使用SUMIFS(或)使用单独单元格中输入的标准_Excel_Excel Formula - Fatal编程技术网

Excel-使用SUMIFS(或)使用单独单元格中输入的标准

Excel-使用SUMIFS(或)使用单独单元格中输入的标准,excel,excel-formula,Excel,Excel Formula,我对SUMIFS公式有一个非常具体的问题,我肯定有一个解决方案,也就是说我没有找到它 本质上,=SUM(SUMIFS(A:A;B:B;{3;4}))的结果就是我想要的结果,但是,我希望“{3;4}”是动态的,可以通过另一个工作表中的单元格进行更改(仪表板用途) 如果我写=SUM(SUMIFS(A:A;B:B;C1))其中C1=“{”&3;4&“}”或C1{=3;4}(使用ctrl+shift+enter),我不会得到相同的结果 我尝试的任何东西都被SUMIFS视为文本或数字组合,但不是数组标准

我对SUMIFS公式有一个非常具体的问题,我肯定有一个解决方案,也就是说我没有找到它

本质上,
=SUM(SUMIFS(A:A;B:B;{3;4}))
的结果就是我想要的结果,但是,我希望“{3;4}”是动态的,可以通过另一个工作表中的单元格进行更改(仪表板用途)

如果我写
=SUM(SUMIFS(A:A;B:B;C1))
其中
C1=“{”&3;4&“}”
C1{=3;4}
(使用ctrl+shift+enter),我不会得到相同的结果

我尝试的任何东西都被SUMIFS视为文本或数字组合,但不是数组标准


有什么想法吗?:)

如有疑问,请添加帮助器列!(个人偏好,但除非绝对必要,否则我尽量远离数组计算)。也许试试下面的

表1 …有一个名为
helper
的助手数组,其中包含可接受的输入,如下所示:

+------+
|  ok  |
+------+
| 1    |
| blah |
+------+

…其中,表1中的“helper”列的公式为
=COUNTIFS(helper[ok],@B])>0
。您的目标
sumifs()
公式将如下所示:
=sumifs(Table1[A],Table1[helper],TRUE)
。希望这有帮助,祝你好运

我试过写一个公式,也许可以:

=SUM(SUMIFS(A:A;B:B;值(c1);B:B;值(c2)))


写入value函数会将单元格引用强制为一个数字,我不清楚您是否希望条件是一个非此即彼(已写入的内容)或是否要查找一个以及(
=sum(sumifs(a:a;BB;value(c1))+sumifs(a:a;B:B:value(c2))
),但如果您想要中间函数(
=sum(sumifs(a:a;BB;value(c2))

注意,另一个选项是在
C1
中输入
3
,在
C2
中输入
4
,然后使用
{=SUM(SUMIFS(A:A,B:B,C1:C2))
(使用
Ctrl
Shift
Enter
确认。但这可能不适合您尝试创建的“仪表板”的需要。有趣的评论Brendan,我非常感谢,谢谢!不过,我仍然认为应该有一个特定的解决方案,不需要解决,因为这个问题似乎相当基本。我不这么认为不同意,但我们正在处理Excel…
INDIRECT()
是您可能知道的另一个选项,但我也无法让它工作。a)如果您将
={3,4}
放在一个单元格中,然后点击CSE,您将得到一个具有二维值数组(1×2)的单元格。通过选择C1:D1,键入
={3,4}进行验证
并点击CSE.b)如果你在一个单元格中放入=TRANSPOSE({3,4})`并点击CSE,你将得到一个包含2D数组(2×1)的单元格。通过选择C1:C2,键入
=TRANSPOSE({3,4})
并点击CSE.c)来证明我不清楚所有单元格引用技巧的目的是什么,当你可以将值键入C1、C2等时。这似乎不是一个智力练习,因为有人提到了一个超级秘密的最终目的。我刚刚被“截获”!感谢你的输入!请记住,我已经尝试了a)和b)与Sumifs(“a”实际上是问题本身)。没有什么超级秘密,只是为了方便我构建excel表格的方式。:)谢谢你的努力,彼得!解决方案是一种变通办法,与布伦丹所说的非常相似。助手数组的输入将通过单独的单元格填充。此外,对于数据量,在每个数据值旁边添加一个额外的公式也不是一个好主意(特别是因为我已经在其他复杂情况下使用类似的技术…)。无论如何,谢谢你抽出时间:)!如果我误解了这个问题,我道歉。OP声明“我希望“{3;4}”是动态的,可以通过另一个工作表中的单元格进行更改”。助手数组就是那个动态输入。此外,数据表右侧的其他公式依赖项不应使工作簿速度过慢。您可以将工作簿设置为手动计算进行开发,并将其设置为自动进行部署。我鼓励您演示我或Brendan的解决方案并报告。Peter我认为您正确理解了问题。:)我理解您的解决方案,但是,正如我在前面的评论中所说的,这个输入涉及多个单元格。在部署中,这个方法会太慢,我已经测试过了。无论如何谢谢你!
+------+
|  ok  |
+------+
| 1    |
| blah |
+------+