我正在学习在Excel中使用SUMIF。通常在这个公式的第一个参数是连续范围(类似于这个A1:F1)。但现在我真的需要选择这样的东西: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"}))))
任何人都知道如何为整个列做到这一点?在此先感谢!!!
答案 0 :(得分:3)
巧妙地使用不连续范围(也称为多区域范围)。
但它不会起作用。
是的,您可以使用范围语法SUMIF((A1,C1,E1,G1),...)
创建一个双连续范围,命名范围(选择单元格然后插入 - >范围 - >定义),UNION()
函数或{{ 1}},但它们都不起作用,因为INDIRECT()
不支持不连续范围。
所以你必须作弊。你之前已经问过你的问题,正如我通过谷歌搜索所发现的那样#sumif不连续&#34;:
http://www.mrexcel.com/forum/excel-questions/226429-sumif-discontinuous-cells.html
根据Oaktree的回答我们得到:
SUMIF()
它是如何工作的?它创建三个列表,并在每个列表中查找每个元素的值,然后将它们相乘。奇数列的第一个参数是1,偶数列的第一个参数是0。如果第二个参数大于V1,则为1;否则为0.第三个参数是一列的值。