Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.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
If statement sumproduct如果单元格包含某个值,则给出所有结果,否则仅给出指定的结果_If Statement_Excel Formula_Sumproduct - Fatal编程技术网

If statement sumproduct如果单元格包含某个值,则给出所有结果,否则仅给出指定的结果

If statement sumproduct如果单元格包含某个值,则给出所有结果,否则仅给出指定的结果,if-statement,excel-formula,sumproduct,If Statement,Excel Formula,Sumproduct,我的问题是,我需要引用一个单元格(A1),它要么是可以在列L中找到的状态的名称,要么是“所有状态”,然后我想包含列L的所有结果。我不知道如何包含它 =SUMPRODUCT(--(IF(A1="All States",Data!$L:$L,Data!$L:$L=A1)),Data!Q:Q) 我想在上面的基础上添加更多的标准,所以我不想在if函数中嵌入sumproduct,因为公式很快就会变得太不合适。您有很多选择。使用你的初始公式,我会调整它 (A) =SUMPRODUCT((IF($A$1=

我的问题是,我需要引用一个单元格(A1),它要么是可以在列L中找到的状态的名称,要么是“所有状态”,然后我想包含列L的所有结果。我不知道如何包含它

=SUMPRODUCT(--(IF(A1="All States",Data!$L:$L,Data!$L:$L=A1)),Data!Q:Q)

我想在上面的基础上添加更多的标准,所以我不想在if函数中嵌入sumproduct,因为公式很快就会变得太不合适。

您有很多选择。使用你的初始公式,我会调整它

(A)  =SUMPRODUCT((IF($A$1="All States",1,($L$2:$L$11=$A$1)))*($Q$2:$Q$11))  
但这需要作为数组公式输入,因此您需要CONTROL+SHIFT+ENTER,而不仅仅是用ENTER确认。当{}出现在你的公式中时,你就会知道你做对了。请注意,它们不能手动添加

一个非数组类型的公式,我相信会更快,看看你的两个选择。您处理的不是单个状态,就是所有状态。设置
IF
检查,以确定是否需要对所有列Q求和,或者是否需要从列Q中找到单个值。我使用了以下公式:

(B)  =IF(A1="all states",SUM($Q$2:$Q$11),INDEX($Q$2:$Q$11,MATCH($A$1,$L$2:$L$11,0)))
(C)  =SUMPRODUCT(($L$2:$L$12=$A$1)*($Q$2:$Q$12))
有点欺骗,但简化了事情,就是在列表底部添加一个最终状态,用L表示,调用为“所有状态”。在Q位置的相应行中
=总和(第一个单元格:最后一个单元格)
。如果这样做,则可以使用以下公式:

(B)  =IF(A1="all states",SUM($Q$2:$Q$11),INDEX($Q$2:$Q$11,MATCH($A$1,$L$2:$L$11,0)))
(C)  =SUMPRODUCT(($L$2:$L$12=$A$1)*($Q$2:$Q$12))
还有其他的选择,我只是想展示一些选择


在此处提供示例记录将有助于人们回答您的问题。基本上,您试图从Q列或Q列中的某些列中获取相应的值。是否可以将a状态转换为列L中的所有状态,并在列Q中使用上述所有单元格的总和?