我正在学习在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"}))))

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

#1楼 票数:4 已采纳

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

但它不会起作用。

是的,您可以使用范围语法SUMIF((A1,C1,E1,G1),...)命名范围(选择单元格然后插入 - >范围 - >定义), UNION()函数创建一个双连续范围,或INDIRECT() ,但它们都不起作用,因为SUMIF()不支持不连续范围。

所以你必须作弊。 你之前已经问过你的问题,正如我通过谷歌搜索“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)

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

  ask by Lambo translate from so

未解决问题?本站智能推荐:

1回复

VBA中的Sumif函数以及如何在公式中使用动态范围

我通过excel vba尝试了sumif函数,但出现了“ #value”错误。 你能建议我哪里错了吗
1回复

如何在sumif中使用数组公式而不必“”特定文本

我当前使用的公式是= SUM(SUMIFS(Sheet2!E:E,Sheet2!$ B:$ B,A19,Sheet2!$ A:$ A,{“ 704”,“ 213”})) 这是sumif函数内部的数组。 但是对于最后一部分{“ 704”,“ 213”},我想引用单元格引用而不是文本字符串。
1回复

将SumIf函数与范围对象或数组一起使用

我正在尝试优化使用Excel的sumif函数的子项,因为它需要花费一些时间才能完成。 特定行(包含在for循环中)是这一行: 范围在工作簿中称为范围,而Arr_FecFlujos()是日期数组 那样,代码可以正常工作,除了需要花费大量时间才能完成。 我正在尝试这两种方法
1回复

如何在VBA中使用不同的工作表和变量来定义VLOOKUP中的范围?

做一个VLOOKUP函数,我在同一工作簿中使用sheet1的1列和工作表“ Files”的2列。 我在定义工作表“文件”的范围时遇到问题: 问题出现在currentsheet.Cells(Dept_Row, Dept_Clm).FormulaR1C1 = "=VLOOKUP(RC[-4
1回复

在VBA中的SUMIF函数中使用通配符

我有两个工作表Sheet1和Sheet2。 在Sheet1上,我有一个需要填充库存水平(东列)的ItemNumber列表。 我必须从Sheet2的East列中提取信息。 如果sheet2上的ItemNumber列包含sheet1中ItemNumber字符串的值,则将Sheet1上East的
2回复

在Excel中使用公式SUMIF()和WHEN()

我为以下情况在Excel中尝试了一个公式。 在第一行中,我是从一月到三月的月份。 与月份对应的所有值都在第二行中。 我想总结这些价值。 例如,一月份的值将为30。 我明白了这个公式: =WENN(A1:J1;SUMMEWENN(A1:J1;MONAT(1);A2:J2)) 。 我
1回复

如何在Excel VBA中通过更改每行的条件和求和范围来编写sumif

我是VBA的新手,我试图在D列的每一行中编写一个sumif函数,但将更改条件和每一行的列总和范围,直到criteria列的最后一个值。 例如:从第4行开始,第一个总和与标准范围将是4:4,第二个将是4:5,第三个是4:6,依此类推。 我希望答案看起来像下面的示例,但对于A列中带有“
1回复

是否可以使用不连续的命名范围填充列表框?

我有一个单列列表框,我想用一个工作表上的表名来填充。 我已经按住Ctrl键单击了所有名称并将其命名,但是当我在用户窗体的属性表中输入范围名称时,它们不会显示。 我做错了什么? 我还要指出,我想避免在另一个工作表上创建单独的列表。 有趣的是,当您复制非连续数据并将其粘贴时,它会连续