如何在SUMIF中使用不连续范围

我正在学习在Excel中使用SUMIF。 通常在这个公式的第一个参数是一个连续的范围(像这样的A1:F1)。 但现在我真的需要select这样的:A1,C1,E1由于数据集格式。 我可以在Excel中做这样的事吗? 甚至VBA。 我也尝试使用INDIRECT,但它只允许我填写一行。 如果我进行自动填充,行号将不会更改。 这是我使用的公式:

SUM((SUMIF(INDIRECT({"A1","C1","E1","G1","I1","K1","M1","O1","Q1","S1"}),"<"&V1,INDIRECT({"B1","D1","F1","H1","J1","L1","N1","P1","R1","T1"})))) 

任何人都知道如何做到这一点整个专栏? 提前致谢!!!

聪明的想法使用不连续范围(也称为多区域范围)。

但它不会工作。

是的,您可以使用范围句法SUMIF((A1,C1,E1,G1),...)创build一个连续范围的命名范围(select单元格,然后插入 – >范围 – >定义), UNION()函数,或者INDIRECT() ,但是它们都不会工作,因为SUMIF()不支持不连续的范围。

所以你必须作弊。 您的问题之前已经被问过了,正如我通过Googlesearch“sumif discontinuous”所发现的:

http://www.mrexcel.com/forum/excel-questions/226429-sumif-discontinuous-cells.html

调整Oaktree的答案,我们得到:

 =SUMPRODUCT(--(MOD(COLUMN($A1:$S1),2)=1),--($A1:$S1>V1),$B1:$T1) 

它是如何工作的? 它创build三个列表,并查找每个列表中每个元素的值,然后将它们相乘。 第一个参数是奇数列为1,偶数列为0。 如果第二个参数大于V1,则为1;否则为0.第三个参数为1列以上的值。