Excel 间隔中的行和列的SUMIF
我试图在excel中编写一个公式,根据一些标准从表中获取值。表如下所示:Excel 间隔中的行和列的SUMIF,excel,vba,excel-formula,Excel,Vba,Excel Formula,我试图在excel中编写一个公式,根据一些标准从表中获取值。表如下所示: +------------+----+----+----+-----+----+----+----+----+ | Month/Hour | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | +------------+----+----+----+-----+----+----+----+----+ | 1 | 93 | 21 | 32 | 42 | 55 | 30 |
+------------+----+----+----+-----+----+----+----+----+
| Month/Hour | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
+------------+----+----+----+-----+----+----+----+----+
| 1 | 93 | 21 | 32 | 42 | 55 | 30 | 98 | 97 |
| 2 | 41 | 73 | 25 | 58 | 48 | 10 | 19 | 20 |
| 3 | 87 | 17 | 92 | 100 | 9 | 31 | 22 | 22 |
| 4 | 92 | 91 | 63 | 28 | 95 | 58 | 55 | 47 |
| 5 | 56 | 34 | 69 | 60 | 87 | 64 | 40 | 53 |
| 6 | 8 | 64 | 92 | 30 | 48 | 27 | 52 | 65 |
| 7 | 77 | 6 | 27 | 45 | 29 | 91 | 24 | 90 |
| 8 | 13 | 14 | 31 | 10 | 40 | 49 | 22 | 57 |
| 9 | 70 | 16 | 55 | 95 | 85 | 41 | 65 | 17 |
| 10 | 72 | 79 | 81 | 48 | 13 | 40 | 99 | 52 |
| 11 | 76 | 88 | 80 | 45 | 97 | 68 | 64 | 62 |
| 12 | 73 | 82 | 97 | 74 | 93 | 7 | 6 | 71 |
+------------+----+----+----+-----+----+----+----+----+
在第一列中,我们有月份(1-1月、2-2月等),在第一行中,我们有从1到8的小时数
现在我需要一个公式,在几个月内,将小时的值求和,在剩下的几个月内(1-2,9-12),将小时的值求和。我尝试过使用Sumifs公式,但它似乎一次只适用于一列
如果使用公式不可行,则我有一些VBA知识,也欢迎使用此类解决方案。列出您的月份和小时数,然后在SUMPRODUCT中使用MATCH:
=SUMPRODUCT(B2:I13,ISNUMBER(MATCH(B1:I1,M:M,0))*ISNUMBER(MATCH(A2:A13,L:L,0)))
所需的月份和小时都不需要连续。假设月份在
A2:A13
中,小时在B1:I1
中,则可以使用此公式
=SUMPRODUCT(ISNUMBER(匹配(A2:A13,{3,8},0)*匹配(B1:I1,{2,6},0))+0,B2:I13)
根据需要对任何月/小时的组合进行更改您可以只留下一条评论,说明您为什么要投反对票,而不是仅仅投反对票。这不是很有帮助。Sumifs根据多列的值只对一列求和,因此,例如,如果A列中的值为2,B列中的值为5,则对D列求和。我认为您应该尝试一下IF和SUM的组合,它可以根据IF语句对不同的列进行求和。当您的条件基于匹配值时,我已经看到了解决方案。然后可以使用求和和和索引函数。不幸的是,在我的情况下,我同时有大于和小于的条件,我尝试过的所有事情都不起作用。无论如何,感谢您的输入@roosz0rd请阅读@Retterdesdialogs^^^此处^^。还有,还有。这个问题是世界上所有错误的完美例子。“我需要XYZ,有人能把它放在银盘上送给我吗?”这就是它的由来。这不是这个网站的目的。或者我和BarryHoudini的混合物:
=SUMPRODUCT(B2:I13,--(ISNUMBER(匹配(B1:I1,M:M,0)*匹配(A2:A13,L:L,0)))
@BarryHoudini终于得到了一个我没有想得太多的,和你的相似的。我的生命是完整的……:)